摘 要: 隨著新一代飛機(jī)機(jī)載電子設(shè)備綜合化、智能化的發(fā)展,系統(tǒng)對機(jī)載電子設(shè)備的處理能力需求越來越高。借鑒國外高性能嵌入式計算機(jī)的設(shè)計原則,設(shè)計了一種基于高性能處理器PowerPC8640的通用處理模塊,并對部分功能單元的設(shè)計進(jìn)行描述。該模塊具有數(shù)據(jù)處理能力強(qiáng)、功能擴(kuò)展性強(qiáng)、通用性強(qiáng)、集成度高、高速外部串行總線接口等特點,具有較高的應(yīng)用價值,目前該模塊已經(jīng)應(yīng)用于多種機(jī)載電子設(shè)備中。
關(guān)鍵詞: PowerPC8640;通用處理;嵌入式處理;ASAAC結(jié)構(gòu)
0 引言
隨著新一代戰(zhàn)機(jī)的出現(xiàn)和戰(zhàn)技指標(biāo)需求的不斷攀升,機(jī)載航電設(shè)備作為航空電子產(chǎn)品中的重要一員,其功能和性能也要得到不斷的完善和提高,同時體積和重量卻要求不斷減小,以滿足戰(zhàn)機(jī)的作戰(zhàn)需求。功能的完備和性能的提高帶來了大量數(shù)據(jù)的處理需求,需要高性能的處理器完成相關(guān)的任務(wù),體積和重量的減少要求產(chǎn)品上的器件密度越來越高。本文主要介紹基于PowerPC8640處理器的高性能高集成度的通用處理模塊的設(shè)計,它采用通用化設(shè)計思想、標(biāo)準(zhǔn)的ASAAC結(jié)構(gòu)以及可配置性的設(shè)計,可用于多種機(jī)載電子系統(tǒng)[1]。
1 系統(tǒng)概述
本文所描述的通用處理模塊是基于PowerPC8640高性能處理器,設(shè)計采用兩片PowerPC8640,周邊配置有存儲器(包括DDR2、Flash和NvRAM)、看門狗、高速RapidIO接口、高速串行接口、CAN總線、離散量接口、422接口、485接口、溫度監(jiān)控、RTC和調(diào)試接口等資源。模塊設(shè)計采用兩塊印制板,其結(jié)構(gòu)圖如圖1所示。
模塊的結(jié)構(gòu)采用標(biāo)準(zhǔn)的ASAAC結(jié)構(gòu),模塊盒體尺寸(不包括連接器)為233.4 mm×160mm×24mm,散熱方式為傳導(dǎo)散熱,通過模塊的鎖緊條傳導(dǎo)到機(jī)箱進(jìn)行散熱。
2 模塊平臺介紹
2.1 PowerPC8640處理器簡介
PC8640屬于PowerPC的處理器,目前已在國外數(shù)據(jù)處理與信號處理中采用。一片PC8640中提供1個e600內(nèi)核,主頻最高可達(dá)1.25 GHz,e600內(nèi)核提供1 MB的高帶寬、低延遲的L2 cache,設(shè)計中主頻設(shè)為1 GHz。
PC8640有兩個64位的DDR2控制器接口,最高工作頻率533 MHz。PC8640處理器使用e600核和高速內(nèi)部互連技術(shù)來平衡處理器的性能與I/O系統(tǒng)的吞吐率。
PC8640配置了兩種靈活的高性能I/O接口。一種是×1、×2、×4、×8 PCI Express接口,采用PCI-E總線實現(xiàn)板級高性能設(shè)備的串行點對點互連;另一種是1×、4×線串行RapidIO接口,由于RapidIO總線具有軟件開銷小、配置簡單、硬件糾錯等特點,且支持存儲器映射和包傳輸機(jī)制,非常適合作為底板接口。
PC8640還配置了4個以太網(wǎng)控制器,支持10 Mb/s,100 Mb/s和1 000 Mb/s速率通信。每個以太網(wǎng)控制器可以轉(zhuǎn)換為FIFO模式實現(xiàn)高效ASIC互連。
此外PC8640還配置有UART接口、中斷控制器、DMA控制器、GPIO等資源[2]。
設(shè)計采用兩片PC8640處理器,每片處理器的存儲器資源、調(diào)試接口、溫度檢測、RTC資源獨(dú)立,其他資源如離散量、422接口、485接口等資源是共用的。
2.2 其他資源設(shè)計
模塊的存儲器包括DDR2存儲器、Flash存儲器和NvRAM存儲器。PC8640對外提供DDR2接口和HLP總線接口。PC8640的DDR2接口外接64位數(shù)據(jù)寬度的1 GB的DDR2 SDRAM;PC8640的HLP總線接口外接Flash和NvRAM。
PC8640對外提供兩路I2C總線,分別連接實時時鐘和溫度監(jiān)測芯片,提供RTC和溫度監(jiān)測功能。
PC8640對外提供調(diào)試接口,包括串口、以太網(wǎng)接口和JTAG接口,用于處理器以及軟件的調(diào)試。
處理器PC8640集成兩個高速串行I/O接口(Serdes1和Serdes2),設(shè)計中將每個處理器的兩個Serdes接口設(shè)置為×4 PCI-E模式和×4 RapidIO模塊。Serdes1接口連接處理器和高速串行接口,用于實現(xiàn)高速串行接口通信控制,接口為PCI-E總線;Serdes2接口連接處理器和RapidIO交換芯片,接口為RapidIO總線。RapidIO交換芯片配置為3個4×RapidIO接口,10個1×RapidIO接口。4×RapidIO接口其中2路接處理器,1路引到底板;1× RapidIO接口10路引到底板上。
高速串行接口實現(xiàn)2路,其中一路協(xié)議處理采用固定的邏輯版本;另外一路協(xié)議處理根據(jù)系統(tǒng)應(yīng)用需要,可通過處理器控制加載不同的邏輯版本。兩路高速串行接口的傳輸介質(zhì)為光接口,通過光電轉(zhuǎn)換芯片連接到底板連接器。
422、485接口采用IP核在FPGA內(nèi)部實現(xiàn),處理器通用HLP總線控制422、485接口的收發(fā)數(shù)據(jù)。
模塊對外提供5路CAN總線接口,采用協(xié)議芯片實現(xiàn),CAN總線接口掛在處理器控制FPGA下,接口采用SPI接口。
模塊對外提供多路差分的TTL輸入輸出信號、多路LVDS輸入輸出信號、多路LVTTL輸入輸出信號、多路MLVDS輸出信號以及多路Aurora總線接口。
底板連接器為帶光纖接口的數(shù)字連接器,A腔包含2芯光纖接口和135芯低頻接觸件,B腔包含252芯低頻接觸件。
3 設(shè)計要點
3.1 高速接口重加載設(shè)計
由于本文設(shè)計的是通用處理模塊,高速串行接口也要適應(yīng)多種機(jī)載電子設(shè)備,不同設(shè)備的配置共包括:2路高速串行接口、1路雙余度的高速串行接口、1路單余度的高速串行接口等。高速串行接口的邏輯規(guī)模很大,因此將高速串行接口設(shè)計為2路,一路可重加載,另一路為固定的邏輯。下面說明高速串行接口重加載的設(shè)計實現(xiàn)。
加載控制電路的設(shè)計框圖如圖2所示。
加載控制、狀態(tài)信號采用3.3 V電壓,通過處理板FPGA控制,輸出給CPLD,實現(xiàn)對邏輯重加載的控制。加載控制信號通過3個控制離散量分別表示3個不同邏輯狀態(tài),通過一個控制信號指示邏輯重載開始,通過處理器控制。加載控制時序如圖3所示。
加載及控制流程說明如下:
?。?)處理器的控制FPGA和CPLD中,重加載設(shè)計默認(rèn)狀態(tài)都為001,CPLD上電后固定加載PROM0中的邏輯;
?。?)處理器啟動后,根據(jù)系統(tǒng)要求,首先判斷加載的默認(rèn)狀態(tài)高速串行接口邏輯是否為系統(tǒng)所需要的,如果是,則處理器不再發(fā)起重加載,如果不是,則先設(shè)置加載控制離散量狀態(tài)(每位設(shè)置為“1”,表示加載對應(yīng)位的PROM中的邏輯;為“0”,表示不加載),然后將加載控制離散量置位為“1”,啟動加載,此時處理器軟件檢測邏輯加載狀態(tài)信號,在該信號為“1”后,表示加載完成,可對設(shè)備進(jìn)行初始化;
(3)CPLD在加載控制信號的上升沿啟動加載,通過控制FPGA的Program_B信號控制邏輯重載[3];
?。?)CPLD在完成邏輯加載后(判斷FPGA給出的Done信號為“1”),處理器發(fā)起邏輯復(fù)位操作,在復(fù)位結(jié)束后,將加載完成狀態(tài)離散量置位為“1”;
(5)處理器軟件在判斷邏輯加載完成,將加載控制信號重新置位為“0”,以便于下次可用于邏輯重載。
3.2 軟件設(shè)計
由于設(shè)計的是通用處理模塊,在軟件方面也需要滿足多種機(jī)載電子設(shè)備的要求。處理器、存儲器資源、接口資源在不同設(shè)備中是相同的,軟件也完全相同。而高速串行接口在不同的設(shè)備中有不同的需求,驅(qū)動不同,因此在軟件設(shè)計時,考慮到多種設(shè)備中使用同一款軟件,需將不同的高速串行接口驅(qū)動固化在Flash的不同地址,根據(jù)系統(tǒng)設(shè)備需求,加載相應(yīng)的軟件驅(qū)動,具體實現(xiàn)如下:模塊加電后,處理器需到Flash取指令,初始化模塊,引導(dǎo)運(yùn)行操作系統(tǒng)以及應(yīng)用程序。因此在模塊初始化完成后,設(shè)置選項,通過不同的參數(shù)選擇不同軟件驅(qū)動,以適應(yīng)不同設(shè)備的需求。如參數(shù)設(shè)置為0,模塊操作系統(tǒng)啟動后,加載第一種設(shè)備的高速串行接口驅(qū)動以及其他驅(qū)動,這樣應(yīng)用程序啟動后可直接調(diào)用相關(guān)的驅(qū)動函數(shù)。如果參數(shù)設(shè)置為1,模塊操作系統(tǒng)啟動后,加載第二種設(shè)備的高速串行接口驅(qū)動以及其他驅(qū)動,參數(shù)設(shè)置為2,加載第三種設(shè)備的高速串行接口驅(qū)動以及其他驅(qū)動。該參數(shù)固定在Flash中,不會隨著模塊下電而消失,用戶只需要設(shè)置一次,下次模塊上電后,會根據(jù)已經(jīng)設(shè)置好的參數(shù)加載相應(yīng)驅(qū)動,如需改用其他設(shè)備,只需要修改一次參數(shù)即可。
4 結(jié)論
本文結(jié)合高性能的PowerPC8640處理器的特征,設(shè)計了一種雙處理器的通用處理模塊,對外提供高速串行接口、CAN總線、RapidIO總線、422接口、485接口、多種形式的離散量接口以及處理器的調(diào)試接口,高速串行接口可適用于多種電子設(shè)備。該模塊設(shè)計的目的是為了滿足新一代飛機(jī)多種機(jī)載設(shè)備的需要,與系統(tǒng)中其他設(shè)備進(jìn)一步綜合,使機(jī)載設(shè)備整體性能達(dá)到最優(yōu),該模塊具有很大的應(yīng)用價值。
參考文獻(xiàn)
[1] 湯艷飛,文敏華.基于MPC8640D處理系統(tǒng)的技術(shù)研究[J].航空計算技術(shù),2012,42(1):120-122.
[2] Freescale Semiconductor, Inc. MPC8640DRM[EB/OL]. (2008-07-xx)[2014-10-31].http://www.freescale.com.
[3] Xilinx, Inc. Virtex-5 FPGA Data Sheet[EB/OL]. (2008-07-xx)[2014-10-31].http://www.xilinx.com.