摘 要: 針對我國現(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ù)傳輸速率最高可達(dá)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)星進(jìn)行在軌維修、硬件更換、功能升級等在軌服務(wù)的需求越來越急迫[1]。而上述星載計算機在軌服務(wù)的關(guān)鍵是實現(xiàn)設(shè)備模塊的通用化和產(chǎn)品化,而模塊化設(shè)計的核心體現(xiàn)在接口設(shè)計上[2]。我國星載計算機的各模塊接口都是進(jìn)行專門設(shè)計,導(dǎo)致適應(yīng)性差,難以持續(xù)維護(hù)。內(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所示。
以下對每個模塊的功能和組成進(jìn)行說明。
(1)CPU控制模塊
該模塊是星載計算機數(shù)據(jù)傳輸系統(tǒng)的核心模塊,包括BM3803處理器、SDRAM數(shù)據(jù)存儲器和外圍電路。其PCI接口配置為主機橋模式,結(jié)合軟件可以訪問和配置cPCI總線上的其余設(shè)備模塊,同時為這些設(shè)備提供總線仲裁。
?。?)大容量存儲模塊
該模塊主要對內(nèi)總線上高速數(shù)據(jù)進(jìn)行存儲和備份,主要由cPCI接口電路、DDR2和E2PROM緩存電路、存儲控制電路組成。
BM3803主控板提供25 MHz的有源晶振,F(xiàn)PGA上電復(fù)位及啟動配置后,F(xiàn)PGA與CPU通過cPCI內(nèi)總線進(jìn)行數(shù)據(jù)和地址互連,CPU發(fā)送讀寫指令,由FPGA實現(xiàn)對指令的譯碼。根據(jù)譯出的指令,發(fā)送片選讀寫信號,實現(xiàn)對外擴大容量存儲模塊的控制。
?。?)總線通信模塊
該模塊包括多個1553B總線芯片,以1553B總線控制器或遠(yuǎn)程終端的方式進(jìn)行通信連接??偩€通信模塊的PCI接口配置為從機橋模式??紤]到該系統(tǒng)CPU中的PCI中斷源數(shù)量有限,當(dāng)有多個總線芯片工作時,采用分立元件對多路1553B總線中斷源進(jìn)行判別與合并,同時可分別清除每個中斷源狀態(tài)信息[5]。
?。?)模擬量采集模塊
該模塊是將采集到的模擬信號、雙電平信號和溫度信號,轉(zhuǎn)換成數(shù)字信號并通過內(nèi)總線cPCI送至CPU主控模塊處理。主要由差分放大器、多路選擇器、電平比較器和模數(shù)轉(zhuǎn)換器組成。利用多路選擇器將多路模擬信號進(jìn)行分時選通,經(jīng)信號放大及模數(shù)轉(zhuǎn)換實現(xiàn)高速數(shù)據(jù)采集[6]。
(5)電源管理模塊
由于系統(tǒng)自帶的開關(guān)電源(DC/DC)模塊可變換為 +5 V的二次電源,進(jìn)入到各設(shè)備模塊,會產(chǎn)生其余各檔二次電源,如3.3 V,2.5 V,1.8 V,1.2 V,1 V,以此來滿足各電路芯片要求的電源電壓。電源管理模塊就是將+5 V電源,借助三端穩(wěn)壓器轉(zhuǎn)換成各模塊所需的電源電壓。
(6)千兆以太網(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等接口;
(3)支持10 Mb/s,100 Mb/s,1 000 Mb/s的以太網(wǎng)傳輸;
(4)提供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);
?。?)采用了先進(jìn)的混合信號進(jìn)程實現(xiàn)均衡執(zhí)行、消除回聲和傳音、數(shù)據(jù)恢復(fù)和錯誤校正;
(7)采用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ù)進(jìn)行網(wǎng)絡(luò)的傳輸,本文網(wǎng)絡(luò)發(fā)送以及接收采用面向連接的套接字(Socket)編程。網(wǎng)絡(luò)協(xié)議處理軟件主要實現(xiàn)接收和發(fā)送千兆網(wǎng)絡(luò)數(shù)據(jù)功能;對接收的以太網(wǎng)數(shù)據(jù)進(jìn)行TCP/IP網(wǎng)絡(luò)解析,并緩存和轉(zhuǎn)發(fā)有效載荷;接收來自外圍接口數(shù)據(jù),進(jìn)行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)定可靠,物理速率理論最高可達(dá)1 Gb/s,實際有效速率可達(dá)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)用需求。
參考文獻(xiàn)
[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.