閆夢婷,安軍社,龔泉銘
(1.中國科學(xué)院 空間科學(xué)與應(yīng)用研究中心,北京 100190;2.中國科學(xué)院大學(xué),北京 100190)
基于RMAP機制的SpaceWire星載高速總線設(shè)計與實現(xiàn)
閆夢婷1,2,安軍社1,龔泉銘1,2
(1.中國科學(xué)院 空間科學(xué)與應(yīng)用研究中心,北京 100190;2.中國科學(xué)院大學(xué),北京 100190)
基于RMAP協(xié)議對 SpaceWire高速總線進(jìn)行了架構(gòu)設(shè)計與實現(xiàn)。首先給出了 SpaceWire高速總線的整體設(shè)計;其次對SpaceWire編解碼器中的DS編碼進(jìn)行了優(yōu)化;然后根據(jù)RMAP協(xié)議的基礎(chǔ)要求,設(shè)計了 RMAP SpaceWire總線的工作流程與實現(xiàn)方法;最后通過仿真平臺對該設(shè)計進(jìn)行仿真測試。仿真測試表明:設(shè)計實現(xiàn)了RMAP SpaceWire高速總線的基礎(chǔ)功能,數(shù)據(jù)鏈路傳輸速度可以達(dá)到79.84 Mb/s。
SpaceWire;RMAP;DS編解碼;高速總線
SpaceWire高速總線標(biāo)準(zhǔn)是ESA (European Space A-gency)于 2003年正式通過的一種總線標(biāo)準(zhǔn)。ESA基于IEEE 1355-1995和IEEE 1596.3(LVDS)兩個商用總線標(biāo)準(zhǔn),并且根據(jù)航天應(yīng)用的特點,在可靠性、功耗等方面進(jìn)行了改進(jìn),實現(xiàn)了一種串行、高速、點對點、全雙工的專用于空間高速數(shù)據(jù)傳輸?shù)目偩€標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)提供了一種統(tǒng)一用來連接傳感器、數(shù)據(jù)處理單元、大容量存儲器的基礎(chǔ)架構(gòu),具有很好的EMC特性,并且在錯誤檢測、異常處理、故障保護和故障恢復(fù)及時間確定性方面也做了相應(yīng)加強。使得SpaceWire能夠滿足新一代航天器電子系統(tǒng)對總線結(jié)構(gòu)的性能要求,具有獨特優(yōu)勢。
SpaceWire由節(jié)點、鏈路和路由 3部分組成,在基礎(chǔ)協(xié)議簇中對這3個重要單元進(jìn)行了定義和功能設(shè)計,目前已有成熟的IP核、軟件支持和測試設(shè)備等研究成果,使得SpaceWire應(yīng)用于多個空間任務(wù)中。SpaceWire能夠在物理層和數(shù)據(jù)鏈接層滿足空間航天器中標(biāo)準(zhǔn)化的高速率網(wǎng)絡(luò)交互需求,SpaceWire工作組目前致力于高層協(xié)議的研究,擬定首個SpaceWire高層協(xié)議,即RMAP(Remote Memory Access Protocol)。
國際上擁有SpaceWire協(xié)議IP核產(chǎn)品的公司與科研機構(gòu)主要包括 STAR-dundee和ESA等,相關(guān)產(chǎn)品主要包括 Codec和Router IP核,不同型號 FPGA的實現(xiàn)性能則差異明顯,GRSPW2 IP核集成的 Codec模塊在 Xilinx基于SRAM的Virtex2系列FPGA中實現(xiàn)的收發(fā)數(shù)據(jù)率可達(dá)200 Mb/s,但在Actel公司的反熔絲RTAX系列FPGA實現(xiàn)性能僅為 100 Mb/s[1]。目前基于 flash技術(shù) FPGA可實現(xiàn)的性能為180 Mb/s,該性能指標(biāo)為ESA的Codec IP核在速度等級為-2的 ProASIC3系列 FPGA中的實現(xiàn)結(jié)果[2]。
目前我國已對SpaceWire開展研究并取得一定成果。文獻(xiàn)[3]完成了 SpaceWire鏈路接口 IP核和 SpaceWire與PCI總線之間的接口卡設(shè)計,SpaceWire鏈路接口工作速度可達(dá)100 Mb/s。文獻(xiàn)[4-5]對SpaceWire在運載火箭中的應(yīng)用以及實時分布式中斷系統(tǒng)設(shè)計進(jìn)行了研究。文獻(xiàn)[6]主要對 SpaceWire CODEC IP核進(jìn)行了設(shè)計,鏈路速度可達(dá)80 Mb/s。本文在SpaceWire節(jié)點、鏈路和路由3個重要單元的基礎(chǔ)上,設(shè)計了基于RMAP的SpaceWire路由工作機制。為SpaceWire總線中各節(jié)點間的功能提供了標(biāo)準(zhǔn)化工作機制。
SpaceWire總線網(wǎng)絡(luò)由節(jié)點、鏈路和路由器三種基本單元組成。SpaceWire節(jié)點是指傳輸包的流出設(shè)備或者流向設(shè)備,一般是處理器、存儲單元、傳感器或連接在SpaceWire網(wǎng)絡(luò)上的其它單元。SpaceWire鏈路是指傳送數(shù)據(jù)包的傳輸路徑,連接在各個節(jié)點之間,數(shù)據(jù)包通過鏈路進(jìn)行傳輸通信。SpaceWire路由則實現(xiàn)了節(jié)點通過鏈路進(jìn)行數(shù)據(jù)交換機制。本設(shè)計中基于RMAP高層協(xié)議的SpaceWire總線整體架構(gòu)如圖1所示。
圖1 SpaceWire總線平臺示意圖
圖中節(jié)點(Note)、鏈路(Link)和路由器(Router)是構(gòu)成SpaceWire總線的基本單元。節(jié)點用于連接外接設(shè)備和總線,節(jié)點模塊包括RMAP外設(shè)控制模塊(Ctr_RMAP)和編解碼器模塊(CODEC)。外接設(shè)備數(shù)據(jù)接口連接到節(jié)點中RMAP外設(shè)控制模塊里的FIFO(First-In-First-Out)中,數(shù)據(jù)經(jīng)過RMAP外設(shè)控制模塊處理為符合RMAP傳輸要求的數(shù)據(jù)包后,通過編解碼器進(jìn)行編碼,鏈路傳輸至SpaceWire總線路由器。圖1中內(nèi)部包含8個編解碼器,編解碼器接收到數(shù)據(jù)包后,通過接收模塊(Re_part)進(jìn)行譯碼,然后通過RMAP路由器進(jìn)行路由,送至目的地址,通過目的地址接口的編解碼器進(jìn)行編碼,輸出總線路由器。編解碼器同時在節(jié)點和路由器中調(diào)用,主要包括接收模塊、發(fā)送模塊以及控制模塊。接收模塊實現(xiàn)接收數(shù)據(jù)包及譯碼功能,發(fā)送模塊實現(xiàn)發(fā)送數(shù)據(jù)包及編碼功能??刂颇K則實現(xiàn)了編解碼器執(zhí)行收發(fā)數(shù)據(jù)包功能的狀態(tài)機。
SpaceWire基礎(chǔ)協(xié)議定義了信號層、字符層和交換層,這幾個低層協(xié)議定義的功能由編解碼器實現(xiàn)。SpaceWire總線的信號層定義了SpaceWire總線中傳輸信號的電壓水平、噪聲幅度和編碼方式。指定采用低壓差分信號(LVDS)作為信令技術(shù),這是由于LVDS是一種高速數(shù)據(jù)傳輸、省電、抑制噪聲、成本低以及可以采用較高集成度的技術(shù),能夠滿足供電電流低、功率低的要求,有助于降低系統(tǒng)成本。
2.1DS解碼電路的優(yōu)化設(shè)計
SpaceWire總線的信號編碼采用DS(Data-Strobe)編碼。DS編碼如式(1)和式(2)定義:
根據(jù)上述公式,搭建門電路時若用簡單的組合邏輯實現(xiàn)異或,容易產(chǎn)生競爭冒險,導(dǎo)致接收到的數(shù)據(jù)異常。為了對該現(xiàn)象進(jìn)行改進(jìn),探討DS信號變化的內(nèi)在規(guī)律。從圖2中左圖可見,DS信號的每次轉(zhuǎn)換有且只變換其中的1位信號,通過2次變換后DS數(shù)據(jù)都將發(fā)生翻轉(zhuǎn)。
圖2 DS信號轉(zhuǎn)移圖
從DS編碼規(guī)律可知,有且只有當(dāng)時鐘信號為上升沿時,D和S信號發(fā)生從同相至反相的跳變;同理,有且只有當(dāng)時鐘信號為下降沿時,D和S信號發(fā)生從反相至同相的跳變。根據(jù)上述分析結(jié)論設(shè)計的DS數(shù)據(jù)時鐘恢復(fù)電路如圖3所示。圖3電路是由異或門、鎖存器以及觸發(fā)器構(gòu)成。當(dāng)時鐘信號為上升沿時,同相狀態(tài)的 data數(shù)據(jù)將保持不變,如圖3中上方電路;當(dāng)時鐘信號為下降沿時,反相狀態(tài)的 data數(shù)據(jù)將保持不變,如圖3中下方電路。
圖3 優(yōu)化后的DS解碼電路
2.2SpaceWire的數(shù)據(jù)字符與控制字符
SpaceWire總線標(biāo)準(zhǔn)的字符層定義了數(shù)據(jù)字符、控制字符和控制碼、奇偶校驗以及時間碼等內(nèi)容,此外為了更好地支持路由和網(wǎng)絡(luò)協(xié)議,還提供了 Time-Code來支持在網(wǎng)絡(luò)層傳播系統(tǒng)時間。字符層定義有數(shù)據(jù)字符和控制字符。數(shù)據(jù)字符包含8位有效數(shù)據(jù)位,一位奇偶校驗位、一位為0的標(biāo)志位??刂谱址?個,分別是FCT、EOP、EEP和 ESC,編碼由 4個位構(gòu)成,包含一位奇偶校驗位,一位為1的標(biāo)志位和兩位控制數(shù)據(jù)。協(xié)議中還有兩個重要的控制碼NULL和Time-Code,其中NULL是由控制字符ESC加上FCT組成的。當(dāng)鏈接不傳送數(shù)據(jù)或控制字符時,SpaceWire端口通過傳送NULL字符維持鏈路連接。
本設(shè)計中的8口基于RMAP的SpaceWire路由器如圖4所示,8個編解碼器用于接收和發(fā)送數(shù)據(jù)包,與上述介紹的編解碼器模塊一致。
圖4 基于RMAP的SpaceWire路由器框圖
基于 RMAP的 SpaceWire路由器中核心模塊為RMAP路由控制器,路由矩陣實現(xiàn)了各個接口之間的鏈路搭建。RMAP路由管理器實現(xiàn)功能控制和工作協(xié)調(diào),路由表用于地址索引,Time-Code管理模塊用于 Time-Code碼的廣播,減少時間誤差。配置端口模塊用于實現(xiàn)對路由表配置等工作。SpaceWire的路由地址表用于配合邏輯地址的索引,使用路徑地址來表示目的地址時,目的地址由一系列路由器的輸出端口標(biāo)識符組成,通過這一系列路由標(biāo)識符來決定包在網(wǎng)絡(luò)中的傳播路徑,將包從發(fā)送端傳輸?shù)侥康牡刂贰?/p>
RMAP協(xié)議提供了一個標(biāo)準(zhǔn)化的方案,使得一個SpaceWire節(jié)點能夠?qū)α硪粋€SpaceWire節(jié)點進(jìn)行讀寫操作、傳輸數(shù)據(jù)。協(xié)議中包含3種操作,即寫操作、讀操作以及讀改寫操作。
寫操作包括非數(shù)據(jù)校驗非應(yīng)答寫、非數(shù)據(jù)校驗應(yīng)答寫、數(shù)據(jù)校驗非應(yīng)答寫、數(shù)據(jù)校驗應(yīng)答寫4種不同的寫操作。數(shù)據(jù)校驗類寫操作為了實現(xiàn)對數(shù)據(jù)的檢查校驗,需要在寫操作之前在目的節(jié)點將數(shù)據(jù)緩存。但由于存儲單元數(shù)量有限,無法滿足大量的緩存需求,因此此類寫操作應(yīng)該用于相對短的數(shù)據(jù)。非數(shù)據(jù)校驗可用于數(shù)據(jù)量較長的寫操作,目的節(jié)點接到寫操作指令后立即執(zhí)行寫數(shù)據(jù)的動作,無需緩存數(shù)據(jù)進(jìn)行校驗。
讀操作機制提供了一個策略給源節(jié)點,源節(jié)點根據(jù)該策略去讀取目的節(jié)點存儲區(qū)域內(nèi)的一個或者多個字節(jié)的數(shù)據(jù)。讀取的數(shù)據(jù)將被封裝在一個數(shù)據(jù)包中返回到源節(jié)點。當(dāng)它到達(dá)源節(jié)點時,源節(jié)點用戶將從數(shù)據(jù)包中得到所讀取的數(shù)據(jù)。
讀改寫指令讀取一個寄存器或者存儲器的數(shù)據(jù),返回它的值,并對寄存器寫入一個新的值,新的值被確定在指令中。RMAP讀修改寫操作的發(fā)起方能夠?qū)⒕W(wǎng)絡(luò)中其它節(jié)點指定存儲區(qū)域的數(shù)據(jù)讀出,并進(jìn)行修改后重新寫入該存儲區(qū)。1次最大可實現(xiàn)4 B數(shù)據(jù)的讀改寫。
圖5 RMAP SpaceWire路由器工作流程圖
圖6 RMAP SpaceWire路由器工作波形圖
在 Modelsim6.2g下,通過 Xilinx Virtex-4 FPGA開發(fā)平臺上搭建仿真平臺,對SpaceWire總線進(jìn)行仿真測試,波形如圖6所示。圖中顯示優(yōu)化后的DS編碼波形圖,D和S信號能夠精確跳變實現(xiàn)DS編解碼功能。通過仿真波形可以看出,RMAP SpaceWire總線在工作時,能夠進(jìn)行連續(xù)大數(shù)據(jù)量的時間碼與數(shù)據(jù)包收發(fā),運行正常。數(shù)據(jù)發(fā)送的起始時間 Tstart與接收完成時間 Tend分別為40μs和6 581μs,可以得出傳輸速率為:
由此可以看出,本設(shè)計基于RMAP這一先進(jìn)的高層通信協(xié)議設(shè)計實現(xiàn)的SpaceWire總線平臺能夠完成數(shù)據(jù)包的路由通信,傳輸速率達(dá)到高速總線的使用需求。
[1]WORSFOLD P.Evolution of the MARC SpaceWire and power disstribution architecture from concept to tested hardware[C].International SpaceWire Conference,2010.
[2]WALKER P.IEEE 1394 compared with SpaceWire.4Links Ltd.,Milton Keynes,2004.
[3]Asaf Baron.Benchmarking SpaceWire Networks[C].International SpaceWire Conference,2007.
[4]Philippe Fourtier.Simulation of a SpaceWire Network[C]. International SpaceWire Conference,2010.
[5]WOLFRAM K D.A new radiation-hardened satellite on board LAN based on IEEE Std 1394,AIAA 2004-5869,2004.
[6]楊志,李國軍,李芳,等.SpaceWire星載網(wǎng)絡(luò)通信協(xié)議設(shè)計[J].宇航學(xué)報,2012,33(2):200-209.
[7]田園,張杰.基于SpaceWire的鏈路狀態(tài)算法研究與設(shè)計[J].計算機工程,2011,37(23):113-115.
Design and implement of SpaceWire on-board high speed bus based on RMAP protocol
Yan Mengting1,2,An Junshe1,Gong Quanming1,2
(1.Center for Space Science and Applied Research,Chinese Academy of Science,Beijing 100190,China;2.University of Chinese Academy Sciences,Beijing 100190,China)
The structure of SpaceWire high speed bus is designed and realized base on RMAP protocol.The basic design of SpaceWire high speed bus is given first.Method is given for the realization of the functions of encoder and decoder.The working process and realization of RMAP SpaceWire bus is designed according to basic requirements of RMAP protocol.In the final part, the design is tested on a simulation platform.The result shows that our design realize the basic functions of RMAP SpaceWire high speed bus.The transmission speed of the data link can reach 79.84 Mb/s.
SpaceWire;RMAP;DS(Data-Strobe)encode and decode;high speed bus
TN95
A
10.16157/j.issn.0258-7998.2016.01.028
2015-08-31)
閆夢婷(1989-),通信作者,女,博士研究生,主要研究方向:星載電子系統(tǒng)、計算機應(yīng)用技術(shù),E-mail:yanmengting0101@163.com。
安軍社(1969-),男,博士,研究員,主要研究方向:星載電子系統(tǒng)、星載計算機系統(tǒng)。
龔泉銘(1990-),男,博士研究生,主要研究方向:星載電子系統(tǒng)、計算機應(yīng)用技術(shù)。
中文引用格式:閆夢婷,安軍社,龔泉銘.基于RMAP機制的SpaceWire星載高速總線設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2016,42(1):108-110,114.
英文引用格式:Yan Mengting,An Junshe,Gong Quanming.Design and implement of SpaceWire on-board high speed bus based on RMAP protocol[J].Application of Electronic Technique,2016,42(1):108-110,114.