动态可重构高速串行总线中的多主仲裁方法

文档序号:8543655阅读:445来源:国知局
动态可重构高速串行总线中的多主仲裁方法
【技术领域】
[0001]本发明涉及一种嵌入式系统总线中多主仲裁方法,尤其涉及一种动态可重构高速串行总线中的多主仲裁方法。
【背景技术】
[0002]动态可重构高速串行总线(UM-BUS)是针对系统小型化与嵌入式一体化设计提出的一种能够将冗余容错与高速通信有机统一,具备远程扩展能力的高速串行总线。如图1所示,它采用基于M-LVDS技术的总线型拓扑结构,支持多节点直接互连,最多可使用32条通道并发传输通信。在通信过程中,如果某些通道出现故障,总线控制器可实时地监测出来,将数据动态分配到剩余有效通道上进行传输,实现动态重构,对通信故障进行动态容错O
[0003]UM-BUS总线采用主从命令应答的通信模式,通过数据包的形式进行信息交互。连接在总线上的通信节点按功能不同可分为主节点、从节点和监控节点,总线通信过程总是由主节点发起,从节点响应来完成的。UM-BUS总线具有时间同步功能,可保证总线各个节点之间时间系统的精确同步。UM-BUS总线支持单主(Signal Master)通信与多主(MultiMaster)通信两种通信模式。在多主模式下,总线上可以存在多个主节点,多个主节点间需要通过仲裁方式来竞争总线使用权。
[0004]常用的总线及网络仲裁方法包括CSMA/⑶算法、令牌传递算法、时间片轮转方法等,可用于以太网、令牌环网等通信网络或总线中,通过仲裁解决总线竞争和冲突。对于UM-BUS总线,上述仲裁算法存在着仲裁效率低、传递延迟大、令牌丢失、带宽利用率差等问题,不能满足UM-BUS总线对实时性、可靠性的需求。
[0005]针对UM-BUS总线的特点,本发明提出一种可变时隙轮转的仲裁方法,用来满足UM-BUS总线多主仲裁在实时性与可靠性方面的需求。

【发明内容】

[0006]本发明的目的在于设计一种适于UM-BUS总线结构、开销低、效率高、可靠性好的多主仲裁算法,满足UM-BUS总线多主工作模式下通信的实时性与可靠性要求。
[0007]为实现上述目的,本发明所采用的技术方案为:
[0008]一种动态可重构高速串行总线的多主仲裁方法,其特征在于:当总线上存在多个主节点时,通过可变时隙轮转的方法,为各个主节点分配总线使用权。
[0009]进一步地,在总线空闲时,将总线时间划分为仲裁时隙,所述仲裁时隙是合适大小的时间片;对所划分的仲裁时隙按照总线支持的主节点数量循环编号,并将每个仲裁时隙按编号对应的方式分配给各个主节点。
[0010]进一步地,每个所述主节点设置一个同步的时间片定时器与时隙计数器,用于产生总线仲裁时隙的定时与计数。
[0011]进一步地,总线上某一个主节点需要占用总线进行通信时,需等待其对应的仲裁时隙到来,在其对应的仲裁时隙到达后,延迟一段时间开始占用总线,启动通信过程,待通信过程结束后,再释放总线。
[0012]进一步地,总线上的所有节点一直对总线上的通信过程进行监测,当监测到总线上的通信过程时,立即停止本节点时间片定时器的定时,将仲裁时隙扩展为一个通信时间片;监测到总线通信过程结束后,再恢复时间片定时器的定时,恢复仲裁时隙的轮转过程。
[0013]进一步地,总线空闲时划分的仲裁时隙的长度通常远小于总线通信过程所需要的时间长度,该时隙长度需满足最坏情况下各总线节点对总线通信过程监测的需要,当一个主节点在其对应的仲裁时隙内占用总线开始通信过程后,总线上的其余节点必须能够在该仲裁时隙中检测到总线通信过程的开始,停止时间片定时器的定时,暂时停止仲裁时隙的定时与轮转,实现时隙的扩展。
[0014]本发明实现的动态可重构高速串行总线中的多主仲裁方法采用前述可变时隙轮转方法,通过减小仲裁时隙长度,可以加快总线上各个主节点时隙轮转速度,减少通信资源浪费,提高仲裁效率,提高总线系统的实时性。当总线上各个节点之间能够保持良好的时间同步时,这种轮转的时隙相当于在总线各个节点之间传递一种不会丢失的虚拟令牌,提高了总线仲裁的可靠性。
【附图说明】
[0015]图1是UM-BUS总线的拓扑结构图;
[0016]图2是UM-BUS总线协议层次模型图;
[0017]图3是UM-BUS总线数据传输过程与数据通路示意图;
[0018]图4是总线仲裁时隙分配及时隙扩展示意图;
[0019]图5是主节点仲裁过程流程图。
【具体实施方式】
[0020]如图1所示,UM-BUS总线采用基于M-LVDS (TIA/EIA-899)的多通道智能动态冗余的总线型拓扑结构,最多支持30个通信节点直接互连,不需要路由或中继设备;使用2?32个通道并发传输数据,单通道最大通信速率可达200Mbps ;通道如果出现故障,可通过通道动态冗余及故障重构技术自动屏蔽故障通道,在剩余健康通道上继续通信;采用主从应答的通信方式,可为系统提供远程存储访问及非智能扩展能力。
[0021]UM-BUS总线上的节点按功能不同可划分为主节点,从节点及监视节点,一次通信过程只能由主节点发起,并且由从节点或其它主节点响应,监视节点用于监视总线上的通信过程。节点间通过数据包的形式交互信息。
[0022]UM-BUS总线的通信协议层次模型如图2所示,从上到下依次为处理层、数据链路层、物理层,其中处理层负责对整个总线的管理、协议封装和对上层应用接口的转换。数据链路层又分为传输子层和MAC子层两部分,传输子层根据现存的有效线路对数据进行分组和动态重构;MAC子层负责通信线路检测,向传输子层提供通道健康状况,完成对通道传输信息进行二次打包和解包,实现总线节点的时间同步。物理层是协议的最底层,它为数据通信提供传输媒体及互连设备,实现了网络的物理连接、完成了串并转换、8b/10b编解码、时钟同步等功能,为总线提供可靠的通信基础。
[0023]总线节点在通信过程中采用数据包的形式在不同协议层之间进行数据传输,数据传输过程如图3所示。数据通信时,在发送端,处理层从上层接口获得数据并存储到数据缓冲区,在传输子层根据MAC子层提供的有效线路信息将数据包动态均衡地分配到有效通道上,在物理层将分组数据包装后,经8b/1b编码成比特流发送到链路上。在接收端,物理层将收到的数据进行时钟同步、8b/10b解码、串并转换后,将通道数据解包,然后在传输子层根据MAC子层提供的有效线路信息将数据进行动态组织并存储在数据缓冲区,最后由处理层交给应用层处理。
[0024]在多主通信模式下,主节点必须在获得总线使用权之后才能从物理层向总线发送数据,启动一次总线通信过程。
[0025]基于上述UM-BUS总线工作原理,本发明的多主仲裁方法的一种【具体实施方式】如下:
[0026]为叙述方便,假设UM-BUS总线支持8个主节点,节点号定义为O?7,总线单通道通信速率为200Mbps,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1