張偉
【摘 要】本文總結(jié)了便攜式儀器的特點(diǎn),并詳細(xì)介紹基于Atmel公司Cortex-A5內(nèi)核處理器和FPGA的平臺(tái)系統(tǒng)相關(guān)硬件。本文給出了具體的硬件設(shè)計(jì)方法,并對設(shè)計(jì)原理進(jìn)行了闡述和分析,同時(shí)對基于μC/OS-II的實(shí)時(shí)多任務(wù)操作系統(tǒng)的特性和優(yōu)勢進(jìn)行了簡要分析,完成了常用外圍設(shè)備的控制設(shè)計(jì)。
【關(guān)鍵詞】Cortex-A5;FPGA;嵌入式系統(tǒng);便攜式儀器;ATSAMA5D3
Applications of Cortex-A5 and FPGA-Based Embedded System in Portable Instrument
ZHANG Wei
(The 41st Institute of China Electronics Technology Group Corporation, Bengbu Anhui 233006, China)
【Abstract】The paper presents the features of portable instruments,and introduces the related hardware which based on the cortex-A5 processor of Atmel Corporation and FPGA platform system in detail. In the paper, the specific design methods are presented, and the design principles and analysis are expatiated. At the same time, the brief analysis of the features and benefits based on the μC/OS-II real-time operating system is given, and peripheral devices are controlled succeed.
【Key words】Cortex-A5; FPGA; Embedded system; Portable instrument; ATSAMA5D3
0 引言
隨著信息社會(huì)日新月異的發(fā)展,便攜式儀器由于其集成度高、功耗低、功能全面、操作簡單、機(jī)動(dòng)性強(qiáng)、應(yīng)用迅速等特點(diǎn)得到了廣泛的應(yīng)用,其應(yīng)用范圍超出了工業(yè)領(lǐng)域,幾乎覆蓋了社會(huì)生活的各個(gè)方面。
對于體積和功耗都有較高要求的便攜式儀器,嵌入式操作系統(tǒng)提供了很多附加功能,減小了系統(tǒng)的有效空間,縮短了開發(fā)周期,節(jié)約了開發(fā)成本。本文所設(shè)計(jì)的便攜式光電儀器采用基于ARM最新Cortex-A5內(nèi)核處理器和FPGA的硬件平臺(tái),移植μC/OS-II 嵌入式操作系統(tǒng)開展軟件設(shè)計(jì),重點(diǎn)分析軟、硬件設(shè)計(jì)方法。本方案簡潔、高效、功耗較低,在中、高端儀器儀表領(lǐng)域有廣闊的應(yīng)用前景。
1 系統(tǒng)總體設(shè)計(jì)
本文提出一種基于Cortex-A5內(nèi)核處理器和FPGA的便攜式儀器平臺(tái)。該平臺(tái)的系統(tǒng)控制、顯示部分、接口由Cortex-A5處理器實(shí)現(xiàn),電機(jī)驅(qū)動(dòng)、傳感器信號采集和數(shù)據(jù)處理、電池電量讀取等部分由FPGA完成。CPU選用Atmel公司的ATSAMA5D3,F(xiàn)PGA選用Xilinx公司的XC3S200AN,CPU與FPGA之間通信通過ATSAMA5D3的EBI接口控制FPGA寄存器實(shí)現(xiàn)。本平臺(tái)采用μC/OS-II實(shí)時(shí)多任務(wù)操作系統(tǒng),各項(xiàng)功能與驅(qū)動(dòng)主要采用C語言編程實(shí)現(xiàn),系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。
2 硬件組成
2.1 ATSAMA5D3處理器外圍電路設(shè)計(jì)
ATSAMA5D3 處理器的外圍電路包括電源電路、存儲(chǔ)器(DDR2和NAND Flash)電路、時(shí)鐘電路、復(fù)位電路。
2.2.1 電源電路設(shè)計(jì)
本設(shè)計(jì)中,電源適配器輸出的13.5V作為系統(tǒng)的主電源,ATSAMA5D3處理器及其外圍電路需要 3.3V、2.5V、1.8V、1.2V 電壓,F(xiàn)PGA 需要 1.2V 的內(nèi)核電壓和 3.3V 的 IO 電壓,USB 連接器和電機(jī)供電需要5V電壓,其他模塊如傳感器、復(fù)位芯片等用到的電壓為 3.3V。
電源管理方案如圖2所示。首先將電源適配器輸出的13.5V電源通過雙路RT9018B分別產(chǎn)生5V和3.3V兩路電源,5V電源一路為USB和電機(jī)供電,另外一路通過升壓電源管理芯片TPS61040轉(zhuǎn)換為16V為LCD供電;3.3V電源通過LP3985、RT8010和RT9018B分別轉(zhuǎn)換為2.5V、1.8V和1.2V為ATSMA5D3和FPGA等芯片供電。通過LTC4006實(shí)時(shí)對鋰離子電池的充放電管理。
2.2.2 存儲(chǔ)器電路設(shè)計(jì)
ATSAMA5D3 控制器內(nèi)部集成的多端口DDR-SDRAM 控制器支持低電壓 DDR2(LPDDR)、DDR2、低電壓 DDR1(LPDDR1)三種內(nèi)存接口。綜合考慮成本和性能后,本設(shè)計(jì)采用2片容量高達(dá)2Gb的DDR2 內(nèi)存顆粒作為控制器的板級內(nèi)存,型號為鎂光公司的MT47H128M16RT-25EIT 。
NAND Flash數(shù)據(jù)掉電不丟失,與其他類型存儲(chǔ)器相比,在相同大小的芯片內(nèi)部可以儲(chǔ)存更多的數(shù)據(jù),占用 PCB 面積更小。本設(shè)計(jì)利用ATSAMA5D3片上靜態(tài)存儲(chǔ)器控制器和一根片選信號線控制鎂光公司的 MT29F2G08 NAND Flash,通過處理器外部總線(EBI)與NAND Flash數(shù)據(jù)總線進(jìn)行數(shù)據(jù)交換。
2.2.3 時(shí)鐘及復(fù)位電路設(shè)計(jì)
外部晶振產(chǎn)生的時(shí)鐘信號質(zhì)量要比內(nèi)部震蕩電路產(chǎn)生的時(shí)鐘信號更好,時(shí)鐘頻率更加準(zhǔn)確。為保證時(shí)鐘信號的穩(wěn)定,本設(shè)計(jì)選擇兩個(gè)外部無源晶振頻率分別提供 32.768kHz RTC時(shí)鐘和12MHz 系統(tǒng)時(shí)鐘。復(fù)位電路可以使系統(tǒng)從確定的狀態(tài)開始運(yùn)行,并且在系統(tǒng)出現(xiàn)異常時(shí),強(qiáng)制系統(tǒng)回到正常工作狀態(tài),本設(shè)計(jì)方案采用美信公司的MAX811。
2.2 FPGA設(shè)計(jì)
FPGA通過I/O控制電機(jī)轉(zhuǎn)動(dòng)方向及轉(zhuǎn)速,獲取圖像傳感器、氣壓溫度傳感器、電池電量等數(shù)據(jù)信息,這些數(shù)據(jù)儲(chǔ)存在不同地址空間內(nèi)。ATSAMA5D3通過處理器外部總線(EBI)與FPGA通信,首先CPU通過NCS0片選FPGA,然后通過NRD和NEW確定執(zhí)行讀/寫操作類型,最后由CPU發(fā)地址信息,完成與FPGA的數(shù)據(jù)交換。
3 電路板設(shè)計(jì)
在帶有DDR的嵌入式系統(tǒng)主板中,設(shè)計(jì)PCB最難的部分莫過于DDR的布線設(shè)計(jì)。良好的布線就等于有了好的信號完整性和好的時(shí)序匹配,總線在高速輸入/輸出數(shù)據(jù)過程中就不會(huì)出錯(cuò),甚至能夠有更好的抗串?dāng)_和EMC能力。DDR總線并行傳輸且速率較高,在設(shè)計(jì)過程中如果沒有按照嚴(yán)格的約束進(jìn)行布線,在設(shè)備后期調(diào)試過程中,將會(huì)出現(xiàn)各種各樣異常問題,甚至使系統(tǒng)根本無法啟動(dòng)。在進(jìn)行PCB布局和布線時(shí),DDR2布線要按照拓?fù)浣Y(jié)構(gòu)采取等長處理,盡可能保證每條信號線上過孔數(shù)量相同,并嚴(yán)格控制信號線的特征阻抗,具體規(guī)則如下:
1)差分時(shí)鐘信號之間長度誤差控制在+/-20mil,阻抗控制在100±10Ω;
2)數(shù)據(jù)線之間長度誤差控制在+/-50mil,阻抗控制在50±5Ω;
3)控制信號以及地址線要和時(shí)鐘線等長,布線長度不超過+/-100mil,阻抗控制在50±5Ω;
4)為了減小信號之間串?dāng)_,數(shù)據(jù)線之間間距>12mil,數(shù)據(jù)線與其他信號線間距>20mil。
4 軟件設(shè)計(jì)
要實(shí)現(xiàn)光電儀器各項(xiàng)指標(biāo),電機(jī)各自由度運(yùn)動(dòng)的精確控制,圖像、溫度、氣壓和電池電量等信息實(shí)時(shí)獲取,時(shí)間尺度應(yīng)達(dá)到毫秒級,這些都需要一個(gè)實(shí)時(shí)操作系統(tǒng)的支持。本項(xiàng)目選擇了μC/OS-II嵌入式實(shí)時(shí)操作系統(tǒng)作為應(yīng)用軟件的開發(fā)平臺(tái),該系統(tǒng)是一個(gè)源碼公開、可移植、可固化、可裁剪、占先式實(shí)時(shí)多任務(wù)操作系統(tǒng),整機(jī)各項(xiàng)功能與驅(qū)動(dòng)主要采用C語言編程實(shí)現(xiàn)。整機(jī)軟件由啟動(dòng)程序、升級程序和控制程序等組成。啟動(dòng)程序運(yùn)行,進(jìn)行必要的系統(tǒng)初始化,判斷是否要進(jìn)行軟件更新,并將控制程序復(fù)制到DDR2中準(zhǔn)備執(zhí)行。升級程序在DDR2中運(yùn)行,對系統(tǒng)地址進(jìn)行重新映射,從U盤中讀取更新數(shù)據(jù)(控制程序),寫入NAND FLASH芯片的相應(yīng)地址。在DDR2中運(yùn)行的控制程序是本軟件的核心,對整個(gè)硬件設(shè)備進(jìn)行協(xié)調(diào)控制,接受用戶的輸入,驅(qū)動(dòng)電機(jī)實(shí)際光纖推進(jìn)、徑向調(diào)整以及旋轉(zhuǎn)操作、放電熔接、張力測試、熔接損耗以及加熱等功能。
本項(xiàng)目的控制程序在μC/OS-II系統(tǒng)建立多項(xiàng)子任務(wù),這些子任務(wù)分別為主菜單處理任務(wù)、溫度氣壓和電量顯示任務(wù)、時(shí)間顯示任務(wù)、限位處理任務(wù)、按鍵掃描任務(wù)、防風(fēng)蓋任務(wù)、加熱結(jié)束提示任務(wù)、復(fù)位任務(wù)、光纖自動(dòng)接續(xù)任務(wù)、觸摸屏任務(wù)等。這些任務(wù)的運(yùn)行可來自用戶的按鍵操作指令,也可依賴于觸摸屏信號。軟件通過中斷服務(wù)子程序給相應(yīng)的任務(wù)發(fā)送信號量,等到信號量的任務(wù)開始運(yùn)行。當(dāng)檢測到馬達(dá)限位和正常防風(fēng)罩操作時(shí),分別發(fā)出對應(yīng)的信號量。
5 結(jié)語
本文介紹了基于ARM Cortex-A5 內(nèi)核的32位微處理器和FPGA為核心的系統(tǒng)設(shè)計(jì)方案,采用μC/OS-II操作系統(tǒng)通過編程實(shí)現(xiàn)了整機(jī)各項(xiàng)功能,ATSAMA5D3處理器可以穩(wěn)定的工作在 500MHz 頻率下,2Gb容量的 DDR2和2Gb容量的NAND Flash均可以正常工作,電機(jī)控制、傳感器數(shù)據(jù)采集與處理功能穩(wěn)定。本方案具有系統(tǒng)功耗低、處理速度快、性能穩(wěn)定等特點(diǎn),目前,采用本方案的便攜式儀器已經(jīng)批量生產(chǎn)和銷售,用戶反應(yīng)良好。此外,本方案通用性強(qiáng),還可以應(yīng)用于消費(fèi)電子產(chǎn)品中。
【參考文獻(xiàn)】
[1]Atmel Corporation.SAMA5D3 Series Datasheet[Z].2015.
[2]Atmel Corporation.SAMA5D3 Layout Recommendations[Z].2014.
[3]郭雙茂,馮浩,周參.采用微控制器操作系統(tǒng)的便攜式儀器設(shè)計(jì)[J].自動(dòng)化儀表,2016,37(1):93-95.
[4]任哲.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2009.
[5]張鵬.嵌入式DDR總線的布線分析與設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008,5:8-10.
[責(zé)任編輯:朱麗娜]