何 斌,鐘 洋
(成都蓉威電子技術(shù)有限公司開(kāi)發(fā)部,四川 成都 610091)
基于P2020的嵌入式計(jì)算機(jī)最小系統(tǒng)開(kāi)發(fā)
何 斌,鐘 洋
(成都蓉威電子技術(shù)有限公司開(kāi)發(fā)部,四川 成都 610091)
設(shè)計(jì)了基于PowerPC的嵌入式計(jì)算機(jī)最小系統(tǒng),該系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成。硬件系統(tǒng)以P2020為核心,以DDR3和Flash為存儲(chǔ)介質(zhì),以FPGA為邏輯控制單元,通過(guò)Local Bus實(shí)現(xiàn)對(duì)外總線,通過(guò)串口和千兆網(wǎng)實(shí)現(xiàn)通信接口;軟件系統(tǒng)采用VxWorks6.8操作系統(tǒng),實(shí)現(xiàn)了多核SMP對(duì)稱多處理架構(gòu)。功能測(cè)試和后期應(yīng)用表明,該最小系統(tǒng)具有嵌入式計(jì)算機(jī)運(yùn)算、控制、通信等基本功能,同時(shí)性能穩(wěn)定,環(huán)境適應(yīng)性強(qiáng),可擴(kuò)展性好。
P2020;最小系統(tǒng);嵌入式計(jì)算機(jī);VxWorks
嵌入式計(jì)算機(jī)最小系統(tǒng)是指某類嵌入式計(jì)算機(jī)的公共核心單元,具備最基礎(chǔ)的軟硬件功能且對(duì)外擴(kuò)展出中心處理器的全部資源。開(kāi)發(fā)某類嵌入式計(jì)算機(jī),首先要開(kāi)發(fā)其最小系統(tǒng)。
除嵌入式計(jì)算機(jī)基本功能外,最小系統(tǒng)還應(yīng)配備對(duì)應(yīng)的操作系統(tǒng),同時(shí)具有小尺寸、低功耗、擴(kuò)展性好等特點(diǎn)。根據(jù)這一需求,本文提供了一套基于PowerPC處理器和VxWorks操作系統(tǒng)構(gòu)建嵌入式計(jì)算機(jī)最小系統(tǒng)的軟硬件方案;本方案具有集成度高、處理能力強(qiáng)、功耗低、擴(kuò)展性好、環(huán)境適應(yīng)性強(qiáng)等優(yōu)點(diǎn)。最小系統(tǒng)以Freescale公司的P2020為核心處理器,以Micron公司的DDR3 SDRAM為內(nèi)存,以Intel公司的TE28F128J3D為Flash存儲(chǔ)器,以Xilinx公司的Spartan3系列FPGA為邏輯控制單元,以Marvell公司的千兆網(wǎng)物理層控制器芯片88E1111作為網(wǎng)絡(luò)橋接芯片對(duì)外通信,以Wind River公司的VxWorks操作系統(tǒng)作為其底層軟件。
最小系統(tǒng)以PowerPC雙核嵌入式處理器P2020為核心,采用FPGA、DDR3 SDRAM、Flash、網(wǎng)絡(luò)物理層、串口驅(qū)動(dòng)、時(shí)鐘、開(kāi)關(guān)電源等功能芯片,實(shí)現(xiàn)基本硬件架構(gòu),并利用高速連接器對(duì)外擴(kuò)展P2020處理器全部資源。
系統(tǒng)軟件選用VxWorks操作系統(tǒng),實(shí)現(xiàn)硬件初始化、設(shè)備驅(qū)動(dòng)、文件系統(tǒng)等基本功能。
最小系統(tǒng)的設(shè)計(jì)功能為:(1)處理器。雙e500V2內(nèi)核,工作頻率1 GHz,內(nèi)存容量2 GB,F(xiàn)lash容量32 MB;(2)總線。對(duì)外擴(kuò)展出32位Local Bus,總線時(shí)鐘頻率為100 MHz;(3)通信。實(shí)現(xiàn)2路自適應(yīng)千兆網(wǎng)接口,1路RS232串口;(4)擴(kuò)展。通過(guò)高速接插件對(duì)外拓展出PCIe/Rapid IO、USB、eSPI、SD/MMC、GPIO、I2C等全套處理器資源;(5)操作系統(tǒng)。支持VxWorks6.8嵌入式操作系統(tǒng)。
1.1 P2020內(nèi)部架構(gòu)
PowerPC P2020的內(nèi)部架構(gòu)如圖1所示,集成2個(gè)e500V2內(nèi)核及獨(dú)立的64 kB L1 Cache和共用的512 kB L2 Cache,此外還嵌入DDR控制器、SerDes接口、增強(qiáng)型Local Bus、千兆網(wǎng)、USB、DUART等豐富的功能單元[1]。
圖1 P2020內(nèi)部架構(gòu)圖
1.2 最小系統(tǒng)功能框圖
依據(jù)P2020的內(nèi)部架構(gòu),結(jié)合總體設(shè)計(jì)思路,構(gòu)建最小系統(tǒng)的硬件框架[2],如圖2所示。
圖2 最小系統(tǒng)硬件框架圖
硬件系統(tǒng)對(duì)P2020的基本功能單元(如圖2右側(cè)、上側(cè))如DDR、Local Bus、千兆網(wǎng)、串口等進(jìn)行了應(yīng)用,同時(shí)將其他功能單元(如圖左側(cè))對(duì)應(yīng)的處理器管腳引至擴(kuò)展連接器,便于后續(xù)擴(kuò)展應(yīng)用。硬件系統(tǒng)實(shí)現(xiàn)后,在此基礎(chǔ)上建立VxWorks6.8高實(shí)時(shí)性操作系統(tǒng),即達(dá)成本次設(shè)計(jì)目的。
2.1 P2020設(shè)計(jì)
PowerPC選用Freescale公司的P2020NXE2MHC,設(shè)計(jì)采用100 MHz單端時(shí)鐘輸入,通過(guò)處理器內(nèi)部PLL倍頻為500 MHz平臺(tái)時(shí)鐘,2個(gè)e500V2內(nèi)核工作頻率基于平臺(tái)時(shí)鐘倍頻至1 GHz[3]。
2.2 DDR3設(shè)計(jì)
高速內(nèi)存選用4片Micron公司的DDR3 SDRAM芯片MT41K256M16HA,單片容量為512 MB[4],內(nèi)存總?cè)萘窟_(dá)2 GB。DDR控制器采用異步時(shí)鐘模式,工作時(shí)鐘頻率配置為300 MHz[5]。
2.3 FPGA設(shè)計(jì)
FPGA主要功能是Local Bus剝離、上電配置、復(fù)位設(shè)置、看門狗實(shí)現(xiàn)、信號(hào)譯碼等,對(duì)邏輯資源要求較低,但需要一定的IO資源,故FPGA選型[6]Xilinx公司的XC3S400AN-4FTG256I,含有8 064個(gè)邏輯單元,195個(gè)IO管腳[7],邏輯設(shè)計(jì)開(kāi)發(fā)工具為Xilinx公司的ISE 14.6。
2.4 Local Bus設(shè)計(jì)
P2020集成的增強(qiáng)型Local Bus是地址數(shù)據(jù)復(fù)用總線,總線時(shí)鐘配置為100 MHz[3]。Local Bus在FPGA中通過(guò)組合邏輯剝離成地址、數(shù)據(jù)分開(kāi)的本地總線,可掛接標(biāo)準(zhǔn)總線設(shè)備如Nor Flash。本次選型的Nor Flash為Intel公司的TE28F128J3D,容量為32 MB[8]。
2.5 網(wǎng)絡(luò)設(shè)計(jì)
P2020自帶3個(gè)千兆網(wǎng)內(nèi)核,本設(shè)計(jì)應(yīng)用其中2個(gè),外接Marvell公司的千兆網(wǎng)物理層芯片88E1111-BAB1I000[9]和變壓器實(shí)現(xiàn)2路自適應(yīng)千兆網(wǎng)接口。
2.6 串口設(shè)計(jì)
P2020內(nèi)部集成有1個(gè)DUART控制器,外接MAXIM公司的串口電平轉(zhuǎn)換芯片MAX3232[10]實(shí)現(xiàn)1路RS232串口,主要用于在PC機(jī)的串口終端上打印調(diào)試信息。
3 操作系統(tǒng)設(shè)計(jì)
VxWorks操作系統(tǒng)是美國(guó)Wind River公司出品的嵌入式操作系統(tǒng),具備高實(shí)時(shí)性和多任務(wù)調(diào)度能力,適合與精簡(jiǎn)指令集處理器PowerPC進(jìn)行軟硬件搭配。
P2020是雙核處理器,故操作系統(tǒng)選擇支持多核處理的VxWorks6.8,其開(kāi)發(fā)平臺(tái)為WindRiver WorkBench3.2。操作系統(tǒng)設(shè)計(jì)分為引導(dǎo)和建立2個(gè)過(guò)程[11]。
3.1 操作系統(tǒng)的引導(dǎo)
操作系統(tǒng)引導(dǎo)的基本思路是首先初始化核心組件并驅(qū)動(dòng)引導(dǎo)設(shè)備,然后通過(guò)引導(dǎo)設(shè)備獲取操作系統(tǒng)鏡像,為操作系統(tǒng)建立打下基礎(chǔ)。
操作系統(tǒng)的引導(dǎo)可采用多種途徑,如業(yè)內(nèi)常用的U-boot標(biāo)準(zhǔn)化引導(dǎo)模式[12]。本次設(shè)計(jì)采用WindRiver WorkBench3.2編譯生成的bootrom代碼進(jìn)行引導(dǎo),其引導(dǎo)步驟[5]分為3個(gè)階段,如圖3所示。
(1)ROM運(yùn)行階段。配置e500V2內(nèi)核、L2 Cache、DDR控制器等核心組件[13],為引導(dǎo)代碼進(jìn)入RAM運(yùn)行階段創(chuàng)造條件。
在本階段中,引導(dǎo)代碼直接讀入至L1 Cache中運(yùn)行,由于Cache容量有限,要求代碼高效簡(jiǎn)潔,故此階段運(yùn)行代碼由效率較高的匯編語(yǔ)言編寫;
(2)RAM運(yùn)行階段①。初始化操作系統(tǒng)基礎(chǔ)組件如中斷、堆棧等[13-14];
(3)RAM運(yùn)行階段②。驅(qū)動(dòng)終端顯示設(shè)備串口和引導(dǎo)設(shè)備千兆網(wǎng)[13-15]。
圖3 VxWorks操作系統(tǒng)引導(dǎo)流程圖
RAM運(yùn)行階段完成后,操作系統(tǒng)的終端信息可通過(guò)串口在PC機(jī)上顯示,同時(shí)能通過(guò)千兆網(wǎng)從PC機(jī)下載VxWorks操作系統(tǒng)鏡像。
3.2 操作系統(tǒng)的建立
操作系統(tǒng)引導(dǎo)完成后,獲取的操作系統(tǒng)鏡像被放置到指定內(nèi)存區(qū)域運(yùn)行,即進(jìn)入操作系統(tǒng)建立過(guò)程,該過(guò)程分為3個(gè)階段,如圖4所示。(1)配置中斷、堆棧、虛擬內(nèi)存等操作系統(tǒng)基礎(chǔ)單元[13-14];(2)分配地址空間,初始化和驅(qū)動(dòng)最小系統(tǒng)的所有硬件設(shè)備[13-15];(3)配置操作系統(tǒng)內(nèi)核,完成操作系統(tǒng)建立,進(jìn)入應(yīng)用軟件入口。
圖4 VxWorks操作系統(tǒng)建立流程圖
經(jīng)歷以上3個(gè)階段,VxWorks6.8操作系統(tǒng)在最小系統(tǒng)硬件平臺(tái)上建立成功,操作系統(tǒng)建立信息如圖5所示,P2020的2個(gè)e500V2內(nèi)核在SMP對(duì)稱多處理架構(gòu)下實(shí)現(xiàn)并行工作[16]。
圖5 VxWorks6.8操作系統(tǒng)建立信息
4.1 測(cè)試平臺(tái)的搭建
根據(jù)最小系統(tǒng)的設(shè)計(jì)功能,搭建如圖6所示的測(cè)試平臺(tái),最小系統(tǒng)的調(diào)試串口和2路千兆網(wǎng)口直接與PC機(jī)連接,測(cè)試母板通過(guò)擴(kuò)展連接器與最小系統(tǒng)實(shí)現(xiàn)硬件連接,為最小系統(tǒng)提供直流電源。
圖6 最小系統(tǒng)測(cè)試平臺(tái)
4.2 測(cè)試方法
針對(duì)最小系統(tǒng)的設(shè)計(jì)指標(biāo),制定以下測(cè)試方法:(1)處理器測(cè)試。通過(guò)讀取處理器相應(yīng)的狀態(tài)寄存器,對(duì)處理器雙核運(yùn)行狀態(tài)、內(nèi)核工作頻率、內(nèi)存容量和Flash容量進(jìn)行測(cè)試;(2)總線測(cè)試。通過(guò)訪問(wèn)母板上的總線設(shè)備,對(duì)Local Bus的帶寬和速度進(jìn)行測(cè)試;(3)通信測(cè)試。利用PC機(jī)的網(wǎng)絡(luò)和串口,對(duì)系統(tǒng)通信接口功能進(jìn)行測(cè)試;(4)擴(kuò)展測(cè)試。通過(guò)測(cè)試母板對(duì)擴(kuò)展資源的應(yīng)用,對(duì)系統(tǒng)擴(kuò)展資源功能進(jìn)行測(cè)試;(5)操作系統(tǒng)測(cè)試。硬件功能測(cè)試均在VxWorks6.8嵌入式操作系統(tǒng)下進(jìn)行。
4.3 測(cè)試結(jié)論分析
經(jīng)過(guò)反復(fù)測(cè)試和針對(duì)性調(diào)試,最小系統(tǒng)各個(gè)功能指標(biāo)均通過(guò)測(cè)試,如圖7所示。結(jié)合后期環(huán)境試驗(yàn)的驗(yàn)證,說(shuō)明最小系統(tǒng)功能指標(biāo)達(dá)到設(shè)計(jì)預(yù)期。
圖7 最小系統(tǒng)的測(cè)試數(shù)據(jù)
本文立足于硬件電路設(shè)計(jì)、VxWorks操作系統(tǒng)開(kāi)發(fā)等關(guān)鍵技術(shù),對(duì)一款基于PowerPC P2020的嵌入式計(jì)算機(jī)最小系統(tǒng)實(shí)現(xiàn)過(guò)程進(jìn)行了論述。經(jīng)過(guò)測(cè)試平臺(tái)測(cè)試和環(huán)境試驗(yàn)驗(yàn)證,該最小系統(tǒng)實(shí)現(xiàn)了前期制定的設(shè)計(jì)功能目標(biāo)。在后期的衍生應(yīng)用中,后續(xù)研制的P2020嵌入式計(jì)算機(jī)系列產(chǎn)品均是在該最小系統(tǒng)的基礎(chǔ)上二次開(kāi)發(fā),大幅縮短了產(chǎn)品研發(fā)周期,其可擴(kuò)展性也得到充分確認(rèn)。如此可見(jiàn),最小系統(tǒng)的預(yù)先研發(fā)就是產(chǎn)品平臺(tái)的共性研制,在系列化產(chǎn)品的研制中有重要的意義。
[1] Freescale Inc.P2020 QorIQ integrated processor hardware specifications[M].USA: Freescale Inc,2011.
[2] Freescale Inc.P2020 QorIQ integrated processor design checklist[M].USA: Freescale Inc,2012.
[3] Freescale Inc.P2020 QorIQ integrated processor reference manual[M].USA: Freescale Inc,2011.
[4] Micron Inc.DDR3L SDRAM datasheet[M].USA:Micron Inc,2009.
[5] FreescaleInc.Power QUICC and QorIQ DDR3 SDRAM controller register setting considerations[M].USA:Freescale Inc,2014.
[6] 柏溢.FPGA的比較與選型[J].信息工程學(xué)院學(xué)報(bào),1999,18(3):61-64.
[7] Xilinx Corporation.Spartan-3 FPGA user guide[M].USA:Xilinx Corporation,2009.
[8] INTEL Corp.Numonyx? embedded flash memory datasheet[M].USA:INTEL Corp,2007.
[9] Marvell Inc.88E1111 datasheet[M].USA:Marvell Inc,2004.
[10] MAXIM Inc.MAX3232 datasheet[M].USA:MAXIM Inc,2007.
[11] 喬從連.VxWorks系統(tǒng)的BSP概念及啟動(dòng)過(guò)程[J].艦船電子對(duì)抗,2005,28(1):61-64.
[12] 周德榮,夏齡.基于U-Boot的Linux內(nèi)核映像加載與引導(dǎo)功能實(shí)現(xiàn)[J].廊坊師范學(xué)院學(xué)報(bào):自然科學(xué)版,2010,10(4):33-35.
[13] 張楊,于銀濤.VxWorks內(nèi)核、設(shè)備驅(qū)動(dòng)與BSP開(kāi)發(fā)詳解[M].2版.北京:人民郵電出版社,2011.
[14] 王洋,宋彥國(guó),但果,等.VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)設(shè)備驅(qū)動(dòng)與BSP開(kāi)發(fā)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2012.
[15] 曹桂平.VxWorks設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解[M].北京:電子工業(yè)出版社,2011.
[16] Wind River Inc.Vxworks_kernel_programmers_guide_6.8[M].USA:Wind River Inc,2009.
Development of Embedded Computer Minimum System Based on P2020
HE Bin,ZHONG Yang
(Development Department,Chengdu Rongwei Electronic Technology Development Company, Chengdu610091, China)
Design a minimum embedded computer system based on PowerPC processor, The System is composed of hardware system and software system. System hardware to p2020 as the core, to DDR3 and flash as the storage medium, using FPGA as the logic control unit, by local bus external bus, realize the communication interface through the serial port and Gigabit network; software system adopts VxWorks6.8 operating system, realize the multi core SMP symmetric multi processing architecture. Functional testing and late application show that this system has the basic functions of embedded computer operation, control, communication and other basic functions, at the same time, stable performance, strong adaptability to environment and good expansibility.
P2020; minimum system; embedded computer; VxWorks
2016- 11- 07
何斌(1980-),男,碩士,工程師。研究方向:嵌入式計(jì)算機(jī)和嵌入式操作系統(tǒng)。
10.16180/j.cnki.issn1007-7820.2017.03.034
TP338.1
A
1007-7820(2017)03-121-04