一种串行通信帧结构及多节点随机接入方法与流程

文档序号:12699808阅读:268来源:国知局
一种串行通信帧结构及多节点随机接入方法与流程

本发明涉及一种通信方式。特别是涉及一种串行通信帧结构及多节点随机接入方法。



背景技术:

在很多工业现场的应用中,一台设备内部通常由多个节点组成,每个节点的功能独立但是它们之间又需要互相通信,因此需要采用互联的方法来实现相互通信的目的。为了提升互联的可靠性并降低互联的代价,在通信带宽要求不是很高的情况下,往往会采用如图1所示的串行通信的方式互联。

在要求苛刻的情况下,设备会要求单数据通道无时钟互联,极大限度的节省互联资源。同时为了提高系统的可用性,会要求所有的节点均可以随机接入系统。在这种情况下,设计一种好的串行帧的结构及随机接入方法对系统的可用性就显得异常重要。

串行帧结构不仅要合理的安排数据的通信结构,还需要考虑在无同步时钟的情况下数据的恢复,以及帧与帧之间的保护间隙。

如图2所示,一个完整帧主要有帧头、同步字段、数据字段、CRC校验字段组成。在帧与帧之间有800ns的保护间隙,在帧头和同步字段之间也有600ns的保护间隙。

为了多个节点竞争总线的需要,帧采用变速率的方式。帧头16bit采用5Mbps的波特率,其他字段全部采用更高速率的50Mbps波特率。

系统中所有的节点存在两种随机情况:第一,所有的节点可以随机的接入或撤出系统,这样会导致系统组成拓扑发生变化;第二,所有的节点可以随机的发送自己想要发送的数据。

当有节点随机撤出时会导致总线上出线不完整帧,这时系统节点如果不能判断出错误帧或不完整帧的话,系统总线将会挂死,无法再继续工作。

当有节点随机接入时并立刻发送时,也会造成总线上正在传递的帧出现错误,从而导致系统总线挂死。

因此,要想解决上述问题需要能正确解析当前总线传递的帧的情况,分清楚当前总线传递帧所处的字段,然后正确找到帧的开头,并开始接入才行。



技术实现要素:

本发明所要解决的技术问题是,提供一种串行通信帧结构及多节点随机接入方法。

本发明所采用的技术方案是:一种串行通信帧结构,包括有依次设置的:16bit帧头、600ns的保护间隙、8bit同步字段、2048bit数据字段、16bit CRC校验字段和800ns的保护间隙。

所述的16bit帧头采用5Mbps的波特率,8bit同步字段、2048bit数据字段和16bit CRC校验字段均采用50Mbps波特率。

所述的16bit帧头第一个bit为1。

所述的8bit同步字段为10101010的高低变换序列。

一种基于串行通信帧结构的多节点随机接入方法,包括如下步骤:

1)节点开始接入时连续接收串行通信数据,同时将第一计数器清零,开始在串行通信帧结中寻找大于600ns的保护间隙,如果找到则进入下一步,否则一直搜索;

2)从接收到的第一个高电平bit开始对16bit帧头进行波特率判断,同时第二计数器对接收到的bit数进行计数;如果波特率为5Mbps,同时第二计数器计数为16,则进入下一步,否则返回步骤1);

3)判断保护间隙是否大于400ns,如果是则进入下一步骤,否则返回步骤1);

4)当接收到的串行通信数据是一个10101010的高低变换序列,则进入下一步骤,否则返回步骤1);

5)根据数据长度信息判断数据字段是否结束,在数据字段结束时判断16bit CRC校验字段是否正确,如果正确进入下一步骤,同时第一计数器加1,如果16bit CRC校验字段错误否则返回步骤1);

6)帧同步成功,即所述节点接入成功。

步骤5)所述的根据数据长度信息判断数据字段是否结束,是判断数据长度信息是否为2048bit,如果是则结束,不是则继续判断。

本发明的一种串行通信帧结构及多节点随机接入方法,采用变速率的帧结构,低速率的帧头有利于节点随机接入是总线竞争的实现,一旦总线竞争成功后采用高速率的数据传输来提高总线的传输效率。节点接入时采用了从时域依次判断帧结构不同字段的方法,确保了总线不会由于出现错帧、不完整帧导致的总线挂死。总线的可靠性、可用性得到极大的保证。

附图说明

图1是串行通信方式的系统互联拓扑示意图;

图2是采用本发明方法的节点随机接入过程状态机示意图;

图3是串行帧的组成结构示意图。

具体实施方式

下面结合实施例和附图对本发明的一种串行通信帧结构及其多节点随机接入方法做出详细说明。

如图3所示,本发明的一种串行通信帧结构,包括有依次设置的:16bit帧头、600ns的保护间隙、8bit同步字段、2048bit数据字段、16bit CRC校验字段和800ns的保护间隙。即,在帧与帧之间有800ns的保护间隙,在帧头和同步字段之间也有600ns的保护间隙。其中,为了多个节点竞争总线的需要,帧采用变速率的方式。所述的16bit帧头采用5Mbps的波特率,8bit同步字段、2048bit数据字段和16bit CRC校验字段均采用50Mbps波特率;所述的16bit帧头第一个bit为1;所述的8bit同步字段为10101010的高低变换序列。

如图2所示,本发明的基于串行通信帧结构的多节点随机接入方法,包括如下步骤:

1)节点开始接入时连续接收串行通信数据,同时将第一计数器清零,开始在串行通信帧结中寻找大于600ns的保护间隙,如果找到则进入下一步,否则一直搜索;

2)由于帧头第一个bit是高电平,所以从16bit帧头的第一个bit开始对16bit帧头进行波特率判断,同时第二计数器对接收到的bit数进行计数;如果波特率为5Mbps,同时第二计数器计数为16,则进入下一步,否则返回步骤1);

3)判断保护间隙是否大于400ns,如果是则进入下一步骤,否则返回步骤1);

4)由于同步字段是一个10101010的高低变换序列,可据此判断是否为同步字段。当接收到的串行通信数据是一个10101010的高低变换序列,则进入下一步骤,否则返回步骤1);

5)由于帧结构中有数据长度的信息,根据长度信息可以判断数据字段是否结束。根据数据长度信息判断数据字段是否结束,在数据字段结束时判断16bit CRC校验字段是否正确,如果正确进入下一步骤,同时第一计数器加1,如果16bit CRC校验字段错误否则返回步骤1);其中所述的根据数据长度信息判断数据字段是否结束,是判断数据长度信息是否为2048bit,如果是则结束,不是则继续判断;

6)帧同步成功,即所述节点接入成功。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1