基于ARM9內(nèi)核的軟硬件平臺(tái)設(shè)計(jì)
嵌入式應(yīng)用系統(tǒng)設(shè)計(jì)包括硬件平臺(tái)和軟件平臺(tái)兩部分。前者是以嵌入式微控制器/微處理器為核心的硬件系統(tǒng);后者則是圍繞嵌入式操作系統(tǒng)構(gòu)建的軟件系統(tǒng)。兩者在設(shè)計(jì)上是密不可分的,并且需要在設(shè)計(jì)之間進(jìn)行權(quán)衡優(yōu)化,根據(jù)實(shí)際應(yīng)用進(jìn)行外擴(kuò)和裁剪。
本文引用地址:http://butianyuan.cn/article/255836.htm基于ARM926EJS內(nèi)核的LPC3180內(nèi)部集成了豐富的外設(shè)資源,為嵌入式系統(tǒng)構(gòu)建提供了很大的設(shè)計(jì)空間。本文結(jié)合筆者開(kāi)發(fā)LPC3180嵌入式平臺(tái)的實(shí)際經(jīng)驗(yàn),將具體介紹該系統(tǒng)的實(shí)現(xiàn)、結(jié)構(gòu)組成和實(shí)驗(yàn)結(jié)果。
1 LPC3180芯片特性介紹
LPC3180 是Philips公司新推出的一款ARM9微控制器。它采用90nm工藝技術(shù),片內(nèi)集成ARM9EJS處理器內(nèi)核,具有高計(jì)算性能、低功耗的特性,這使得在很多對(duì)功耗敏感的嵌入式應(yīng)用場(chǎng)合中仍能使用高性能的ARM9微控制器。LPC3180內(nèi)核正常工作電壓為1.2V,在低功耗模式下可降至0.9 V;同時(shí),LPC3180作為一款新型的32位微控制器,其新特性還包括:
◆ 片內(nèi)集成向量浮點(diǎn)(VFP)協(xié)處理器。LPC3180的浮點(diǎn)運(yùn)算單元有3條獨(dú)立的流水線,支持并行單精度或雙精度浮點(diǎn)加/減、乘/除以及乘累積運(yùn)算,完全兼容IEEE754標(biāo)準(zhǔn),適用于高速浮點(diǎn)運(yùn)算場(chǎng)合。
◆ 片內(nèi)集成USB OTG控制模塊,同時(shí)支持與便攜USB主設(shè)備或USB外設(shè)相連,可用于與PDA、讀卡器和打印機(jī)等設(shè)備直接相連,而無(wú)需PC機(jī)介入。
◆ LPC3180采用多層的AHB總線系統(tǒng),為各個(gè)主模塊提供獨(dú)立的總線,包括CPU的指令總線和數(shù)據(jù)總線、2套DMA控制器數(shù)據(jù)總線以及1套USB控制器數(shù)據(jù)總線。
LPC3180的內(nèi)部架構(gòu)如圖1所示。
圖1 LPC3180內(nèi)部架構(gòu)
LPC3180的其他特性包括: 內(nèi)部集成MLC/SLCNAND控制器、SDR/DDR SDRAM控制器、SD卡接口,UART、SPI、I2C外圍通信模塊,以及高速/毫秒定時(shí)器、RTC、看門狗定時(shí)器、10位ADC等其他功能模塊。
2 硬件平臺(tái)設(shè)計(jì)
以LPC3180為核心的硬件平臺(tái)設(shè)計(jì)框架如圖2所示。
圖2 LPC3180硬件平臺(tái)設(shè)計(jì)框圖
(1) 存儲(chǔ)器系統(tǒng)
NAND Flash存儲(chǔ)器。通過(guò)LPC3180內(nèi)部集成的MLC/SLC NAND控制器直接外接多級(jí)或單級(jí)NAND Flash器件。本系統(tǒng)選用ST NAND256R3A,其32 MB存儲(chǔ)空間可滿足存放系統(tǒng)引導(dǎo)程序、嵌入式操作系統(tǒng)內(nèi)核和文件系統(tǒng)的大小要求。
SDRAM存儲(chǔ)器。系統(tǒng)選用2片16位MICRON SDRAM,并聯(lián)構(gòu)建32位SDRAM存儲(chǔ)器系統(tǒng)。32 MB SDRAM空間,可滿足嵌入式操作系統(tǒng)以及上層應(yīng)用程序的運(yùn)行要求。
SD卡插槽。系統(tǒng)通過(guò)LPC3180內(nèi)部集成的SD卡接口,提供SD卡插槽,可用于SD存儲(chǔ)卡外擴(kuò),作為外部存儲(chǔ)空間。
(2) 外圍通信接口
UART接口。LPC3180內(nèi)部集成了標(biāo)準(zhǔn)UART模塊和高速UART模塊,符合550工業(yè)標(biāo)準(zhǔn)。系統(tǒng)外擴(kuò)了UART1/7、UART2和UART5,用于實(shí)現(xiàn)基本的串行通信功能;同時(shí),UART5可用于系統(tǒng)啟動(dòng)時(shí)的外部程序下載。
USB接口。LPC3180內(nèi)部集成了USB host、USB device以及USB OTG控制器,通過(guò)外部USB收發(fā)模塊Philips ISP1301外擴(kuò)USB host接口A、USB device接口B以及USB OTG接口AB。
(3) 其他外圍模塊
系統(tǒng)通過(guò)I2C接口外擴(kuò)了一個(gè)簡(jiǎn)易的字符型LCD顯示模塊,用于應(yīng)用程序運(yùn)行結(jié)果顯示;同時(shí),為了簡(jiǎn)化硬件系統(tǒng)設(shè)計(jì),系統(tǒng)的以太網(wǎng)模塊通過(guò)USB host接口A以軟件方式實(shí)現(xiàn)外擴(kuò)。
3 系統(tǒng)關(guān)鍵模塊設(shè)計(jì)
3.1 NAND Flash存儲(chǔ)器模塊
LPC3180 內(nèi)部集成了MLC/SLC NAND控制器,通過(guò)外部引腳可直接外接多級(jí)或單級(jí)NAND Flash器件,如圖3所示。需要注意的是MLC和 SLC NAND控制器通過(guò)引腳復(fù)用,使用相同的接口與NAND Flash相連,且同一時(shí)刻只允許開(kāi)啟其中一個(gè)控制器,因此在系統(tǒng)上電后必須通過(guò)配置 FLASH_CTRL寄存器選擇要使用的NAND控制器。在閑置狀態(tài)時(shí),也可通過(guò)寫寄存器關(guān)閉NAND控制器,以降低功耗。NAND Flash存儲(chǔ)器模塊是整個(gè)系統(tǒng)主要的靜態(tài)數(shù)據(jù)存儲(chǔ)空間,用于存儲(chǔ)系統(tǒng)啟動(dòng)過(guò)程中的加載程序,因此在LPC3180系統(tǒng)設(shè)計(jì)中是必不可少的。
圖3 NAND Flash接口連接圖
3.2 USB接口模塊
LPC3180 內(nèi)部集成USB控制模塊,但不包括USB物理層,系統(tǒng)通過(guò)外接USB收發(fā)模塊ISP1301實(shí)現(xiàn)USB的物理層接口。圖4是USB接口連接圖。 LPC3180內(nèi)部通過(guò)AHB從設(shè)備總線配置USB控制器,可工作在全速(12 Mb/s)和低速(1.5 Mb/s)兩種模式下。
圖4 USB接口連接圖
4 軟件系統(tǒng)設(shè)計(jì)
軟件系統(tǒng)組成包括系統(tǒng)引導(dǎo)程序Bootloader,嵌入式操作系統(tǒng)以及上層應(yīng)用程序。其中Bootloader是運(yùn)行于操作系統(tǒng)之前的引導(dǎo)程序,主要任務(wù)是完成系統(tǒng)啟動(dòng)之前必要的硬件初始化和操作系統(tǒng)加載;操作系統(tǒng)是整個(gè)嵌入式平臺(tái)的核心程序,主要功能是高效地管理和分配底層硬件資源,并為上層應(yīng)用程序提供與硬件細(xì)節(jié)無(wú)關(guān)的系統(tǒng)調(diào)用接口。
軟件系統(tǒng)設(shè)計(jì)必須與硬件平臺(tái)緊密結(jié)合。LPC3180采用NAND Flash作為整個(gè)系統(tǒng)的程序存儲(chǔ)區(qū)域,在系統(tǒng)啟動(dòng)時(shí)通過(guò)片上ROM的bootstrap程序,從NAND Flash加載并執(zhí)行外部引導(dǎo)程序來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng)的啟動(dòng)步驟。因此,整個(gè)軟件系統(tǒng)采取了圖5所示的設(shè)計(jì)結(jié)構(gòu)。
圖5 軟件系統(tǒng)結(jié)構(gòu)框圖
(1) 系統(tǒng)引導(dǎo)程序Bootloader
由于啟動(dòng)過(guò)程首先從片內(nèi)的bootstrap程序開(kāi)始,因此系統(tǒng)采取二級(jí)Bootloader設(shè)計(jì),包括第一級(jí)Sibl和第二級(jí)Uboot。
存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
評(píng)論