动态可重构总线监听系统的三级缓冲存储装置与方法

文档序号:9326620阅读:246来源:国知局
动态可重构总线监听系统的三级缓冲存储装置与方法
【技术领域】
[0001] 本发明涉及一种嵌入式系统总线监听系统中数据缓冲存储装置,尤其涉及一种动 态可重构总线监听系统中的监听数据的缓冲存储装置。本发明还涉及一种动态可重构总线 监听系统中监听数据的缓冲存储方法。
【背景技术】
[0002] 动态可重构总线(UM-BUS)是针对高可靠嵌入式应用场合所定义的一种基于 M-LVDS的总线型拓扑结构的高速串行总线,如图1所示,采用总线型拓扑结构,支持多节点 直接互连,最多可使用32条通道并发传输数据。如果某些通道出现故障,总线控制器可实 时地检测出来,将数据动态分配到剩余有效的通道上进行传输,实现动态重构,对通信故障 进行动态容错。
[0003] UM-BUS总线的通信协议模型如图2所示,从上到下依次为处理层、数据链路层、物 理层。其中处理层负责对整个总线的管理、协议封装和对上层应用接口的转换。数据链路层 又分为传输子层和MAC子层两部分,传输子层根据现存的有效线路对数据进行分组和动态 重构。有效线路的信息由MAC子层通过链路检测提供。物理层是协议的最底层,它为数据 通信提供传输媒体及互连设备,实现了网络的物理连接,完成了串并转换、8b/10b编解码、 时钟同步等功能,为总线提供可靠的通信基础。
[0004] UM-BUS总线采用主从命令应答的通信模式,通过数据包的形式进行信息交互。总 线上的节点按功能不同可划分为主节点、从节点及监视节点,一次通信过程只能由主节点 发起并且由从节点响应,监视节点用于监视总线上的通信过程。如图3所示,数据通信时, 在发送端,处理层从上层接口获得数据并存储到数据缓冲区,在传输子层根据MC子层提 供的有效线路信息将数据包动态均衡地分配到有效通道上,在物理层将分组数据包装后, 经8b/10b编码成比特流发送到链路上。在接收端,物理层将收到的数据进行时钟同步、 8b/10b解码、串并转换后,将通道数据解包,然后在传输子层根据MC子层提供的有效线路 信息将数据进行动态组织并存储在数据缓冲区,最后由处理层交给应用层处理。
[0005] 表1给出了 UM-BUS总线通信数据包的组织格式,通信数据包由16字节的命令头 和1025字节的主体数据构成。UM-BUS总线通信数据包分为长包与短包两种格式,短包只包 括16字节的命令头部分,长包则由命令头和数据两部分组成。长包只在存储器空间写命令 及读应答时使用,其它命令与应答则全部采用短包传送。命令/状态帧类型字节目前只定 义了低4位,规定了数据包类型。目前定义的数据包类型共8种:10读命令、IO写命令、存 储器读命令、存储器写命令、配置空间读命令、配置空间写命令、带数据状态包与不带数据 状态包。
[0006] 表1UM-BUS总线通信数据包格式
[0007]
[0008] 其中:B表示字节,命令头CRC与数据CRC分开计算
[0009] UM-BUS总线采用"命令-应答-确认"三段式通道故障检测算法,在复位后或出 现故障时,由主节点启动对从节点进行总线通道健康状态检测过程。如图4所示,通道检测 过程从时间上分为三个阶段:①检测命令发送阶段,主节点从所有总线通道上向被检测的 从节点发送检测命令包,启动通道检测过程;②检测状态应答阶段,被检测的从节点从所有 收到检测命令的总线通道上,向发起检测的主节点回送检测应答包;③检测结果确认阶段, 主节点再从所有收到检测应答包的通道上,向被检测的从节点发送检测确认包。对于主节 点,能够收到检测应答包的通道是健康通道;对于从节点,能够收到检测确认包的通道是健 康通道。在规定时间内主节点没有收到从节点的检测应答包,或从节点没有收到主节点的 检测确认包,均认为检测过程超时,通道不可用。通道检测完成后,参与检测过程的主、从两 个节点依据检测信息包接收情况分别更新各自的通道健康状态表。
[0010] UM-BUS总线监视节点按图1所示的拓扑结构挂接在总线上,对总线上的通信、检 测等活动进行监听记录,并将记录的总线活动信息传送给后台处理主机(PC机)进行分类、 分析,使得总线使用者能够全面地掌握总线各节点设备的工作情况,方便总线应用系统的 调试与问题分析。总线监视节点只对总线上的活动进行监听记录,不能向总线发送信息。总 线监视节点的核心由一个总线监听系统构成,其功能是对总线上所有通道进行监听,采集 记录总线上各种通信过程、检测过程及其它活动过程的命令、状态、数据及时间等通信信息 及工作状态数据。
[0011] 总线监听系统在工作过程中,需要对UM-BUS总线上的所有通信活动进行记录,并 传送到后台处理主机上进行分析。在32通道配置时,UM-BUS总线峰值通信速率可以达到 6. 4Gbps,包括监听现场工作数据(如时间码、缓冲器指针等),在峰值状态下监听系统实际 产生的需要传送给后台处理主机的数据速率可达到lGB/s以上,远远超过了现行PC机的处 理能力和通信速率,为了不丢失监听系统监听到的总线活动数据,就必须在监听系统中设 置大容量高速缓冲器,对监听数据进行临时存储。
[0012] 由于需要对总线上的活动进行全面监听,UM-BUS总线监听系统会产生包括命令 头数据、长包数据、错误信息、通道检测信息等多种不同的监听信息,甚至这些不同的监听 信息还会同时到达,并且对于每一种监听信息还需要与时间码等监听现场工作数据组包存 储,因此采用常规缓冲方法,为每一种信息设置一个缓冲区,或者为所有信息设置一个总的 缓冲区,不能满足UM-BUS总线监听系统对多种监听数据的高速并发存储。

【发明内容】

[0013] 本发明的目的在于设计一种动态可重构总线监听系统的多级缓冲存储装置和方 法,能够对动态可重构总线监听系统监听到的所有总线活动信息进行高速并发存储,并在 存储过程中对监听信息和工作现场数据进行组包。
[0014] 为实现上述目的,本发明所采用的技术方案为:
[0015] -种动态可重构总线监听系统的三级缓冲存储装置,其特征在于:所述三级缓冲 存储装置包括总线数据监测模块、通道检测识别模块、定时器、一级缓冲区、二级缓冲区、三 级缓冲区和主机传输控制模块。
[0016] -种动态可重构总线监听系统的三级缓冲存储方法,其特征在于:所述动态可重 构总线监听系统包括三级缓冲存储装置,所述三级缓冲存储装置包括总线数据监测模块、 通道检测识别模块、定时器、一级缓冲区、二级缓冲区、三级缓冲区和主机传输控制模块;所 述三级缓冲存储装置采用如下步骤对总线通信信息进行监听与缓冲:
[0017] (1)总线数据监测模块对动态可重构总线进行持续监听,当监听到总线通信信息 包时,如果来自主机传输控制模块的允许缓冲存储标志处于无效状态,则丢弃该通信信息 包,继续监听;否则,向一级缓冲区中的命令缓冲器发送一个监听数据有效信号,请求对监 听到的通信信息包进行打包缓冲;
[0018] (2)接到监听数据有效信号时,如果命令缓冲器的满标志有效,或通信信息包是长 包并且长包数据缓冲器的满标志有效,则丢弃总线数据监测模块监听到的通信信息包,并 将通信信息包丢失计数器加1 ;否则,将通信信息包命令头,与包括时间码、长包数据缓冲 指针、通信信息包丢失计数器值在内的信息,一起组成监测短包写入命令缓冲器,并将通信 信息包丢失计数器清除为0,向二级缓冲区中的短包数据缓冲器发送缓冲存储请求,如果通 信信息包是长包,还将长包的数据部分写入长包数据缓冲器;
[0019] (3)当长包数据缓冲器中的长包数据存储容量达到缓冲存储包大小,组成一个长 包缓冲存储包时,如果三级缓冲区的长包数据分区不满,长包数据缓冲器将更新长包数据 缓冲存储指针,向三级缓冲区发送长包数据存储请求;
[0020] (4)当总线数据监测模块监听到总线通信错误时,如果错误缓冲器的满标志有效, 则丢弃监听到的错误信息,并将错误信息包丢失计数器加1 ;否则,将错误信息,与包括时 间码、错误信息包丢失计数器值在内的信息,一起组成监测短包写入错误缓冲器,并将错误 信息包丢失计数器清除为〇,向二级缓冲区中的短包数据缓冲器发送缓冲存储请求;
[0021] (5)通道检测识别模块对动态可重构总线进行持续监听,当监听到总线通道检测 过程,提取通道检测信息,如果检测缓冲器的满标志有效,则丢弃监听到的检测信息,并将 检测信息包丢失计数器加1 ;否则,将检测信息,与包括时间码、检测信息包丢失计数器值 在内的信息,一起组成监测短包写入检测缓冲器,并将检测信息包丢失计数器清除为0,向 二级缓冲区中的短包数据缓冲器发送缓冲存储请求;
[0022] (6)二级缓冲区中的短包数据缓冲器按照指定的优先级,依次轮询一级缓冲区中 各个缓冲器,将其中有缓冲存储请求的缓冲器中的监测短包存入短包数据缓冲器,进行二 次组包,将一级缓冲区中相应缓冲器的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1