摘 要: 針對我國現(xiàn)階段星載計算機通用性較差和無法“即插即用”的問題,,以及對數(shù)據(jù)傳輸速率的高要求,設(shè)計了新型即插即用星載計算機千兆以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng),,重點研究了星載計算機的總體結(jié)構(gòu)設(shè)計和千兆以太網(wǎng)的實現(xiàn),。該系統(tǒng)以國產(chǎn)BM3803為處理器,采用緊湊型外圍組件互聯(lián)cPCI總線為內(nèi)總線與系統(tǒng)各功能模塊互連,,實現(xiàn)即插即用和通用化功能,。千兆以太網(wǎng)平臺采用MAC+PHY方式,MAC采用FPGA內(nèi)嵌的IP核實現(xiàn),,PHY采用Marvell公司的88E1111芯片實現(xiàn)。對比國產(chǎn)星載計算機在以太網(wǎng)方面的現(xiàn)狀,,分析表明,,該系統(tǒng)通用性更好,數(shù)據(jù)處理性能更高,,數(shù)據(jù)傳輸速率最高可達1 Gb/s,。以FPGA方式實現(xiàn)千兆以太網(wǎng)設(shè)計,有效提高了系統(tǒng)的可靠性和集成度,,能夠滿足未來較長時間國內(nèi)星載計算機系統(tǒng)在千兆以太網(wǎng)方面的實際應(yīng)用需求,。
關(guān)鍵詞: BM3803處理器;Virtex-4 FPGA,;星載計算機,;千兆以太網(wǎng);cPCI總線
0 引言
隨著信息技術(shù)的飛速發(fā)展,,嵌入式以太網(wǎng)設(shè)備的應(yīng)用越來越廣泛,。千兆以太網(wǎng)作為一種高速局域網(wǎng)標(biāo)準(zhǔn),具有傳輸速度快,、距離遠(yuǎn),、穩(wěn)定可靠等優(yōu)點,將其用在星載計算機數(shù)據(jù)傳輸系統(tǒng)中,,不僅可以向系統(tǒng)提供高速數(shù)據(jù)傳輸通道,,還可向其提供網(wǎng)絡(luò)化接口,實現(xiàn)與載荷網(wǎng)及遠(yuǎn)端處理平臺高速通信,。
同時,,通過對國外衛(wèi)星發(fā)射的大量成功案列調(diào)研可知,衛(wèi)星從組裝建造到發(fā)射的時間已從傳統(tǒng)模式的數(shù)月縮短至以小時為單位,并且隨著空間技術(shù)的提高和應(yīng)用需求的擴展,,對衛(wèi)星進行在軌維修,、硬件更換、功能升級等在軌服務(wù)的需求越來越急迫[1],。而上述星載計算機在軌服務(wù)的關(guān)鍵是實現(xiàn)設(shè)備模塊的通用化和產(chǎn)品化,,而模塊化設(shè)計的核心體現(xiàn)在接口設(shè)計上[2]。我國星載計算機的各模塊接口都是進行專門設(shè)計,,導(dǎo)致適應(yīng)性差,,難以持續(xù)維護。內(nèi)外接口標(biāo)準(zhǔn)不一,,無法重復(fù)利用,,造成開發(fā)效率低、周期長,、資源浪費等問題,。
針對上述兩方面的應(yīng)用需求,結(jié)合現(xiàn)場可編程門陣列(Field Programmable Gate Array,,F(xiàn)PGA)和千兆以太網(wǎng)的優(yōu)點,,本文設(shè)計了一種新型即插即用星載計算機千兆以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng)。該系統(tǒng)以國產(chǎn)處理器BM3803作為中央處理單元(Central Processing Unit,,CPU),,采用CPU+FPGA的數(shù)據(jù)處理體系結(jié)構(gòu),各設(shè)備模塊均遵循標(biāo)準(zhǔn)緊湊型外圍組件互聯(lián)(compact Peripheral Component Interconnect,,cPCI)內(nèi)部總線實現(xiàn)即插即用和通用化,,千兆以太網(wǎng)平臺采用媒體訪問控制器(MAC)+物理接口收發(fā)器(PHY)方式。MAC采用FPGA內(nèi)嵌的以太網(wǎng)知識產(chǎn)權(quán)(IP)核實現(xiàn),,PHY采用Marvell公司的88E1111芯片實現(xiàn),,兩者均支持吉比特介質(zhì)無關(guān)接口(GMII),部分上層協(xié)議在FPGA內(nèi)部使用硬件描述語言Verilog實現(xiàn),。
1 BM3803簡介
BM3803是基于可擴展處理器體系結(jié)構(gòu)(Scalable Processor Architecture,,SPARC)即V8體系結(jié)構(gòu)的32位精簡指令集計算機(Reduced Instruction Set Computer,RISC)嵌入式處理器,,可用于板上嵌入式實時計算機系統(tǒng),,能夠滿足各種航天應(yīng)用的功能以及性能指標(biāo)要求,只要加上存儲器和與應(yīng)用相關(guān)的外圍電路,,就可以構(gòu)成完整的單板計算機系統(tǒng),。
BM3803處理器總體結(jié)構(gòu)框圖如圖1所示,其內(nèi)部包含整數(shù)處理單元,,浮點處理單元,,獨立的指令和數(shù)據(jù)緩存Cache,,硬件乘法器和除法器,中斷控制器,,帶有跟蹤緩沖器的硬件調(diào)試單元(DSU),,兩個24位定時器,通用I/O接口,,看門狗,;能夠支持可編程的只讀存儲器(PROM)、靜態(tài)存儲器(SRAM),、動態(tài)存儲器(SDRAM)和I/O映射空間訪問的存儲器控制器,;具有軟件可以控制的省電工作模式;具有可實現(xiàn)PCI主機橋和從屬橋功能的PCI控制器,;符合PCI2.3規(guī)范的33 MHz PCI接口,;采用三模冗余、錯誤檢錯與糾錯(EDAC)和奇偶校驗的容錯設(shè)計[3],。
2 系統(tǒng)總體設(shè)計
星載計算機作為航天器綜合電子系統(tǒng)的數(shù)據(jù)管理及控制中心,,承擔(dān)著衛(wèi)星姿態(tài)與軌道控制、星務(wù)管理,、有效載荷數(shù)據(jù)管理與處理等任務(wù)[4],。根據(jù)任務(wù)和功能需求,同時兼顧系統(tǒng)標(biāo)準(zhǔn)通用化,,本文將星載計算機數(shù)傳系統(tǒng)劃分為電源管理模塊、大容量存儲模塊,、CPU控制模塊,、千兆以太網(wǎng)模塊、模擬量采集模塊以及總線通信模塊等,。根據(jù)BM3803處理器手冊和PCI規(guī)范,,一級PCI總線上最多可支持7個PCI設(shè)備模塊。CPU控制模塊為PCI總線的主控模塊,,其他模塊為從屬模塊,,每個模塊上含有一個PCI橋芯片以支持PCI協(xié)議規(guī)范。各功能模塊在電氣和邏輯上通過標(biāo)準(zhǔn)6U cPCI底板總線實現(xiàn)互連,。星載計算機系統(tǒng)硬件結(jié)構(gòu)框圖如2所示,。
以下對每個模塊的功能和組成進行說明。
?。?)CPU控制模塊
該模塊是星載計算機數(shù)據(jù)傳輸系統(tǒng)的核心模塊,,包括BM3803處理器、SDRAM數(shù)據(jù)存儲器和外圍電路,。其PCI接口配置為主機橋模式,,結(jié)合軟件可以訪問和配置cPCI總線上的其余設(shè)備模塊,,同時為這些設(shè)備提供總線仲裁。
?。?)大容量存儲模塊
該模塊主要對內(nèi)總線上高速數(shù)據(jù)進行存儲和備份,,主要由cPCI接口電路、DDR2和E2PROM緩存電路,、存儲控制電路組成,。
BM3803主控板提供25 MHz的有源晶振,F(xiàn)PGA上電復(fù)位及啟動配置后,,F(xiàn)PGA與CPU通過cPCI內(nèi)總線進行數(shù)據(jù)和地址互連,,CPU發(fā)送讀寫指令,由FPGA實現(xiàn)對指令的譯碼,。根據(jù)譯出的指令,,發(fā)送片選讀寫信號,實現(xiàn)對外擴大容量存儲模塊的控制,。
?。?)總線通信模塊
該模塊包括多個1553B總線芯片,以1553B總線控制器或遠(yuǎn)程終端的方式進行通信連接,??偩€通信模塊的PCI接口配置為從機橋模式??紤]到該系統(tǒng)CPU中的PCI中斷源數(shù)量有限,,當(dāng)有多個總線芯片工作時,采用分立元件對多路1553B總線中斷源進行判別與合并,,同時可分別清除每個中斷源狀態(tài)信息[5],。
(4)模擬量采集模塊
該模塊是將采集到的模擬信號,、雙電平信號和溫度信號,,轉(zhuǎn)換成數(shù)字信號并通過內(nèi)總線cPCI送至CPU主控模塊處理。主要由差分放大器,、多路選擇器,、電平比較器和模數(shù)轉(zhuǎn)換器組成。利用多路選擇器將多路模擬信號進行分時選通,,經(jīng)信號放大及模數(shù)轉(zhuǎn)換實現(xiàn)高速數(shù)據(jù)采集[6],。
(5)電源管理模塊
由于系統(tǒng)自帶的開關(guān)電源(DC/DC)模塊可變換為 +5 V的二次電源,,進入到各設(shè)備模塊,,會產(chǎn)生其余各檔二次電源,如3.3 V,,2.5 V,,1.8 V,,1.2 V,1 V,,以此來滿足各電路芯片要求的電源電壓,。電源管理模塊就是將+5 V電源,借助三端穩(wěn)壓器轉(zhuǎn)換成各模塊所需的電源電壓,。
?。?)千兆以太網(wǎng)模塊
根據(jù)計算機網(wǎng)絡(luò)基本模型,實現(xiàn)以太網(wǎng)數(shù)據(jù)傳輸?shù)年P(guān)鍵在于實現(xiàn)數(shù)據(jù)鏈路層協(xié)議和物理層協(xié)議,,即MAC控制器和以太網(wǎng)接口,,本文采用FPGA方式實現(xiàn)。
千兆以太網(wǎng)通信接口功能,,通過調(diào)用IP核在FPGA上搭建三態(tài)以太網(wǎng)MAC,,在片外配置三態(tài)以太網(wǎng)物理層芯片PHY,配合對傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議棧(TCP/IP)移植以及基于用戶數(shù)據(jù)報(UDP)協(xié)議編程,,實現(xiàn)以太網(wǎng)應(yīng)用,。
3 千兆以太網(wǎng)設(shè)計
3.1 物理層芯片
本文中物理層PHY芯片選用Marvell公司生產(chǎn)的88E1111千兆網(wǎng)絡(luò)物理層設(shè)備,該芯片具有以下功能[7]:
?。?)能夠支持1000BASE-T,、100BASE-TX和10BASE-T的應(yīng)用;
?。?)支持MAC通信的吉比特介質(zhì)無關(guān)(GMII),、RGMII、串行GMII等接口,;
?。?)支持10 Mb/s,100 Mb/s,,1 000 Mb/s的以太網(wǎng)傳輸;
?。?)提供IEEE 802.3u標(biāo)準(zhǔn)下的自動協(xié)商機制,,能夠?qū)崿F(xiàn)兩個網(wǎng)絡(luò)接口間對通信速度的自動協(xié)商;
?。?)提供標(biāo)準(zhǔn)的TWSI和MDC/MDIO接口,,控制和查看網(wǎng)絡(luò)芯片的狀態(tài);
?。?)采用了先進的混合信號進程實現(xiàn)均衡執(zhí)行,、消除回聲和傳音、數(shù)據(jù)恢復(fù)和錯誤校正,;
?。?)采用0.13 m CMOS工藝,,支持2.5 V、1.2 V低電壓供電,,最大功耗為0.75 W,,且支持自動降功耗功能。
3.2 硬件設(shè)計
通過調(diào)用FPGA內(nèi)部IP核實現(xiàn)MAC功能,,由88E1111芯片內(nèi)部的時鐘電路產(chǎn)生125 MHz時鐘提供給GMII接口,,其與PHY連接后,轉(zhuǎn)接到RJ45物理接口實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸,。千兆以太網(wǎng)硬件設(shè)計框圖如圖3所示,。
PHY芯片88E1111提供了GMII接口,MDIO控制PHY芯片的接口形式,,MDC控制MDIO方向,,GTX_CLK向88E1111提供125 MHz的外部輸入時鐘。發(fā)送端GTX_CLK是MAC的發(fā)送時鐘,,供TXEN,、TXER和TXD[7:0]使用。TXEN為發(fā)送使能信號,,TXER為發(fā)送錯誤標(biāo)志,,TXD[7:0]為發(fā)送的數(shù)據(jù)。
接收端RX_CLK是MAC的接收時鐘信號,,供RXEN,、RXER和RXD[7:0]使用。RXEN為接收使能信號,,RXER為接收錯誤標(biāo)志,,RXD[7:0]為接收的數(shù)據(jù)。
3.3 軟件設(shè)計
嵌入式以太網(wǎng)通信接口的總體軟件結(jié)構(gòu),,主要包括應(yīng)用程序,、Socket API函數(shù)、TCP/IP協(xié)議棧,、底層驅(qū)動,、嵌入式操作系統(tǒng)、底層硬件等部分,,框圖如圖4所示,。
以太網(wǎng)的底層驅(qū)動程序是實現(xiàn)TCP/IP協(xié)議棧的必要前提條件,以太網(wǎng)驅(qū)動程序封裝了底層硬件的細(xì)節(jié),,使得TCP/IP協(xié)議不用直接與硬件交互,,通過調(diào)用以太網(wǎng)驅(qū)動程序即可實現(xiàn)數(shù)據(jù)的收發(fā)。
TCP/IP協(xié)議棧是整個軟件設(shè)計的核心,,而Socket API函數(shù)是TCP/IP協(xié)議棧與應(yīng)用程序的接口,,應(yīng)用程序調(diào)用這些函數(shù)即可實現(xiàn)TCP/IP功能,。嵌入式操作系統(tǒng)BIOS主要負(fù)責(zé)軟件的任務(wù)調(diào)度、存儲管理等,。
在一個網(wǎng)絡(luò)程序執(zhí)行之前,,TCP/IP協(xié)議棧必須正確配置并初始化。網(wǎng)絡(luò)控制模塊(netctrl.lib)是協(xié)議棧的配置,、初始化和事件調(diào)度的核心,。幾乎所有網(wǎng)絡(luò)控制活動都發(fā)生在netctrl任務(wù)線程(也稱為“調(diào)度線程”)中。該線程通過BIOS配置工具或者通過BIOS API函數(shù)來創(chuàng)建,。該線程是程序的入口,,并最后演變成“調(diào)度線程”直到程序結(jié)束該線程才返回。網(wǎng)絡(luò)初始化過程所用函數(shù)及順序如圖5所示,。
網(wǎng)絡(luò)配置完成之后,,需要創(chuàng)建網(wǎng)絡(luò)任務(wù)進行網(wǎng)絡(luò)的傳輸,本文網(wǎng)絡(luò)發(fā)送以及接收采用面向連接的套接字(Socket)編程,。網(wǎng)絡(luò)協(xié)議處理軟件主要實現(xiàn)接收和發(fā)送千兆網(wǎng)絡(luò)數(shù)據(jù)功能,;對接收的以太網(wǎng)數(shù)據(jù)進行TCP/IP網(wǎng)絡(luò)解析,并緩存和轉(zhuǎn)發(fā)有效載荷,;接收來自外圍接口數(shù)據(jù),,進行TCP/IP網(wǎng)絡(luò)組幀,完成千兆網(wǎng)絡(luò)的發(fā)送,。網(wǎng)絡(luò)協(xié)議處理流程圖如圖6所示,。
本文硬件設(shè)計中,F(xiàn)PGA芯片的MAC通過MDC/MDIO接口控制88E1111,,再經(jīng)MDI[3:0]±管腳與RJ45連接器相連實現(xiàn)高速網(wǎng)絡(luò)數(shù)據(jù)傳輸,。同時在兩者之間添加濾波電路,防止直流串?dāng)_,、噪聲和靜電干擾,,從而提升網(wǎng)絡(luò)通信質(zhì)量。該以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng)實行單路收發(fā),,全雙工通信,。在單板測試時,系統(tǒng)數(shù)據(jù)傳輸穩(wěn)定可靠,,物理速率理論最高可達1 Gb/s,實際有效速率可達800 Mb/s,。
4 總結(jié)
本文創(chuàng)新性地結(jié)合星載計算機功能模塊間的即插即用性和千兆以太網(wǎng)兩方面的應(yīng)用需求,,設(shè)計了新型即插即用星載計算機千兆以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng)。其各功能模塊遵循標(biāo)準(zhǔn)cPCI內(nèi)總線,,實現(xiàn)計算機硬件模塊化,、標(biāo)準(zhǔn)化,。千兆以太網(wǎng)以MAC+PHY為核心,通過軟硬件設(shè)計完成網(wǎng)絡(luò)協(xié)議棧移植和網(wǎng)絡(luò)傳輸數(shù)據(jù)處理,,最終實現(xiàn)實測有效數(shù)據(jù)傳輸速率約為800 Mb/s,。利用千兆以太網(wǎng)數(shù)據(jù)傳輸系統(tǒng)將處理的高速信號從網(wǎng)口發(fā)送給遠(yuǎn)端處理計算平臺,可節(jié)省功率放大器和高頻電纜等物理設(shè)備,,減少資本投入,,加強系統(tǒng)的集成性和可靠性。該星載計算機系統(tǒng)接口更具通用性和可擴展性,,在未來較長時間內(nèi)都將滿足星載計算機等航天設(shè)備在千兆以太網(wǎng)方面的應(yīng)用需求,。
參考文獻
[1] SHOEMAKER J, WRIGHT M. Orbital express space operations architecture program[C]. International Society for Optical Engineering E,, Orlando: The International Commission for Optics,, 2003:1-9.
[2] 楊希祥,張為華.衛(wèi)星公用艙模塊化及其即插即用技術(shù)研究[C].2008年全國博士生學(xué)術(shù)論壇.北京:國務(wù)院學(xué)位辦公室,,2008.
[3] 北京微電子技術(shù)研究所.BM3803MG32位空間處理器用戶手冊,,Ver2.4.2[Z].北京:北京微電子技術(shù)研究所,2010.
[4] 郭碧洲.基于軟件表決的三模冗余星載計算機體系結(jié)構(gòu)研究與設(shè)計[D].上海:上海交通大學(xué),,2011.
[5] 詹盼盼,,郭廷源,高建軍,,等.基于BM3803處理器的即插即用星載計算機系統(tǒng)設(shè)計[J].航天器工程,,2013,22(6):92-96.
[6] 李偉,,劉麗紅,,牟文秀,等.基于BM3803的星載計算機標(biāo)準(zhǔn)化設(shè)計與實現(xiàn)[J].航天器工程,,2012,,21(2):68-72.
[7] Marvell Corporation. 88E1111 datasheet integrated 10/100/1000 ultra gigabit Ethernet transceiver[R]. US: Marvell Corporation, 2004.