基于PCI接口的SpaceWire總線(xiàn)通訊模塊設(shè)計(jì)
SpaceWire概述
SpaceWire是為更好地滿(mǎn)足星載設(shè)備間高速數(shù)據(jù)傳輸需求而提出的一種高速的(2~400Mbit/s,目前實(shí)現(xiàn)的宇航級(jí)節(jié)點(diǎn)設(shè)備之間的速度為200Mbit/s)、點(diǎn)對(duì)點(diǎn)、全雙工的串行總線(xiàn)網(wǎng)絡(luò),在2003年1月正式成為歐空局標(biāo)準(zhǔn)。它致力于航天器有效載荷系統(tǒng)數(shù)據(jù)和控制信息的處理以滿(mǎn)足未來(lái)高性能高速數(shù)據(jù)傳輸為目標(biāo),提供了一種統(tǒng)一的用來(lái)連接傳感器、數(shù)據(jù)處理單元、大容量存儲(chǔ)器、遙測(cè)子系統(tǒng)以及電地支持設(shè)備EGSE(electronic ground support equipment)的基礎(chǔ)架構(gòu)。
SpaceWire標(biāo)準(zhǔn)具體包括了鏈路、節(jié)點(diǎn)和路由三方面的內(nèi)容。所謂SpaceWire節(jié)點(diǎn),是指?jìng)鬏敯牧鞒鲈O(shè)備或者流向設(shè)備,可以是處理器、存儲(chǔ)單元、傳感器、電地支持設(shè)備(EGSE)或連接在SpaceWire總線(xiàn)網(wǎng)絡(luò)上的其它單元。
SpaceWire節(jié)點(diǎn)通訊板卡硬件設(shè)計(jì)
EMBC1000-PCISPW是歐比特公司自主研制的完全遵循并實(shí)現(xiàn)ECSS-E-ST-50-12C協(xié)議規(guī)范的航天設(shè)備間的高速SpaceWire數(shù)據(jù)總線(xiàn)的節(jié)點(diǎn)終端通訊板卡(本板卡實(shí)現(xiàn)了200Mbit/s的速率)。此SpaceWire總線(xiàn)節(jié)點(diǎn)通訊板卡可以嵌入在航天子系統(tǒng)中,將航天子系統(tǒng)與其它SpaceWire網(wǎng)絡(luò)之間連接,保證航天子系統(tǒng)之間高速、實(shí)時(shí)、確定、可靠地進(jìn)行數(shù)據(jù)交換。其硬件設(shè)計(jì)分為FPGA控制模塊、PCI接口模塊、MDM9S接口模塊和SRAM緩存模塊。
1.節(jié)點(diǎn)通訊卡總體結(jié)構(gòu)
本文設(shè)計(jì)的SpaceWire總線(xiàn)節(jié)點(diǎn)系統(tǒng)硬件架構(gòu)如圖1所示。各模塊的功能如下:
FPGA控制模塊:實(shí)現(xiàn)4路SpaceWire總線(xiàn)通信協(xié)議接口功能,硬件實(shí)現(xiàn)LVDS信號(hào)傳輸,實(shí)現(xiàn)數(shù)據(jù)通訊過(guò)程中產(chǎn)生的大量數(shù)據(jù)實(shí)現(xiàn)緩存并與PCI9056通信接口等功能;
SRAM緩存器:存儲(chǔ)SPW總線(xiàn)收發(fā)機(jī)制中產(chǎn)生的大容量高速數(shù)據(jù)的緩存功能;
MDM9S接口模塊:MDM9S接口實(shí)現(xiàn)FPGA的LVDS信號(hào)與外部SPW設(shè)備之間的接口功能;
PCI接口模塊:實(shí)現(xiàn)PCI總線(xiàn)的接口協(xié)議功能,實(shí)現(xiàn)FPGA與上位機(jī)軟件間進(jìn)行數(shù)據(jù)的通信。
2.FPGA控制器
FPGA控制器實(shí)現(xiàn)4路SpaceWire總線(xiàn)協(xié)議節(jié)點(diǎn)控制的全部功能,包括狀態(tài)機(jī)控制模塊、發(fā)送模塊、接收模塊、發(fā)生緩存模塊(TXFIFO)、接收緩存模塊(RXFIFO)以及與PCI9056通信接口模塊(PCICTRL)等功能,如圖2所示。
本設(shè)計(jì)中FPGA采用Altera公司的EP3C55F484I7N芯片,時(shí)鐘頻率采用80MHz,同時(shí)為了實(shí)現(xiàn)SpaceWire總線(xiàn)傳輸速率,F(xiàn)PGA內(nèi)部采用了PLL對(duì)時(shí)鐘進(jìn)行了分頻,以滿(mǎn)足設(shè)計(jì)要求。
狀態(tài)機(jī)控制器負(fù)責(zé)對(duì)SPW終端節(jié)點(diǎn)的功能控制寄存器、節(jié)點(diǎn)狀態(tài)寄存器、鏈路地址、時(shí)鐘分頻寄存器、直接存儲(chǔ)訪(fǎng)問(wèn)(DMA)通道控制寄存器等進(jìn)行參數(shù)配置,通過(guò)PCI9056地址映射到了上位機(jī)的某一段地址空間,因此上位機(jī)軟件就可以直接通過(guò)對(duì)其相關(guān)寄存器配置即可完成對(duì)SpaceWire節(jié)點(diǎn)模塊的控制。下面分發(fā)送和接收兩個(gè)方面簡(jiǎn)單介紹單個(gè)SpaceWire總線(xiàn)節(jié)點(diǎn)的工作過(guò)程:
接收模塊將從MDM9S接口接收到的采用DS(Data-Strobe)方式傳輸?shù)腖VDS信號(hào)進(jìn)行數(shù)據(jù)恢復(fù),并將其傳入到接收緩存中,再傳輸至FPGA內(nèi)部的雙口RAM中,上位機(jī)通過(guò)PCI9056橋接芯片的地址映射可以直接讀取該雙口RAM的數(shù)據(jù)來(lái)進(jìn)行分析處理。發(fā)送過(guò)程與接收過(guò)程類(lèi)似并相反。
3.PCI9056橋接芯片
在SpaceWire總線(xiàn)節(jié)點(diǎn)終端系統(tǒng)與航電計(jì)算機(jī)系統(tǒng)之間實(shí)現(xiàn)PCI通訊有兩個(gè)方式,其一就是采用CPLD或者FPGA專(zhuān)門(mén)作為一個(gè)獨(dú)立的模塊實(shí)現(xiàn)PCI協(xié)議,另外一種方式就是采用專(zhuān)用PCI協(xié)議芯片。本終端系統(tǒng)設(shè)計(jì)中從性能穩(wěn)定性和結(jié)構(gòu)簡(jiǎn)易性方面出發(fā),選擇用PLX公司生產(chǎn)的PCI9056芯片,該芯片可以設(shè)置成多種傳輸模式,完成SpaceWire總線(xiàn)節(jié)點(diǎn)與航電設(shè)備之間的通信橋接功能。
在PCI9056與本地FPGA之間的通信分為直接主模式、直接從模式和DMA模式。由于PCI通信要求達(dá)到SpaceWire總線(xiàn)網(wǎng)絡(luò)的2Mbit/s至400Mbit/s通訊速率(本板卡實(shí)現(xiàn)了200Mbit/s),這里采用的芯片時(shí)鐘頻率為66MHz,傳輸模式為直接從模式,PCI9056為主芯片,F(xiàn)PGA為從芯片。
為了與PCI9056進(jìn)行高效的數(shù)據(jù)通信,F(xiàn)PGA內(nèi)部劃出了一部分內(nèi)存以配置成雙口RAM的形式完成PCI9056對(duì)SpaceWire數(shù)據(jù)的收發(fā)以及相應(yīng)控制寄存器的控制傳輸。
參考文獻(xiàn):
[1] EMBC1000-PCISPW型SpaceWire節(jié)點(diǎn)通訊板卡使用說(shuō)明書(shū),歐比特控制工程股份有限公司,2013。
[2] 康詠岐, 面向航天應(yīng)用的SpaceWire節(jié)點(diǎn)單元的IP 核設(shè)計(jì)與實(shí)現(xiàn)[J],微電子學(xué)與計(jì)算機(jī),2005,22(9),120-123。
[3] 陳健飛,曹松,SpaceWire總線(xiàn)接口終端的設(shè)計(jì)與實(shí)現(xiàn)[J],微計(jì)算機(jī)信息,2010,26(82),123-124。
[4] 陳大羽等,空間高速總線(xiàn)SpaceWire節(jié)點(diǎn)的設(shè)計(jì)與實(shí)現(xiàn)[J],航天返回與遙感,2010,31(4),58-64
評(píng)論