梅云華(中國西南電子技術(shù)研究所,成都610036)
基于MPC8265的嵌入式計(jì)算機(jī)工程化設(shè)計(jì)?
梅云華
(中國西南電子技術(shù)研究所,成都610036)
采用MPC8265器件作為嵌入式計(jì)算機(jī)系統(tǒng)的核心處理器,給出了該嵌入式計(jì)算機(jī)的工程化設(shè)計(jì)方案。對傳統(tǒng)嵌入式計(jì)算機(jī)的軟件結(jié)構(gòu)進(jìn)行了改進(jìn),提高了嵌入式計(jì)算機(jī)系統(tǒng)中用戶軟件的開發(fā)效率和維護(hù)便利性。結(jié)合工程應(yīng)用經(jīng)驗(yàn),指出了硬件工程化設(shè)計(jì)中的關(guān)鍵點(diǎn)并給出了設(shè)計(jì)建議。關(guān)鍵詞:嵌入式計(jì)算機(jī)系統(tǒng);操作系統(tǒng);軟件結(jié)構(gòu);工程化設(shè)計(jì)
某控制管理系統(tǒng)主要用于收集外部傳感器數(shù)據(jù)及控制數(shù)據(jù),對數(shù)據(jù)進(jìn)行分析處理及邏輯判斷,最后向外部設(shè)備輸出處理后的數(shù)據(jù)及控制指令。系統(tǒng)中嵌入式計(jì)算機(jī)模塊的主要任務(wù)是處理外部通信接口的大量數(shù)據(jù)收發(fā),數(shù)據(jù)及控制邏輯處理任務(wù)相對簡單。嵌入式計(jì)算機(jī)要求具備異步串口、網(wǎng)絡(luò)接口、離散量接口等資源,滿足控制任務(wù)的實(shí)時性要求,便于應(yīng)用軟件的研制、維護(hù)及升級并且能夠適用于惡劣的使用環(huán)境。傳統(tǒng)嵌入式計(jì)算機(jī)中的應(yīng)用軟件與系統(tǒng)軟件聯(lián)合編譯、統(tǒng)一加載,不便于工程應(yīng)用。為滿足某控制管理系統(tǒng)的功能及工程化需求,對傳統(tǒng)嵌入式計(jì)算機(jī)系統(tǒng)軟件進(jìn)行了改進(jìn),給出了采用MPC8265處理器[1]實(shí)現(xiàn)該嵌入式計(jì)算機(jī)的設(shè)計(jì)方案,指出了工程應(yīng)用中的設(shè)計(jì)要點(diǎn)。
整個嵌入式計(jì)算機(jī)系統(tǒng)的硬件功能模塊主要由電源、時鐘、復(fù)位電路、中央處理器、FPGA、接口電路和存儲系統(tǒng)等部分組成。FPGA主要實(shí)現(xiàn)模塊的控制邏輯、LBE總線邏輯及部分外圍資源,比如串口、雙口等;接口電路主要實(shí)現(xiàn)模塊內(nèi)外接口信號的隔離及信號電平的變換以及串口和網(wǎng)口等,計(jì)算機(jī)系統(tǒng)的硬件組成框圖如圖1所示。
各硬件功能模塊的組成及設(shè)計(jì)要點(diǎn)與其他嵌入式計(jì)算機(jī)類似,下面對主要功能模塊的設(shè)計(jì)進(jìn)行說明。
(1)中央處理器
中央處理器選用MPC8265芯片,工作頻率為150~300 MHz,內(nèi)核電壓為1.7~2.2 V。中央處理器的電路設(shè)計(jì)主要包括對一些關(guān)鍵信號的端接處理、處理器工作電源的分配及濾波、工作頻率設(shè)置電路及調(diào)試接口設(shè)計(jì)等。
在工程應(yīng)用設(shè)計(jì)過程中,由于該控制管理系統(tǒng)的工作環(huán)境溫度范圍要求較寬,為保證中央處理器在高溫環(huán)境中運(yùn)行的可靠性,處理器設(shè)定的工作頻率應(yīng)低于最高值,比如200 MHz;為提高中央處理器在低溫環(huán)境中運(yùn)行的穩(wěn)定性,處理器的內(nèi)核電壓應(yīng)設(shè)置為可選范圍的上限電壓值,比如200 MHz的主頻,內(nèi)核電壓值應(yīng)設(shè)定為1.9 V。
(2)時鐘設(shè)計(jì)
計(jì)算機(jī)中存在3種時鐘頻率,分別為計(jì)算機(jī)系統(tǒng)外部總線使用的100 MHz時鐘、網(wǎng)絡(luò)接口電路使用的25 MHz時鐘以及異步串行接口使用的14.745 6 MHz時鐘。其中100 MHz是主時鐘信號,采用全局時鐘的設(shè)計(jì)原則,經(jīng)CY2305芯片驅(qū)動后,輸出給MPC8265器件和SDRAM器件。由于MPC8265器件和SDRAM器件MT48LC8M32的建立、保持時間存在差異,因此,兩者的輸入時鐘信號時序需進(jìn)行控制,最為簡便的方法是控制時鐘信號的傳輸距離。
工程應(yīng)用中,根據(jù)MPC8265器件和MT48LC8M32器件的建立、保持時間要求,同時結(jié)合印制板的布線面積以及所使用的FR4材料,最終要求輸入MPC8265的時鐘信號線需要比輸入MT48LC8M32的長約15 cm。
(3)復(fù)位設(shè)計(jì)
復(fù)位設(shè)計(jì)包括加電復(fù)位、手動復(fù)位、COP接口復(fù)位和看門狗復(fù)位等設(shè)計(jì),復(fù)位控制邏輯統(tǒng)一處理所有輸入的復(fù)位電路信號,并且實(shí)現(xiàn)對硬件配置字的訪問。
在實(shí)際工程應(yīng)用中,MPC8265硬件配置字一般不會改變,因此,為了簡化設(shè)計(jì),提高生產(chǎn)效率,直接把硬件配置字配置在FPGA邏輯中,從而略去生產(chǎn)過程中的硬件配置字燒寫步驟。
(4)存儲器系統(tǒng)
存儲器系統(tǒng)包括SDRAM存儲器、程序存儲器、數(shù)據(jù)存儲器和雙口存儲器,如圖2所示。
SDRAM存儲器分配在存儲空間的低端。在系統(tǒng)運(yùn)行中被劃分成3個功能區(qū),即操作系統(tǒng)駐留區(qū)、應(yīng)用程序駐留區(qū)、保留區(qū)。
程序存儲器分配在存儲空間的高端,程序存儲器分為系統(tǒng)程序區(qū)和用戶程序區(qū)。系統(tǒng)程序區(qū)用于保存系統(tǒng)程序,包括操作系統(tǒng)、底層測試與監(jiān)控軟件等程序。用戶程序區(qū)用于保存用戶應(yīng)用程序。
數(shù)據(jù)存儲器和雙口存儲器分別分布在存儲空間的高端和中端。
在工程應(yīng)用中,為了實(shí)現(xiàn)系統(tǒng)軟件和用戶軟件完全獨(dú)立的設(shè)計(jì)和開發(fā),存儲器系統(tǒng)必須為系統(tǒng)軟件和用戶軟件提供完全獨(dú)立的存儲區(qū)域和運(yùn)行區(qū)域。
(5)總線接口設(shè)計(jì)
計(jì)算機(jī)系統(tǒng)采用32位機(jī)載航空計(jì)算機(jī)系統(tǒng)(LBE)總線作為對外總線接口。LBE總線與處理器總線間的橋接邏輯采用FPGA實(shí)現(xiàn),主要包括地址和數(shù)據(jù)信號的處理單元、信號的時序同步單元和控制信號邏輯實(shí)現(xiàn)單元,如圖3所示。
數(shù)據(jù)和地址信號處理單元用于實(shí)現(xiàn)處理器及LBE總線間數(shù)據(jù)和地址信號的轉(zhuǎn)換、緩沖、輸入輸出控制等。數(shù)據(jù)總線處理單元包括數(shù)據(jù)緩沖、字節(jié)交換、字節(jié)選擇輸出等模塊,支持對外部存儲器的對齊與不對齊的字、半字等動態(tài)數(shù)據(jù)寬度的讀寫操作以及突發(fā)傳輸?shù)取?/p>
時序同步單元用于對控制信號邏輯單元產(chǎn)生的控制信號、數(shù)據(jù)信號處理單元產(chǎn)生的數(shù)據(jù)信號和地址信號處理單元產(chǎn)生的地址信號進(jìn)行時序控制。時序同步單元功能分為兩部分,可以分別按照處理器總線和LBE總線的時序要求完成同步控制。
控制信號邏輯單元用于實(shí)現(xiàn)對處理器及LBE總線間的所有控制信號的轉(zhuǎn)換和訪問模式的轉(zhuǎn)換,以及地址譯碼控制信號的產(chǎn)生等。
嵌入式計(jì)算機(jī)系統(tǒng)上的駐留軟件是非常重要的一部分。目前,較為常用的方式是系統(tǒng)軟件及用戶應(yīng)用軟件分別獨(dú)立設(shè)計(jì),最后把兩者代碼聯(lián)合編譯、調(diào)試并生成最終的嵌入式計(jì)算機(jī)系統(tǒng)駐留軟件,通過仿真器加載、固化駐留軟件。這種聯(lián)合編譯及軟件加載的方式實(shí)現(xiàn)簡單,但是任務(wù)界面不清晰,維護(hù)不便,不利于工程化。為此,對嵌入式計(jì)算機(jī)的軟件結(jié)構(gòu)進(jìn)行了改進(jìn),在傳統(tǒng)的嵌入式計(jì)算機(jī)系統(tǒng)軟件結(jié)構(gòu)上增加了狀態(tài)監(jiān)控軟件及維護(hù)系統(tǒng)軟件,實(shí)現(xiàn)了各系統(tǒng)軟件及用戶應(yīng)用程序的單獨(dú)編譯、調(diào)試以及維護(hù)系統(tǒng)軟件、操作系統(tǒng)及用戶應(yīng)用程序的單獨(dú)加載。
改進(jìn)的嵌入式計(jì)算機(jī)系統(tǒng)軟件模塊結(jié)構(gòu)層次如圖4所示,圖中無底色部分的軟件模塊包括板級支持包、設(shè)備驅(qū)動、操作系統(tǒng)及系統(tǒng)應(yīng)用軟件,這些軟件模塊的功能及組成與其他嵌入式計(jì)算機(jī)系統(tǒng)基本相同;加底色部分為在傳統(tǒng)嵌入式計(jì)算機(jī)系統(tǒng)基礎(chǔ)上增加的系統(tǒng)軟件,其主要功能及組成如下所述。
(1)狀態(tài)監(jiān)控軟件
狀態(tài)監(jiān)控軟件位于BSP軟件和設(shè)備驅(qū)動軟件之上,在BSP和設(shè)備驅(qū)動完成對計(jì)算機(jī)主要硬件資源和設(shè)備的初始化后運(yùn)行[2],負(fù)責(zé)收集設(shè)備的狀態(tài)信息,引導(dǎo)設(shè)備進(jìn)入不同的工作模式。設(shè)備的狀態(tài)信息由計(jì)算機(jī)外部離散量或IO設(shè)備提供,不同的狀態(tài)信息對應(yīng)不同的工作模式。計(jì)算機(jī)系統(tǒng)的工作模式分為運(yùn)行態(tài)及維護(hù)態(tài)兩種模式,其中運(yùn)行態(tài)模式是計(jì)算機(jī)的默認(rèn)模式,該模式下計(jì)算機(jī)將調(diào)用并運(yùn)行操作系統(tǒng)和用戶軟件。維護(hù)態(tài)運(yùn)行模式下,系統(tǒng)將調(diào)用并運(yùn)行維護(hù)系統(tǒng)軟件。軟件的主要功能模塊有兩個,一是模式檢測模塊,實(shí)現(xiàn)對計(jì)算機(jī)系統(tǒng)不同模式的檢測及引導(dǎo);二是程序搬移模塊,實(shí)現(xiàn)程序從固存向內(nèi)存的搬移。
(2)維護(hù)系統(tǒng)
該軟件主要用于計(jì)算機(jī)系統(tǒng)的維護(hù),包括調(diào)試模式、加載模式及測試模式等3種模式,計(jì)算機(jī)的實(shí)際運(yùn)行模式由用戶通過計(jì)算機(jī)外部離散量或IO設(shè)備選擇。調(diào)試模式下,計(jì)算機(jī)建立了一個多任務(wù)運(yùn)行環(huán)境,可以實(shí)現(xiàn)用戶軟件的在線調(diào)試,常用于軟件故障定位及軟件調(diào)試;加載模式下,可以完成對Vx-Works操作系統(tǒng)和用戶軟件的升級,常用于產(chǎn)品的維護(hù)及更新;測試模式下,計(jì)算機(jī)系統(tǒng)運(yùn)行測試軟件對主要的硬件資源進(jìn)行測試并輸出結(jié)果。維護(hù)系統(tǒng)的主要功能模塊有3個,一是軟件調(diào)試模塊,實(shí)現(xiàn)用戶軟件的動態(tài)加載、調(diào)試;二是軟件加載模塊,實(shí)現(xiàn)操作系統(tǒng)或用戶軟件的接收、緩存、燒入及更新;三是測試模塊,實(shí)現(xiàn)對硬件資源的測試。
本方案實(shí)現(xiàn)的基于MPC8265處理器的嵌入式計(jì)算機(jī),通過了某控制管理系統(tǒng)的環(huán)境適應(yīng)性試驗(yàn)及現(xiàn)場高強(qiáng)度的使用驗(yàn)證,滿足該系統(tǒng)小型化、實(shí)時性以及惡劣的使用環(huán)境要求。經(jīng)過軟件設(shè)計(jì)人員和產(chǎn)品用戶現(xiàn)場使用,該嵌入式計(jì)算機(jī)可以有效提高應(yīng)用軟件的開發(fā)效率,增加軟件維護(hù)的便利性,有利于產(chǎn)品的設(shè)計(jì)、研制、維護(hù)和升級,詳見表1。
目前,該嵌入式計(jì)算機(jī)已在多個類似的控制管理系統(tǒng)中推廣應(yīng)用。
根據(jù)實(shí)際的工程應(yīng)用經(jīng)驗(yàn),在基于MPC8265的嵌入式計(jì)算機(jī)系統(tǒng)設(shè)計(jì)過程中,下面兩點(diǎn)需要特別注意。
(1)內(nèi)核供電
MPC8265器件的內(nèi)核供電電壓與工作頻率密切相關(guān),工作頻率越高,內(nèi)核電壓值越高,最高不能超過2.5 V,工作頻率與內(nèi)核電壓推薦值關(guān)系見表2[3]。
實(shí)際應(yīng)用中,應(yīng)根據(jù)選用的MPC8265工作頻率和表2的推薦來選擇內(nèi)核電壓。如果內(nèi)核電壓設(shè)置為下限值,可在一定程度上降低硬件功耗,但是在特殊的低溫應(yīng)用環(huán)境中,電路的工作穩(wěn)定較差;如果內(nèi)核電壓設(shè)置為上限值,硬件功耗較高,而且在特殊的高溫應(yīng)用環(huán)境中,電路的工作穩(wěn)定較差。對于大多數(shù)普通應(yīng)用環(huán)境的設(shè)計(jì)而言,內(nèi)核電壓值可以選擇推薦范圍的中間值。因此,建議內(nèi)核電壓供電電路的輸出電壓設(shè)計(jì)成可調(diào)的。實(shí)際設(shè)計(jì)中,綜合考慮應(yīng)用環(huán)境和硬件設(shè)計(jì)的具體情況,最好通過應(yīng)用環(huán)境摸底測試最終確定內(nèi)核電壓值,根據(jù)該電壓值調(diào)整內(nèi)核電壓的供電。
(2)時鐘信號設(shè)計(jì)
由于MPC8265器件輸出信號保持時間小于大多數(shù)SDRAM器件輸入信號的最小保持時間,因此,在MPC8265和SDRAM器件的時鐘信號電路設(shè)計(jì)中,為保證兩者信號的建立,保持時間滿足要求并具有一定的余量,需要對兩者的輸入時鐘信號時序進(jìn)行控制。建議采用延長(相對輸入SDRAM的時鐘信號而言)輸入MPC8265的時鐘信號傳輸距離,使得輸入MPC8265的時鐘信號比輸入SDRAM的晚,從而保證MPC8265和SDRAM間信號滿足特定時序要求。
工程設(shè)計(jì)中,選用的MPC8265器件輸出信號的最小保持時間為0.5 ns,SDRAM器件MT48LC8M32輸入信號要求的最小保持時間為1 ns;MPC8265器件輸入信號的保持時間要求必須大于0.5 ns,MT48LC8M32數(shù)據(jù)信號輸出保持時間最小為2.5 ns,因此,為滿足時序設(shè)計(jì)要求,輸入MPC8265的時鐘信號必須比輸入SDRAM的晚t時間(0.5 ns<t<2 ns)。根據(jù)FR4材料印制板中內(nèi)層信號典型的傳輸延遲約70.87 ps/cm,可以換算出輸入MPC8265的時鐘信號線需要在輸入SDRAM的時鐘信號線基礎(chǔ)上延長約7.06~28.19 cm。
本文針對某控制管理系統(tǒng)的實(shí)際工程需求,給出了基于MPC8265處理器的嵌入式計(jì)算機(jī)設(shè)計(jì)方案,結(jié)合實(shí)際工程經(jīng)驗(yàn),指出了工程設(shè)計(jì)中的關(guān)鍵點(diǎn),給出了設(shè)計(jì)建議和軟件改進(jìn)方法,對工程應(yīng)用中的嵌入式計(jì)算機(jī)設(shè)計(jì)具有一定的參考價值。
[1]Freescale Semiconductor Inc.MPC8260 PowerQUICCTTII Family Reference Manual[M].Austin,TX:Freescale Semiconductor Inc.,2005:1-1.
[2]周啟平,張楊.VxWorks下設(shè)備驅(qū)動程序及BSP開發(fā)指南[M].北京:中國電力出版社,2004:174. ZHOU Qi-ping,ZHANG Yang.Design Manual of Device Drivers and BSP in Vxworks[M].Beijing:China Electric Power Press,2004:174.(in Chinese)
[3]Freescale Semiconductor Inc.MPC8260A PowerQUICCTTII Integrated Communications Processor Hardware Specifications[M].Austin,TX:Freescale Semiconductor Inc.,2006:8.
[4]Nigel Dick.Timing Considerations when Interfacing the PowerQUICC II to SDRAM[M]//MPC826x White Paper.Austin,TX:Freescale Semiconductor Inc.,2004:3.
Engineering Design of Embedded Computer Based on MPC8265
MEI Yun-hua
(Southwest China Institute of Electronic Technology,Chengdu 610036,china)
The MPC8265 is used as the core processor in the embedded computer.The engineering design is proposed.To enhance the development efficiency and maintenance facility of user software running in this embedded computer,the software structure of traditionalembedded computer system is improved.Finally,based on the experience ofengineering application,the difficulty in hardware design is pointed outand the design advices are given.
embedded computer system;operating system;software structure;engineering design
the M.S.degree in 2004.He is now an engineer.His research concerns the design of embedded products.
1001-893X(2012)03-0375-04
2011-11-07;
2012-01-12
TP302
A
10.3969/j.issn.1001-893x.2012.03.025
梅云華(1979—),男,江西臨川人,2004年獲碩士學(xué)位,現(xiàn)為工程師,主要從事嵌入式產(chǎn)品設(shè)計(jì)。
Email:meiyunhua@163.com
MEI Yun-hua was born in Linchuan,Jiangxi Province,in 1979.He