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