动态可重构串行总线中基于开关矩阵的数据传输管理方法转让专利

申请号 : CN201210083554.3

文献号 : CN102622323B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱晓燕张伟功邓哲乔永强尚媛园关永丁瑞王嘉佳杜瑞

申请人 : 首都师范大学

摘要 :

一种动态可重构串行总线中基于开关矩阵的数据传输管理方法,其特征在于:根据通道故障信息,采用轮询方式将存储体数据发送到有效通道上,其中所述轮询方式为:如果此时所有通道均有效,则将存储空间第一个字节的数据发送到1号通道,第二个字节发送到2号通道,依此类推,直到最后一个字节发送完毕或通道出现故障;如果通道中某一路或某几路出现故障,则将所有有效通道按照通道号排列,将存储空间中的数据依次发送到排列的有效通道中而跳过出现故障的通道。本发明利用通道故障状态表,通过开关矩阵数据传输管理阵列动态管理缓冲区与不定数目通道的数据传输,使数据均衡地分配到有效通道上,实现了故障状态下数据的动态重构。

权利要求 :

1.一种动态可重构串行总线中基于开关矩阵的数据传输管理方法,其特征在于:根据通道故障信息,采用轮询方式将存储体数据发送到有效通道上,其中所述轮询方式为:如果此时所有通道均有效,则将存储空间第一个字节的数据发送到1号通道,第二个字节发送到2号通道,依此类推,直到最后一个字节发送完毕或通道出现故障;如果通道中某一路或某几路出现故障,则将所有有效通道按照通道号排列,将存储空间中的数据依次发送到排列的有效通道中而跳过出现故障的通道。

2.根据权利要求1所述的数据传输管理方法,其特征在于:采用四体FIFO在数据传输过程中缓冲数据,并定义一个4*32的开关矩阵结构,每个时钟周期将四个FIFO存储体与开关矩阵固定4行对应通道进行映射,每个FIFO存储体与本周期对应的四个通道中某一条的对应是不定的,由之前周期的对应关系和通道有效情况决定。

3.根据权利要求2所述的数据传输管理方法,其特征在于:上述映射过程是通过流水线方式实现并进行数据传输控制的。

4.根据权利要求3所述的数据传输管理方法,其特征在于:采用二级流水线方式对数据传输过程进行控制,其中物理层通道的数据存入四个FIFO存储体的过程为:在状态1读出第0至3通道有效通道的数据,并计算第0至3通道有效通道的数据存储位置,在状态2,向这四组通道中有效通道存储区写入数据,同时,向第4至7通道的有效通道存储区发出读信号,并计算这四个通道有效通道数据的存储位置,依次类推。

5.根据权利要求4所述的数据传输管理方法,其特征在于:通过状态机实现所述映射和传输控制,其中在idle状态下,如果物理层或者处理层通知开始进行数据动态重构,跳转到状态1;其中物理层通道上的数据向四体FIFO存储的过程为:在状态1计算0至3通道的数据存入哪个FIFO存储体,如果此时0-3通道的数据准备好,所存入FIFO不满则跳转到状态2,并且向物理层存储区域发送读信号,在下一个周期将数据输出,并向存入的FIFO存储体发送写信号,否则则继续等待;在状态2计算4至7通道的数据存入哪个FIFO存储体,如果此时4-7通道的数据准备好,并且所存入FIFO不满则跳转到状态3,并且向物理层存储区域发送读信号,在下一个周期将数据输出,并向存入的FIFO存储体发送写信号;否则则继续等待;依次类推;在任意状态下,如果收到传输停止标志信号,则跳转到idle状态。

说明书 :

动态可重构串行总线中基于开关矩阵的数据传输管理方法

技术领域

[0001] 本发明涉及一种动态可重构串行总线中数据传输管理方法,尤其是一种动态可重构串行总线中基于开关矩阵的数据传输管理方法。

背景技术

[0002] 动态可重构高速串行总线(UM-BUS)是针对航空、航天等高可靠应用场合所定义的一种基于M-LVDS(多点低压差分信号)的高速串行总线,采用最多32个通道进行数据的并发传输,这些并发的总线通道本身构成冗余,在故障检测后通过动态切换,动态地将数据均衡分配到有效通道上,实现总线容错。
[0003] UM-BUS在通信过程中,采用数据包的形式交互信息,数据传输格式分为长包数据和短包数据。其中长包格式用于大量数据的传输。设备间传输时采用8b/10b编码方式。
[0004] 为实现高速传输,总线的目标是在最多32个通道实现并发传输时,单通道速率达到100Mbps,在进行大量数据传输时,每秒需要处理320M字节的数据,总线工作时钟为100Hz,每个时钟周期需要处理4个字节的数据,即需要在每个时钟周期处理四个通道的数据,因此采用四体FIFO结构对数据进行缓冲存储,每个FIFO位宽为一个字节。在将4个缓冲存储体与不定数目通道进行数据传输映射时,如果采用固定结构,具有逻辑简单的优点,但对于某一条或几条通道发生故障的情形,数据无法均匀分配到通道上,不能实现总线的重构。

发明内容

[0005] 本发明的目的在于设计一种动态可重构串行总线中基于开关矩阵的数据传输管理方法,利用通道故障状态表,通过开关矩阵数据传输管理阵列动态管理缓冲区与不定数目通道的数据传输,使数据均衡地分配到有效通道上,实现故障状态下数据的动态重构。
[0006] 本发明为实现上述目的所采取的技术方案为:
[0007] 一种动态可重构串行总线中基于开关矩阵的数据传输管理方法,其特征在于:根据通道故障信息,采用轮询方式将存储体数据发送到有效通道上,其中所述轮询方式为:如果此时所有通道均有效,则将存储空间第一个字节的数据发送到1号通道,第二个字节发送到2号通道,依此类推,直到最后一个字节发送完毕或通道出现故障;如果通道中某一路或某几路出现故障,则将所有有效通道按照通道号排列,将存储空间中的数据依次发送到排列的有效通道中而跳过出现故障的通道。
[0008] 进一步地,采用四体FIFO在数据传输过程中缓冲数据,并定义一个4*32的开关矩阵结构,每个时钟周期将四个FIFO存储体与开关矩阵固定4行对应通道进行映射,每个FIFO存储体与本周期对应的四个通道中某一条的对应是不定的,由之前周期的对应关系和通道有效情况决定。
[0009] 进一步地,上述映射过程是通过流水线方式实现并进行数据传输控制的。
[0010] 进一步地,采用二级流水线方式对数据传输过程进行控制,其中物理层通道的数据存入四个FIFO存储体的过程为:在状态1读出第0至3通道有效通道的数据,并计算第0至3通道有效通道的数据存储位置,在状态2,向这四组通道中有效通道存储区写入数据,同时,向第4至7通道的有效通道存储区发出读信号,并计算这四个通道有效通道数据的存储位置,依次类推。
[0011] 进一步地,通过状态机实现所述映射和传输控制,其中在idle状态下,如果物理层或者处理层通知开始进行数据动态重构,跳转到状态1;其中物理层通道上的数据向四体FIFO存储的过程为:在状态1计算0至3通道的数据存入哪个FIFO存储体,如果此时0-3通道的数据准备好,所存入FIFO不满则跳转到状态2,并且向物理层存储区域发送读信号,在下一个周期将数据输出,并向存入的FIFO存储体发送写信号;否则则继续等待;在状态2计算4至7通道的数据存入哪个FIFO存储体,如果此时4-7通道的数据准备好,并且所存入FIFO不满则跳转到状态3,并且向物理层存储区域发送读信号,在下一个周期将数据输出,并向存入的FIFO存储体发送写信号;否则则继续等待;依次类推;在任意状态下,如果收到传输停止标志信号,则跳转到idle状态。
[0012] 本发明实现的动态可重构串行总线中基于开关矩阵的数据传输管理方法解决了 动态可重构总线数据动态重构的问题,为动态可重构总线在故障状态下动态重构奠定了基础。

附图说明

[0013] 下面将结合附图详细描述本发明的实施方式,其中:
[0014] 图1表示UM-BUS采用的基于M-LVDS技术的多节点、智能动态冗余的多通道总线拓扑结构图。
[0015] 图2表示总线通信过程中采取的数据包的数据帧格式。
[0016] 图3表示数据的传输过程。
[0017] 图4表示数据缓冲层的四体存储结构。
[0018] 图5表示存储器向物理层通道上发送数据的发送过程。
[0019] 图6表示通道中注入故障时的开关矩阵映射结构。
[0020] 图7表示通过流水线方式实现矩阵映射过程并进行数据传输控制的示意图。
[0021] 图8表示状态机转换图。

具体实施方式

[0022] 首先结合图1-3介绍动态可重构总线协议。
[0023] 图1表示UM-BUS采用的基于M-LVDS(多点低压差分信号)技术的多节点、智能动态冗余的多通道总线拓扑结构图。其中,m表示总线上的节点数,最大节点数为32;n表示通信通道数,最大通道数为32路。节点间通信过程中,如果某几条通道出现故障,可自动屏蔽无效通道,在剩余有效通道上进行通信。
[0024] 在总线通信过程中,采取数据包的形式交互信息。数据传输格式分为长包数据和短包数据,数据帧格式如图2所示。其中,短包数据只包含命令头部分,短包格式主要用于控制类数据的传输或少量数据传输,而长包格式用于大量数据的传输。
[0025] UM-BUS通信协议划分为3独立层次,从上至下依次分别为:处理层、数据链路层、物理层。数据链路层又分为传输缓冲层和传输子层。数据的传输过程如图3所示,发送端:从上层接口处获得的数据包在处理层构建,存储到数据缓冲层。在传 输子层根据有效通道情况将数据包动态均衡地分配到通道上,在物理层对分组数据包进行收发的包装,经过
8b/10b编解码转换成比特流传送。接收端:8b/10b解码器将10b数据转换成8b数据,传输子层将数据进行动态组织,存储到数据缓冲层,经过处理层处理交付上层。总线的目标是在最多32个通道实现并发传输,单通道速率达到100Mbps。
[0026] 下面详细说明动态可重构串行总线数据传输管理方法。
[0027] 数据传输管理部分位于传输子层,发送时,负责将数据缓冲区数据动态均衡地分配到最多32条物理通道上,接收时,负责将通道数据正确地存储到数据缓冲区中。在设计过程中,需要解决如下问题:
[0028] (1)动态可重构总线最大通道数为32通道,不考虑在通信过程中链路断开2次以32
上的情况,可用通道情况具有2 -1种情况。需要将存储体与不定数量的通道进行动态映射。
[0029] (2)在32个通道都有效的情况下,接收端32通道中的数据几乎同时到达物理层的存储区域,由于采用8b/10b编码方式,每个数据需要经过10个时钟周期到达另一端,每10个周期传送32个字节的数据,需要在10个时钟周期内将32个通道对应物理层存储区域中的数据存入处理层存储区域。
[0030] (3)为满足UM-BUS的传输速率,适应总线的数据传输格式,同时便于对数据进行存储,需要对数据缓冲层进行合理设计。
[0031] 本发明对数据缓冲层进行如下设计:短包数据和命令头部分采用独立的I/O区域进行存储,长包数据主体数据区采用存储缓冲区域存储。数据缓冲采用双口存储方式,采用四体FIFO在长包数据传输过程中缓冲主体数据,长包数据主体数据的长度固定为1024字节。通常的处理器接口是32位,所以从CPU看过去该存储区域是一个32位的存储体,存储体深度为256字节。由于物理层采用8b/10b的编码方式,对于任一通道,每次向物理层传输或存储数据时操作一个字节的数据,对应物理层与存储区的操作也是每次操作一个字节的数据,所以从物理层看过去该存储区域是一个4*256字节的四体FIFO存储器,如图4所示。
[0032] 下面说明数据的组织过程。将存储体数据发送到有效通道上,根据通道故障信息表,采用轮询方式发送。如果此时所有通道均有效,则将存储空间第一个字节的数据发送到1号通道,第二个字节发送到2号通道,依此类推,直到最后一个字节发送完毕或通道出现故障。如果通道中某几路出现故障,则将所有有效通道按照通道号排列,采用上述轮询方式发送数据。假设当前有效通道为8路,存储器向物理层通道上发送数据发送过程如图5所示。将物理层通道的数据存储到存储体时,按照字节的顺序进行存储,但每条通道的数据存储到哪个存储区域中是不固定的,由有效通道数决定,每条通道的数据在存储空间中对应的存储位置情况应满足如下公式:
[0033] Im=(em+1+vm*c)mod 4
[0034] 其中,Im表示存储空间每片存储区存储位置序号,规定存储体1序号为1,依次存储体2序号为2,存储体3序号为3,存储体4序号为0;em表示上一次存储的数据在存储体中的位置序号,该值初始值为0,每往任意存储区存储一个数据该值加1;vm表示通道中有效通道的个数;c表示总通道的循环次数,初始值为1,每当所有通道都轮询一遍,该值加1。
[0035] 下面描述开关矩阵映射关系。UM-BUS采用四体FIFO,每次可同时存取的最大字节数为4,使得物理层的通道每次最多并行存取4个数据。因此,本实施方式定义一个4*32的开关矩阵结构,每个时钟周期将4个FIFO存储体与矩阵固定4行对应通道进行映射,每个存储体与本周期对应的4个通道中某一条对应是不定的,由之前周期的对应关系和通道有效情况决定。如图6所示,对16条通道的5-7通道、12-14通道注入故障,在第一周期,4个FIFO存储体对应矩阵的0-3通道,在刚开始传输数据时,由于之前没有映射关系,并且本周期4条通道都有效,故存储体1-4顺序对应通道0-3;第二周期,由于之前的映射关系为一一对应,且只有4通道有效,因此,FIFO1对应通道4,其他FIFO不进行存取操作;第三周期,由于上一周期的映射中FIFO2-FIFO4没有进行映射,且本周期4个通道都有效,因此FIFO2对应通道8,FIFO3对应通道9,FIFO4对应通道10,FIFO1对应通道11,依次类推。
[0036] 上述矩阵映射过程是通过流水线方式实现并进行数据传输控制的。考虑到数据缓冲区和物理层存储区域均采用FIFO,在每次向FIFO发送一个读信号,需要延迟一个 周期,数据才能够读出,因此,每次发出读信号后,需要延迟一个时钟周期才能够执行写入操作。同时,由于每个周期进行4个存储体和通道的映射时,都需要知道上一周期的映射情况,对此,本实施方式采用2级流水线对数据传输过程进行控制,如图7所示。以物理层通道的数据存入4个FIFO存储体为例:在状态1读出第0至3通道有效通道的数据,并计算第0至3通道有效通道的数据存储位置,在状态2,向这四组通道中有效通道存储区写入数据,同时,向第4至7通道的有效通道存储区发出读信号,并计算这四个通道有效通道数据的存储位置,依次类推。每周期传输的字节数是不固定的,其值和本周期所进行存储操作的有效通道数目相同。4体FIFO中数据发送到通道过程与上述过程类似。
[0037] 所有的状态形成环路对通道和4个FIFO存储体进行映射和存取控制,这个过程是通过状态机实现的,状态机转换图如图8所示,在idle状态下,如果物理层或者处理层通知开始进行数据动态重构,跳转到状态1。以物理层通道上的数据向4体FIFO存储为例,在状态1计算0至3通道的数据存入哪个FIFO存储体,如果此时,0-3通道的数据准备好,所存入FIFO不满则跳转到状态2,并且,向物理层存储区域发送读信号,在下一个周期将数据输出,并向存入的FIFO存储体发送写信号;否则则继续等待。在状态2计算4至7通道的数据存入哪个FIFO存储体,如果此时,4-7通道的数据准备好,并且所存入FIFO不满则跳转到状态3,并且,向物理层存储区域发送读信号,在下一个周期将数据输出,并向存入的FIFO存储体发送写信号;否则则继续等待。依次类推。在任意状态下,如果收到传输停止标志信号,则跳转到idel状态。将4体FIFO中数据发送通道的过程类似。
[0038] 本发明实现的动态可重构串行总线数据的传输管理方法,解决了动态可重构总线数据动态重构的问题,为动态可重构总线在故障状态下动态重构奠定了基础。以8通道动态可重构总线在SPARTAN-6系列FPGA上实现为验证,通信速率可达到800Mbps,在随机的向某通道注入故障后,上层进行故障检测后,能够动态的将重发的数据均衡的分配到有效通道上,通信过程得到恢复,满足动态可重构总线的要求,该方法成功地得到了应用。