论文部分内容阅读
SpaceWire总线是由欧空局(ESA)基于IEEE1355和ANSI/TIA/EIA-644商业标准推出的一种专门面向航天应用的专用通信标准。因其具有串行、双向全双工、全数字、高速(200MHz)、带路由器的拓扑结构等特点,在航天工业界具有广阔的应用前景。本文在对SpaceWire协议详细研究分析的基础上,实现了SpaceWire路由器的设计和验证,主要研究内容如下:(1)在对应用于航天领域的各种总线分析比较的基础上,分析和研究了SpaceWire总线的国内外技术现状与实现原理。重点研究了其物理层、信号层、字符层、交换层、数据包层、网络层,作为本文路由器的设计依据。(2)设计了一个四端口、全双工的SpaceWire路由器IP核,确定了其总体方案,并针对其节点和路由单元分别进行了设计和仿真。在设计节点时,采用层次化设计方法,将其划分为Rx、Tx、Rx_FIFO、Tx_FIFO以及FSM模块分别进行设计。采用FCT流量控制节点数据的传输,与TCP、UDP等协议相比,算法简单、速度更快。并采用两级触发器的方式来同步节点中存在的节点时钟和DS解码时钟。设计IP核的路由单元时,提出了基于输出端口错位和时间片循环调度的cell矩阵的无阻塞路由算法,以避免输入端口和输出端口优先级的判别,达到简化算法、减少硬件开支和缩短时间延时的目的。同时为了避免空间辐射造成的单粒子翻转现象引起的电路传输错误,对cell单元增加了容错机制。首先对传输数据加上能够纠一检二的HanMing编码;当检测到错误时,再对单个cell采用动态局部重构的方式实现三模冗余,并且用Partition Pin来代替传统的总线宏作为静态模块和动态模块的传输枢纽。这种动态三模冗余重构一方面能够提高数据的可靠性,另一方面减少硬件资源的损耗。(3)在Xilinx Virtex5开发板上,用EDK搭建硬件平台,将SpaceWire路由器IP核挂接在PLB总线上,MicroBlaze软核作为处理器,实现了75Mbps的通信。