《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > ARM9微控制器的軟硬件平臺設(shè)計
ARM9微控制器的軟硬件平臺設(shè)計
摘要: 介紹以Philips LPC3180微控制器為核心的嵌入式軟硬件平臺設(shè)計;對系統(tǒng)設(shè)計的硬件部分和軟件部分進行詳細的分析,并針對LPC3180芯片特性著重討論了其軟件系統(tǒng)構(gòu)建以及系統(tǒng)啟動流程。實驗結(jié)果表明,LPC3180嵌入式系統(tǒng)平臺結(jié)合片內(nèi)硬件浮點運算單元,具有高性能的浮點運算處理能力,可滿足復(fù)雜的嵌入式應(yīng)用場合的要求。
Abstract:
Key words :

       嵌入式應(yīng)用系統(tǒng)設(shè)計包括硬件平臺和軟件平臺兩部分。前者是以嵌入式微控制器/微處理器為核心的硬件系統(tǒng);后者則是圍繞嵌入式操作系統(tǒng)構(gòu)建的軟件系統(tǒng)。兩者在設(shè)計上是密不可分的,并且需要在設(shè)計之間進行權(quán)衡優(yōu)化,根據(jù)實際應(yīng)用進行外擴和裁剪。       

       基于ARM926EJS內(nèi)核的LPC3180內(nèi)部集成了豐富的外設(shè)資源,為嵌入式系統(tǒng)構(gòu)建提供了很大的設(shè)計空間。本文結(jié)合筆者開發(fā)LPC3180嵌入式平臺的實際經(jīng)驗,將具體介紹該系統(tǒng)的實現(xiàn)、結(jié)構(gòu)組成和實驗結(jié)果。       

       1  LPC3180芯片特性介紹      
       LPC3180是Philips公司新推出的一款A(yù)RM9微控制器。它采用90nm工藝技術(shù),片內(nèi)集成ARM9EJS處理器內(nèi)核,具有高計算性能、低功耗的特性,這使得在很多對功耗敏感的嵌入式應(yīng)用場合中仍能使用高性能的ARM9微控制器。LPC3180內(nèi)核正常工作電壓為1.2V,在低功耗模式下可降至 0.9 V;同時,LPC3180作為一款新型的32位微控制器,其新特性還包括: 

       ◆  片內(nèi)集成向量浮點(VFP)協(xié)處理器。LPC3180的浮點運算單元有3條獨立的流水線,支持并行單精度或雙精度浮點加/減、乘/除以及乘累積運算,完全兼容IEEE754標準,適用于高速浮點運算場合。 

       ◆ 片內(nèi)集成USB OTG控制模塊,同時支持與便攜USB主設(shè)備或USB外設(shè)相連,可用于與PDA、讀卡器和打印機等設(shè)備直接相連,而無需PC機介入。 

       ◆ LPC3180采用多層的AHB總線系統(tǒng),為各個主模塊提供獨立的總線,包括CPU的指令總線和數(shù)據(jù)總線、2套DMA控制器數(shù)據(jù)總線以及1套USB控制器數(shù)據(jù)總線。             

       LPC3180的內(nèi)部架構(gòu)如圖1所示。              

LPC3180內(nèi)部架構(gòu)

                                                                 圖1  LPC3180內(nèi)部架構(gòu)

       LPC3180的其他特性包括: 內(nèi)部集成MLC/SLCNAND控制器、SDR/DDR SDRAM控制器、SD 卡接口,UART、SPI、I2C外圍通信模塊,以及高速/毫秒定時器、RTC、看門狗定時器、10位ADC等其他功能模塊。       

       2  硬件平臺設(shè)計      

          以LPC3180為核心的硬件平臺設(shè)計框架如圖2所示。         

LPC3180硬件平臺設(shè)計框圖

                                                       圖2  LPC3180硬件平臺設(shè)計框圖

       (1) 存儲器系統(tǒng) 

       NAND Flash存儲器。通過LPC3180內(nèi)部集成的MLC/SLC NAND控制器直接外接多級或單級 NAND Flash器件。本系統(tǒng)選用ST NAND256R3A,其32 MB存儲空間可滿足存放系統(tǒng)引導(dǎo)程序、嵌入式操作系統(tǒng)內(nèi)核和文件系統(tǒng)的大小要求。 

       SDRAM存儲器。系統(tǒng)選用2片16位MICRON SDRAM,并聯(lián)構(gòu)建32位SDRAM存儲器系統(tǒng)。 32 MB SDRAM空間,可滿足嵌入式操作系統(tǒng)以及上層應(yīng)用程序的運行要求。         

       SD卡插槽。系統(tǒng)通過LPC3180內(nèi)部集成的SD卡接口,提供SD卡插槽,可用于SD存儲卡外擴,作為外部存儲空間。       

       (2)  外圍通信接口 

     
  UART接口。LPC3180內(nèi)部集成了標準UART模塊和高速UART模塊,符合550工業(yè)標準。系統(tǒng)外擴了UART1/7、UART2和UART5,用于實現(xiàn)基本的串行通信功能;同時,UART5可用于系統(tǒng)啟動時的外部程序下載。         

       USB接口。LPC3180內(nèi)部集成了USB host、USB device以及 USB OTG控制器,通過外部USB收發(fā)模塊Philips ISP1301外擴 USB host接口A、USB device接口B以及USB OTG接口 AB。       

       (3)  其他外圍模塊      

  
     系統(tǒng)通過I2C接口外擴了一個簡易的字符型LCD顯示模塊,用于應(yīng)用程序運行結(jié)果顯示;同時,為了簡化硬件系統(tǒng)設(shè)計,系統(tǒng)的以太網(wǎng)模塊通過 USB host接口A以軟件方式實現(xiàn)外擴。       

       3  系統(tǒng)關(guān)鍵模塊設(shè)計       

       3.1  NAND Flash存儲器模塊
     

     
  LPC3180內(nèi)部集成了MLC/SLC NAND控制器,通過外部引腳可直接外接多級或單級NAND Flash 器件,如圖3所示。需要注意的是MLC和SLC NAND控制器通過引腳復(fù)用,使用相同的接口與 NAND Flash相連,且同一時刻只允許開啟其中一個控制器,因此在系統(tǒng)上電后必須通過配置FLASH_CTRL寄存器選擇要使用的NAND控制器。在閑置狀態(tài)時,也可通過寫寄存器關(guān)閉NAND控制器,以降低功耗。NAND Flash存儲器模塊是整個系統(tǒng)主要的靜態(tài)數(shù)據(jù)存儲空間,用于存儲系統(tǒng)啟動過程中的加載程序,因此在LPC3180系統(tǒng)設(shè)計中是必不可少的。

 NAND Flash接口連接圖

                                                         圖3  NAND Flash接口連接圖       

       3.2  USB接口模塊     

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

USB接口連接圖

                                                              圖4  USB接口連接圖       

 


       4  軟件系統(tǒng)設(shè)計     

       軟件系統(tǒng)組成包括系統(tǒng)引導(dǎo)程序Bootloader,嵌入式操作系統(tǒng)以及上層應(yīng)用程序。其中Bootloader是運行于操作系統(tǒng)之前的引導(dǎo)程序,主要任務(wù)是完成系統(tǒng)啟動之前必要的硬件初始化和操作系統(tǒng)加載;操作系統(tǒng)是整個嵌入式平臺的核心程序,主要功能是高效地管理和分配底層硬件資源,并為上層應(yīng)用程序提供與硬件細節(jié)無關(guān)的系統(tǒng)調(diào)用接口。             

       軟件系統(tǒng)設(shè)計必須與硬件平臺緊密結(jié)合。LPC3180采用NAND Flash作為整個系統(tǒng)的程序存儲區(qū)域,在系統(tǒng)啟動時通過片上 ROM的bootstrap程序,從NAND Flash加載并執(zhí)行外部引導(dǎo)程序來實現(xiàn)整個系統(tǒng)的啟動步驟。因此,整個軟件系統(tǒng)采取了圖5所示的設(shè)計結(jié)構(gòu)。

 軟件系統(tǒng)結(jié)構(gòu)框圖

                                                    圖5  軟件系統(tǒng)結(jié)構(gòu)框圖                                                         

       (1)  系統(tǒng)引導(dǎo)程序 Bootloader     

      
由于啟動過程首先從片內(nèi)的bootstrap程序開始,因此系統(tǒng)采取二級Bootloader設(shè)計,包括第一級Sibl和第二級 Uboot。    

       其中Sibl是bootstrap加載并執(zhí)行的第一個引導(dǎo)程序,在程序大小上受到bootstrap加載的限制,因此設(shè)計上盡量做到了小型化和功能專一。它除了完成最基本的硬件初始化以外,主要功能是實現(xiàn)其他程序(包括Uboot)從NAND Flash的加載,完成下一級Bootloader運行之前的內(nèi)存地址空間分布。            

       第二級Bootloader采用功能強大的sourceforge開源軟件Uboot。Uboot的主要功能是完成嵌入式操作系統(tǒng)啟動前的底層硬件初始化,并為Linux內(nèi)核提供啟動參數(shù),最終引導(dǎo)操作系統(tǒng)Linux內(nèi)核啟動。另外,為了實現(xiàn)程序鏡像文件編程寫入 NAND Flash,Uboot嵌入了一個NAND子系統(tǒng),通過Uboot的用戶命令行實現(xiàn)對NAND Flash的讀/寫操作,可將程序鏡像寫入NAND Flash指定的地址空間。     


       (2)  嵌入式操作系統(tǒng)     

      
LPC3180內(nèi)部集成了ARM926EJS處理器內(nèi)核,帶存儲器管理單元MMU,支持多數(shù)主流嵌入式操作系統(tǒng)。系統(tǒng)通過編寫板級支持代碼,移植了 Linux2.6.10作為平臺操作系統(tǒng),利用穩(wěn)定的Linux2.6內(nèi)核實現(xiàn)任務(wù)調(diào)度、進程管理、內(nèi)存管理等功能,同時,針對Linux的可配置性,對內(nèi)核進行裁剪和硬件驅(qū)動代碼添加,系統(tǒng)實現(xiàn)了一個小型但功能強大的內(nèi)核程序,適應(yīng)了嵌入式系統(tǒng)存儲資源相對緊缺的狀況。     

       5  系統(tǒng)啟動流程分析   

      
由上面的軟件結(jié)構(gòu)組成分析可知,整個系統(tǒng)啟動流程分為3個步驟:        

       ①  系統(tǒng)上電后,首先從片上ROM固化的bootstrap程序執(zhí)行。bootstrap用于完成外部引導(dǎo)程序下載并跳入執(zhí)行。bootstrap運行過程首先讀輸入引腳GPIO_01。如果GPIO_01置為高,則從NAND Flash下載程序引導(dǎo)系統(tǒng)啟動;如果置為低,則依次檢測USB接口和UART5接口,通過外部連接下載引導(dǎo)程序。系統(tǒng)通過設(shè)置GPIO_IO跳線來控制 bootstrap啟動過程,本例將GPIO_01置為高,從NAND Flash下載程序。        

       ②  系統(tǒng)啟動的第二階段是運行bootstrap下載的引導(dǎo)程序Sibl。Sibl完成系統(tǒng)必要的初始化后,從NAND Flash加載鏡像程序到指定的SDRAM空間。鏡像程序在起始位置添加了64字節(jié)的頭信息,用于Sibl識別和加載,頭信息數(shù)據(jù)結(jié)構(gòu)如下:

    ARM9微控制器的軟硬件平臺設(shè)計圖示       

       Sibl從NAND Flash起始地址開始搜索。如果讀到鏡像同步字ih_magic,則識別鏡像程序,并根據(jù)偏移地址讀取程序大小ih_size和加載地址 ih_load,將程序加載到指定的SDRAM空間;加載完成后根據(jù)CRC校驗碼ih_dcrc對SDRAM數(shù)據(jù)進行CRC檢測;最后根據(jù)鏡像類型 ih_type判斷鏡像是否可執(zhí)行,若可執(zhí)行,則跳入鏡像入口地址ih_ep,否則Sibl繼續(xù)搜索NAND Flash鏡像程序。           

       鏡像程序使用U-boot提供的工具mkimage添加頭信息,命令格式如下:  

       mkimage-A arch-O os-T type-C comp-a addr-e ep-n name-d data_file image          

    
   ③   完成Sibl加載后,內(nèi)存空間分布如圖6所示,系統(tǒng)進入啟動流程的第三階段U- boot。U-boot完成Linux內(nèi)核鏡像的解壓縮和操作系統(tǒng)啟動前的初始化,最終跳入內(nèi)核入口地址,完成對Linux的引導(dǎo)。

系統(tǒng)啟動過程內(nèi)存空間分布圖

                                                   圖6  系統(tǒng)啟動過程內(nèi)存空間分布圖

       6  系統(tǒng)性能分析     

      
系統(tǒng)構(gòu)建提供了一個完整的LPC3180嵌入式軟硬件平臺,下面對LPC3180浮點運算能力進行測試和分析。測試方法是使用一個浮點運算密集的算法,用 ADS編譯器分別編譯使能硬件VFP和軟浮點運算兩個版本的測試程序,并在不同的CPU時鐘頻率下比較運行時間,結(jié)果如表1所列。    

ARM9微控制器的軟硬件平臺設(shè)計圖示


       分析實驗數(shù)據(jù),可以得出結(jié)論:VFP協(xié)處理器在相同時鐘頻率下,提高了5倍左右的浮點運算性能。因此,LPC3180平臺結(jié)合VFP協(xié)處理器,能夠?qū)崿F(xiàn)復(fù)雜的浮點運算密集算法。在微控制器中集成硬件浮點運算單元,這使得微控制器的數(shù)據(jù)處理能力大大提高,能夠勝任多數(shù)的數(shù)字信號處理應(yīng)用。      

       結(jié)語       

  
     本文介紹了以LPC3180微控制器為核心的嵌入式軟硬件平臺的設(shè)計與實現(xiàn),并測試、驗證了LPC3180的浮點運算性能。該平臺對于LPC3180的應(yīng)用開發(fā)具有借鑒意義。目前LPC3180在醫(yī)療器械、工業(yè)控制、POS機、數(shù)字信號處理等領(lǐng)域有著廣泛的應(yīng)用。       



參考文獻:
[1]  LPC3180 User& nbsp;Manual. http://standardics.philips.com. 
[2]  ISP1301 User Manual. http://semiconductors.philips.com.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品国产亚洲一区二区三区| 欧美午夜大胆人体| 在线亚洲成人| 亚洲国产欧美一区二区三区丁香婷| 亚洲男女自偷自拍| 中文国产一区| 一本综合精品| 日韩午夜av在线| 亚洲精品美女91| 最新国产拍偷乱拍精品| 亚洲丰满在线| 在线观看不卡| 在线观看视频免费一区二区三区| 国产亚洲女人久久久久毛片| 国产欧美一区二区三区视频| 国产精品每日更新| 国产精品视频精品视频| 国产精品福利在线观看网址| 欧美四级在线观看| 国产精品xxxxx| 国产精品久久久久久久久久久久久久 | 亚洲新中文字幕| 亚洲在线观看视频| 午夜影院日韩| 亚洲电影观看| 亚洲人成网在线播放| 亚洲三级观看| 亚洲视频大全| 亚洲在线1234| 久久精品国产免费| 亚洲国产精品va在线看黑人| 亚洲国产日日夜夜| 在线视频精品一| 亚洲在线视频一区| 久久er99精品| 免费成人高清| 欧美日韩免费视频| 国产毛片一区二区| 伊人久久噜噜噜躁狠狠躁| 亚洲欧洲日产国产综合网| 一区二区三区鲁丝不卡| 午夜精品一区二区三区电影天堂| 久久精品国产999大香线蕉| 亚洲精品视频二区| 亚洲女爱视频在线| 久久乐国产精品| 欧美久久久久久久| 国产精品青草久久久久福利99| 国产日韩一区二区三区在线播放 | 欧美一级黄色网| 久久综合给合久久狠狠色 | 亚洲一级在线| 久久久91精品| 欧美另类在线观看| 国产美女搞久久| 在线欧美小视频| 亚洲少妇最新在线视频| 久久电影一区| 亚洲一区二区三区欧美| 久久久久国产精品一区二区| 欧美精品国产精品| 国产欧美在线视频| 亚洲国产日韩在线一区模特| 亚洲图片在线观看| 亚洲精品中文字幕女同| 欧美伊人久久久久久久久影院| 你懂的视频欧美| 国产精品夜夜夜一区二区三区尤| 亚洲国产欧美日韩另类综合| 亚洲一区中文字幕在线观看| 亚洲日本一区二区| 久久成人一区| 欧美色一级片| 在线看视频不卡| 亚洲欧美日韩视频二区| 99热在线精品观看| 久久一区中文字幕| 另类综合日韩欧美亚洲| 久久岛国电影| 欧美三区视频| 1024亚洲| 性色av香蕉一区二区| 亚洲一区二区三区777| 免费亚洲婷婷| 国产日韩欧美一区二区三区四区 | 亚洲美女毛片| 亚洲国产清纯| 久久国产天堂福利天堂| 国产精品99免费看 | 亚洲欧美日韩精品久久亚洲区 | 136国产福利精品导航| 亚洲一区中文| 在线一区二区三区四区| 欧美77777| 国产专区欧美精品| 亚洲女同同性videoxma| 亚洲视屏在线播放| 欧美交受高潮1| 在线观看亚洲| 久久精品一区四区| 久久视频这里只有精品| 国产美女精品视频免费观看| 亚洲深夜影院| 亚洲性视频网站| 欧美母乳在线| 亚洲国产欧美精品| 亚洲狠狠丁香婷婷综合久久久| 久久精品中文字幕免费mv| 国产欧美精品在线播放| 亚洲一区二区三区欧美| 亚洲一区二区在| 欧美日韩精品免费看 | 99视频国产精品免费观看| 日韩手机在线导航| 欧美大片免费观看在线观看网站推荐| 韩曰欧美视频免费观看| 欧美中文字幕在线观看| 久久久蜜臀国产一区二区| 国产一区二区三区在线免费观看| 亚洲欧美日本国产有色| 性视频1819p久久| 国产精品自拍小视频| 亚洲欧美在线视频观看| 久久国产精品黑丝| 国产一区二区三区网站| 久久国产天堂福利天堂| 午夜精品美女久久久久av福利| 欧美一级成年大片在线观看| 国产精品性做久久久久久| 亚洲一区三区在线观看| 亚久久调教视频| 国产麻豆一精品一av一免费| 亚洲欧美日韩在线综合| 久久精品国产综合| 狠狠做深爱婷婷久久综合一区| 久久精品国产亚洲a| 老司机久久99久久精品播放免费| 一区二区三区在线不卡| 亚洲欧洲精品一区二区精品久久久| 欧美成人激情在线| 99精品热视频| 欧美一区二区三区另类| 国产一区日韩一区| 亚洲伦理久久| 国产精品久久久久久模特| 亚洲一区欧美| 久久精品99国产精品| 在线免费高清一区二区三区| 一本久久a久久精品亚洲| 国产精品海角社区在线观看| 欧美一级淫片aaaaaaa视频| 美国十次了思思久久精品导航| 亚洲精品女av网站| 午夜亚洲精品| 精品动漫一区二区| 亚洲私人影院| 国产亚洲一区精品| 日韩一级精品视频在线观看| 国产精品久久久久久久久久尿 | 欧美精品亚洲精品| 亚洲午夜精品久久久久久浪潮 | 在线观看成人一级片| 在线视频中文亚洲| 国产伦精品一区二区三区在线观看| 亚洲第一精品久久忘忧草社区| 欧美激情四色| 亚洲影视在线| 欧美成ee人免费视频| 一本大道av伊人久久综合| 久久精品国产99国产精品| 最新成人av在线| 欧美专区亚洲专区| 亚洲看片免费| 久久九九久精品国产免费直播| 亚洲三级视频| 久久久精品久久久久| 99在线热播精品免费99热| 久久久精品国产一区二区三区| 日韩写真在线| 蜜桃av综合| 亚洲欧美国产另类| 欧美激情免费在线| 欧美一级精品大片| 欧美日韩亚洲网| 亚洲视频中文字幕| 亚洲综合欧美| 亚洲电影在线免费观看| 亚洲欧美综合| 亚洲人被黑人高潮完整版| 久久国内精品视频| 亚洲少妇在线| 欧美激情一区二区三区蜜桃视频 | 中日韩美女免费视频网站在线观看| 国产一区二区三区四区老人| 亚洲视频一区二区在线观看 | 亚洲成色999久久网站| 欧美一区2区视频在线观看| 亚洲精品在线视频| 久久天堂av综合合色| 亚洲欧美日韩中文在线制服|