一种基于嵌入式的多机通讯协议设计方法技术

技术编号:35687300 阅读:12 留言:0更新日期:2022-11-23 14:33
本发明专利技术公开一种基于嵌入式的多机通讯协议设计方法,所述通讯协议由帧头、数据位、校验方式、校验位和帧尾组成,帧头ID是由单个字节组成,数据位由接收端的ID、数据长度和具体传输的数据内容组成,校验位和帧尾校验方式用户可以自行定义。本发明专利技术通讯协议设计方法完善了嵌入式系统之间常用的自定义通信协议,针对不同嵌入式设备之间的差异性,在协议中加入了校验方式数据位,可以选用不同的校验方式对接受到的数据进行校验,采用了灵活的校验方式,确保传输数据的准确性和可靠性,使其通信协议更加灵活和完整,实现一对多的嵌入式设备通信。实现一对多的嵌入式设备通信。实现一对多的嵌入式设备通信。

【技术实现步骤摘要】
一种基于嵌入式的多机通讯协议设计方法


[0001]本专利技术涉及电子、通讯、信息工程类的
,具体是一种基于嵌入式的多机通讯协议设计方法。

技术介绍

[0002]通信协议是指通信双方对数据传送控制的一种约定。约定中包括对数据格式,数据长度,数据校验方式,帧头和帧尾等问题做出统一规定,通信双方必须共同遵守规则。
[0003]在工业控制计算机期刊中发表“STMZET6与S7

1200自定义通信协议实现串行通信”的论文中STM32单片机与西门子S7-1200系列PLC实现远距离自定义通信协议的串行通信。其通信协议由单字节的起始符、标识符、数据、校验符和结束符组成。
[0004]以上是一种常用的一对一单机通信协议的设定,一般由单个固定字节的帧头和帧尾、数据内容、校验位组成。
[0005]现有的嵌入式自定义通信协议,结构定义简单,无法进行一对多的通信方式,效率较低。其次,校验方式单一,对于不同的嵌入式设备以及传输的数据长度没用采用合适的校验方式。

技术实现思路

[0006]本专利技术的目的在于提供一种基于嵌入式的多机通讯协议设计方法,通过针对不同嵌入式设备之间的差异性,在协议中加入了校验方式数据位,可以选用不同的校验方式对接受到的数据进行校验,采用了灵活的校验方式,确保传输数据的准确性和可靠性,使其通信协议更加灵活和完整,实现一对多的嵌入式设备通信。
[0007]本专利技术的目的可以通过以下技术方案实现:
[0008]一种基于嵌入式的多机通讯协议设计方法,所述通讯协议由帧头、数据位、校验方式、校验位和帧尾组成,帧头ID是由单个字节组成,数据位由接收端的 ID、数据长度和具体传输的数据内容组成,校验位和帧尾校验方式用户可以自行定义。
[0009]进一步的,所述帧头通过用户自行定义发送方和接收方的ID,发送方只能有一个,接收端可以有多个,第二个字节@是个固定字符,@字符ASCI I码对应的十六进制是0x40,第三个字节是接收端的个数,这个数字对应后面的字节个数,从第四个字节开始就是接收端的ID,接收端ID的数目与接收端的个数一致。
[0010]进一步的,所述数据位通过不同的接收端可以对应不同的数据,数据位第一个字节对应于接收端ID1,数据位第二个字节和第三个字节是接收端ID1要接收数据的个数,由两个字节构成,第二个字节是数据长度的高八位,第三个字节是数据长度的低八位。
[0011]两个字节共同构成接收端ID1的数据长度,第四个字节就是接收端ID1具体要接收的数据,其个数对应于第二和第三字节构成的长度,接着就是接收端I D2,其构成与接收端ID1一样。
[0012]进一步的,所述校验位和校验方式根据嵌入式设备选择。校验方式用户自行定义,
如和校验、BBC校验、CRC校验等其它的校验方式。校验位是根据不同的校验方式最终计算出来的校验数据。校验的数据是由帧头到校验位之前所有的数据,也就是除了最后两位不需要校验外,其它的数据全部参与校验。帧尾由一个固定的字符$组成,其ASCI I码对应的十六进制是0x24。
[0013]进一步的,所述通讯协议接收端接受数据的方法包括以下步骤:
[0014]S1:接收端接收数据
[0015]接收端在收到数据后根据帧头、帧尾、固定的字符和数据长度来确保收到的是一帧完整的数据。
[0016]S2:判断数据
[0017]在收到一帧完整的数据后,判断是否是一帧完整的数据,如不是返回S1,如是进行下一步骤。
[0018]S3:判断帧头
[0019]通过一帧完整的数据,接收端根据帧头里面的接收方的ID是否包含自己的ID 来判断是否有发送给自己的数据;如果不包含自己的ID,说明不是发给自己的,那么丢弃此帧数据。
[0020]S4:校验数据
[0021]通过S3判断帧头如果包含自己的ID,那么再根据校验方式来校验接收到的数据,与收到的数据校验位相比较,如果两个数据一致,那么接收端接受此帧发送给自己的数据。如果与收到的数据校验位相比较,校验不一致,则丢弃此帧数据。
[0022]本专利技术的有益效果:
[0023]1、本专利技术通讯协议设计方法完善了嵌入式系统之间常用的自定义通信协议,针对不同嵌入式设备之间的差异性,在协议中加入了校验方式数据位,可以选用不同的校验方式对接受到的数据进行校验;
[0024]2、本专利技术通讯协议设计方法采用了灵活的校验方式,确保传输数据的准确性和可靠性,使其通信协议更加灵活和完整;
[0025]3、本专利技术通讯协议设计方法实现了一对多的嵌入式设备通信。
附图说明
[0026]下面结合附图对本专利技术作进一步的说明。
[0027]图1是本专利技术通讯协议接收端接受数据的流程图;
[0028]图2是本专利技术通讯协议设计方法主机和从机连接图。
具体实施方式
[0029]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。
[0030]结合图1、图2所示,一种基于嵌入式的多机通讯协议设计方法,通讯协议由帧头、数据位、校验方式、校验位和帧尾组成,帧头ID是由单个字节组成,数据位由接收端的ID、数
据长度和具体传输的数据内容组成,校验位和校验方式用户可以自行定义。
[0031]帧头通过用户自行定义发送方和接收方的ID,如下表所示:
[0032]发送方ID@接收方个数接收方ID1接收方ID2接收方ID3......
[0033]其中发送方只能有一个,接收端可以有多个,第二个字节@是个固定字符,@字符 ASCII码对应的十六进制是0x40,第三个字节是接收端的个数,这个数字对应后面的字节个数,从第四个字节开始就是接收端的ID,接收端ID的数目与接收端的个数一致。
[0034]数据位通过不同的接收端可以对应不同的数据,如下表所示:
[0035]接收方ID1数据长度数据1数据2......接收方ID2数据长度数据1......
[0036]其中,第一个字节对应于接收端ID1,第二个字节和第三个字节是接收端ID1要接收数据的个数,由两个字节构成,第二个字节是数据长度的高八位,第三个字节是数据长度的低八位,两个字节共同构成接收端ID1的数据长度,第四个字节就是接收端ID1具体要接收的数据,其个数对应于第二和第三字节构成的长度,接着就是接收端ID2,其构成与接收端ID1一样。
[0037]校验位和帧尾的校验方式根据嵌入式设备选择,如下图所示:
[0038]校验方式校验位$
[0039]其中,校验方式用户自行定义,如和校验、BBC校验、CRC校验等其它的校验方式。校验位是根据不同的校验方式最终计算出来的校验数据。校验的数据是由帧头到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于嵌入式的多机通讯协议设计方法,其特征在于,所述通讯协议由帧头、数据位、校验方式、校验位和帧尾组成,帧头ID是由单个字节组成,数据位由接收端的ID、数据长度和具体传输的数据内容组成,校验位和帧尾校验方式用户可以自行定义。2.根据权利要求1所述的一种基于嵌入式的多机通讯协议设计方法,其特征在于,所述帧头通过用户自行定义发送方和接收方的ID,发送方只能有一个,接收端可以有多个,第二个字节@是个固定字符,@字符ASCI I码对应的十六进制是0x40,第三个字节是接收端的个数,这个数字对应后面的字节个数,从第四个字节开始就是接收端的ID,接收端ID的数目与接收端的个数一致。3.根据权利要求2所述的一种基于嵌入式的多机通讯协议设计方法,其特征在于,所述数据位通过不同的接收端可以对应不同的数据,数据位第一个字节对应于接收端ID1,数据位第二个字节和第三个字节是接收端ID1要接收数据的个数,由两个字节构成,第二个字节是数据长度的高八位,第三个字节是数据长度的低八位;两个字节共同构成接收端ID1的数据长度,第四个字节就是接收端ID1具体要接收的数据,其个数对应于第二和第三字节构成的长度,接着就是接收端ID2,其构成与接收端ID1一样。4.根据权利要求3所述的一种基于嵌入式的多机通...

【专利技术属性】
技术研发人员:丁腾腾周旺平徐德邻吴海波
申请(专利权)人:南京信息工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1