基于ARM9內核的軟硬件平臺設計
嵌入式應用系統設計包括硬件平臺和軟件平臺兩部分。前者是以嵌入式微控制器/微處理器為核心的硬件系統;后者則是圍繞嵌入式操作系統構建的軟件系統。兩者在設計上是密不可分的,并且需要在設計之間進行權衡優化,根據實際應用進行外擴和裁剪。
本文引用地址:http://www.j9360.com/article/255836.htm基于ARM926EJS內核的LPC3180內部集成了豐富的外設資源,為嵌入式系統構建提供了很大的設計空間。本文結合筆者開發LPC3180嵌入式平臺的實際經驗,將具體介紹該系統的實現、結構組成和實驗結果。
1 LPC3180芯片特性介紹
LPC3180 是Philips公司新推出的一款ARM9微控制器。它采用90nm工藝技術,片內集成ARM9EJS處理器內核,具有高計算性能、低功耗的特性,這使得在很多對功耗敏感的嵌入式應用場合中仍能使用高性能的ARM9微控制器。LPC3180內核正常工作電壓為1.2V,在低功耗模式下可降至0.9 V;同時,LPC3180作為一款新型的32位微控制器,其新特性還包括:
◆ 片內集成向量浮點(VFP)協處理器。LPC3180的浮點運算單元有3條獨立的流水線,支持并行單精度或雙精度浮點加/減、乘/除以及乘累積運算,完全兼容IEEE754標準,適用于高速浮點運算場合。
◆ 片內集成USB OTG控制模塊,同時支持與便攜USB主設備或USB外設相連,可用于與PDA、讀卡器和打印機等設備直接相連,而無需PC機介入。
◆ LPC3180采用多層的AHB總線系統,為各個主模塊提供獨立的總線,包括CPU的指令總線和數據總線、2套DMA控制器數據總線以及1套USB控制器數據總線。
LPC3180的內部架構如圖1所示。

圖1 LPC3180內部架構
LPC3180的其他特性包括: 內部集成MLC/SLCNAND控制器、SDR/DDR SDRAM控制器、SD卡接口,UART、SPI、I2C外圍通信模塊,以及高速/毫秒定時器、RTC、看門狗定時器、10位ADC等其他功能模塊。
2 硬件平臺設計
以LPC3180為核心的硬件平臺設計框架如圖2所示。

圖2 LPC3180硬件平臺設計框圖
(1) 存儲器系統
NAND Flash存儲器。通過LPC3180內部集成的MLC/SLC NAND控制器直接外接多級或單級NAND Flash器件。本系統選用ST NAND256R3A,其32 MB存儲空間可滿足存放系統引導程序、嵌入式操作系統內核和文件系統的大小要求。
SDRAM存儲器。系統選用2片16位MICRON SDRAM,并聯構建32位SDRAM存儲器系統。32 MB SDRAM空間,可滿足嵌入式操作系統以及上層應用程序的運行要求。
SD卡插槽。系統通過LPC3180內部集成的SD卡接口,提供SD卡插槽,可用于SD存儲卡外擴,作為外部存儲空間。
(2) 外圍通信接口
UART接口。LPC3180內部集成了標準UART模塊和高速UART模塊,符合550工業標準。系統外擴了UART1/7、UART2和UART5,用于實現基本的串行通信功能;同時,UART5可用于系統啟動時的外部程序下載。
USB接口。LPC3180內部集成了USB host、USB device以及USB OTG控制器,通過外部USB收發模塊Philips ISP1301外擴USB host接口A、USB device接口B以及USB OTG接口AB。
(3) 其他外圍模塊
系統通過I2C接口外擴了一個簡易的字符型LCD顯示模塊,用于應用程序運行結果顯示;同時,為了簡化硬件系統設計,系統的以太網模塊通過USB host接口A以軟件方式實現外擴。
3 系統關鍵模塊設計
3.1 NAND Flash存儲器模塊
LPC3180 內部集成了MLC/SLC NAND控制器,通過外部引腳可直接外接多級或單級NAND Flash器件,如圖3所示。需要注意的是MLC和 SLC NAND控制器通過引腳復用,使用相同的接口與NAND Flash相連,且同一時刻只允許開啟其中一個控制器,因此在系統上電后必須通過配置 FLASH_CTRL寄存器選擇要使用的NAND控制器。在閑置狀態時,也可通過寫寄存器關閉NAND控制器,以降低功耗。NAND Flash存儲器模塊是整個系統主要的靜態數據存儲空間,用于存儲系統啟動過程中的加載程序,因此在LPC3180系統設計中是必不可少的。

圖3 NAND Flash接口連接圖
3.2 USB接口模塊
LPC3180 內部集成USB控制模塊,但不包括USB物理層,系統通過外接USB收發模塊ISP1301實現USB的物理層接口。圖4是USB接口連接圖。 LPC3180內部通過AHB從設備總線配置USB控制器,可工作在全速(12 Mb/s)和低速(1.5 Mb/s)兩種模式下。

圖4 USB接口連接圖
4 軟件系統設計
軟件系統組成包括系統引導程序Bootloader,嵌入式操作系統以及上層應用程序。其中Bootloader是運行于操作系統之前的引導程序,主要任務是完成系統啟動之前必要的硬件初始化和操作系統加載;操作系統是整個嵌入式平臺的核心程序,主要功能是高效地管理和分配底層硬件資源,并為上層應用程序提供與硬件細節無關的系統調用接口。
軟件系統設計必須與硬件平臺緊密結合。LPC3180采用NAND Flash作為整個系統的程序存儲區域,在系統啟動時通過片上ROM的bootstrap程序,從NAND Flash加載并執行外部引導程序來實現整個系統的啟動步驟。因此,整個軟件系統采取了圖5所示的設計結構。

圖5 軟件系統結構框圖
(1) 系統引導程序Bootloader
由于啟動過程首先從片內的bootstrap程序開始,因此系統采取二級Bootloader設計,包括第一級Sibl和第二級Uboot。
存儲器相關文章:存儲器原理
評論