这里提出了一种基于流水线技术的SpaceWire路由器。1SpaceWire.docVIP

这里提出了一种基于流水线技术的SpaceWire路由器。1SpaceWire.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
 近年来,随着SpaceWire总线技术在航天航空领域的不断应用,SpaceWire路由器在理论和技术应用方面也得到了飞速发展。国外,欧洲航天局 (ESA)已经将速度为200 Mb/s抗辐射的SpaceWire路由器应用到ESA的航天任务中。国内,目前对SpaceWire路由器的研究还处于初级阶段,设计的 SpaceWire路由器最高速度也只能达到100 Mb/s。为了提高路由器的传输速度,这里提出了一种基于流水线技术的SpaceWire路由器。   1 SpaceWire路由器概述   SpaceWire路由器由一定数量链接接口单元和路由单元构成。接口单元主要负责连接各SpaceWire接点,路由单元负责数据的路由交换。   1.1 SpaceWire数据链路层接口单元   SpaceWire数据链路接口主要由连接器、LVDS驱动器、编码器、译码器、状态机、收发FIFO以及主机接口组成,其结构如图1所示。 发送器接收来自发送FIFO的数据,使用DS编码技术编码这些数据并且进行发送。接收器负责解码DS(Din和Sin)信号产生N—Chars字符序列(data,EOP,EEP),这些字符序列通过接收FIFO传送给主机系统。   FIFO的使用简化了数据链路与主机系统之间的接口。在系统复位以后,发送和接收FIFO都是空的。在链路连接建立以后,如果接收到FCT表明链路另一端允许向它发送数据,那么被写入发送FIFO的数据将被发送。当接收FIFO内仍然有可用空间时,接收FIFO能够接收数据。主机系统从接收FIFO中读取数据。在FIFO全空或全满以前,FIFO的半空或半满标志会触发处理器干预对FIFO的读写操作。这种机制能够控制通过链路的数据流,使数据链路接口保持高速数据吞吐。   状态机用来负责控制接口单元的整体操作,它会提供链路初始化,普通操作和错误服务。   1.2 SpaceWire路由器单元   为了简化基于SpaceWire的通讯系统的复杂度,很重要的就是对SpaceWire路由单元的设计。如图2所示,在图中所设计的SpaceWire路由器中包括8个SpaceWire端口,即2个外部端口、1个内部配置端口、路由表、控制寄存器、状态/错误寄存器、控制逻辑、无阻塞交互开关等。   低延迟、虫洞路由和无阻塞交换开关使数据包能够到达任意一个SpaceWire端口和外部端口,或者也可以由配置端口直接访问任意一个SpaceWire端口和外部端口。所设计SpaceWire端口完全支持SpaceWire标准,提供高速的、双向的通讯。每个外部端口包括一个发送FIFO和一个接收FIFO,可以发送接收字符和包结束标志。   Time—code端口会和计数器一起被提供用来方便Time—code的传播。当一个有效的Time—code到达一个路由端口时,它也会被发送到其他 Spacewire端口,一个TICK_OUT信号会在Time—code端口被产生。路由器可以用Time—code端口提供的TICK_IN信号做为 Time—code的操作管理。   配置端口可以配置任何SpaceWire端口和外部端口。它包括可以控制SpaceWire端口、外部端口和交换开关的寄存器。配置端口为各种端口和交换开关都设置了状态寄存器。用配置端口的读命令可以读这些寄存器,从而来读出路由器的状态和错误信息,而且一些状态引脚上的状态和错误信息可以被选择输出。   路由表可以通过配置端口来访问。逻辑地址端口映射和优先位都可以在路由表中进行设置,路由表常常用来控制组适应路由和交互开关中的优先仲裁。   1.3 虫洞路由   SpaceWire路由器是基于虫洞路由上进行设计的。虫洞路由是包路由的一种形式。每一个包的包头包含着目的地的地址信息。每当有一个包到达路由器时,它就立即检测这个包的目的地址,然后按照该地址转发这个包到相应的输出端口。如果要求的输出端口是“空闲”(free)状态,则这个包会被立即转发到这个输出端口。这时,该端口就会被打上“忙”(blasy)状态标记,直到这个包的最后一个字符即“包尾”(EOP)通过路由器转发出去。   虫洞路由如图3所示,图中一个包从一个节点发出,通过路由器到达另外一个节点。包头标记为黑色,其余部分为灰色。路由器负责在输入端口和空闲的输出端口之间建立连接,当检测到EOP或EEP时,断开连接,释放输出端口为空闲状态,准备接收其他端口来的包。输出端口忙时,输入端口阻塞输入包,直到其空闲。通过输入端口相远节点发送FCT来实现,直到输出端口空闲时,路由器才取消阻塞。以上是虫洞路由和流量控制之间的关系。 2 基于流水线的SpaceWire路由器   SpaceWire路由器将数

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档