一种通过串口传输多组信息的通讯方法与系统技术方案

技术编号:22054906 阅读:21 留言:0更新日期:2019-09-07 15:08
本发明专利技术公开一种通过串口传输多组信息的通讯方法与系统,属于电子信息技术领域,该通讯系统通过一个发送端经串口向多台接收端同时发送多条信息,通讯系统包括一台主机和多台从机,主机与从机配置相同,均由通过串口通信的STM32和Xtend组成;主机与从机的Xtend采用广播式组网,主机在发送任何数据或指令时都同时向所有从机发送。步骤为:发送端发送开始码、数据、结束码,接收端根据接收的开始码判断接收到的是那组数组;在发送完所有的数据后,发送端发送信号,接收端向发送端发送验证码,以此来校验。本发明专利技术简单可靠,能够实现同时传递多组信息;通过随后的校验,可以完全保证收发正确的信息,保证可靠性。

A Communication Method and System for Transmitting Multi-group Information through Serial Port

【技术实现步骤摘要】
一种通过串口传输多组信息的通讯方法与系统
本专利技术属于电子信息
,涉及一种通过串口传输多组信息的通讯方法与系统,尤其涉及一种一个发送端通过串口向多台接收端发送多条信息的通讯系统及方法。
技术介绍
对于需要绝对可靠性的场景,如空中打字机,信息的传输需要保证绝对的正确性。目前串口的收发格式普遍采用96N81(波特率为9600,无校验位,8bits为一组数据传输,一位停止位)格式。如果需要传输多组数组类的数据,该格式不能分辨出是哪组数组并且也无法保证可靠性。并且如果以广播式一对多个接收端传输数据,更无法保证其可靠性,可能会出现数据漏发或者漏收的情况,不能保证完全正确地收发。因此,有必要设计一种发送端通过串口向多台接收端发送多条信息可靠的方法及系统。
技术实现思路
针对现有技术存在的问题,本专利技术提供一种适用于空中打字机的通过串口传输和接收多条信息的方法及系统,保证传输的准确性。为了达到上述目的,本专利技术采用的技术方案为:一种通过串口传输多组信息的通讯系统,该通讯系统通过一个发送端经串口向多台接收端同时发送多条信息,该通讯系统包括一台主机和多台从机,主机与从机配置相同,均由STM32和Xtend组成,STM32起到数据处理的作用,Xtend起到从机组网和数据传输的作用;STM32与Xtend之间通过串口通信,串口通信采用96N81的格式;主机与从机的Xtend采用广播式组网,主机在发送任何数据或指令时都同时向所有从机发送。所述的主机中包括发送端,发送端在完成一次数组中1byte数据传输时需要发送开始码、数据和结束码,不同的数组拥有不同的开始码和结束码,相同数组中的数据拥有相同的开始码和结束码。当发送全部数据后,主机发送最终结束码并处理数据,每一组数据生成一个主机验证码,一共会生成n组主机验证码,处理结束后将发送从机发送验证码到主机的指令至从机,从机接收到最终结束码梳理收到的所有数据并生成验证码,从机接收到主机指令后发送从机验证码至主机,进行校验。若校验失败,主机则发送清空码,并重新发送数据。所述的每个从机都包括一个接收端,接收端通过串口根据发送端发送的数据格式判断接收的是哪个数组的数据:接收端通过开始码判断所收到的是哪个数组,通过结束码被告知发送结束。从机接受主机发送的指令后,处理收到的所有数据,并向主机发送验证码。所述的数组的个数不大于7组,每个数组的字节数据个数不大于31个;所述主机验证码、从机验证码根据每组数组的数据唯一确定,其格式为前三位为数组序号,后五位为该数组中尾数为1数据的个数;发送每一个字节数据格式包括开始码、数据、结束码。一种通过串口传输多组信息的通讯系统,基于一台主机和多台从机实现通过一个发送端经串口向多台接收端同时发送多条信息,能够保证数组数据传输的100%收发成功率,通讯方法包括以下步骤:第一步,主机发送第1个数组至从机1)主机发送表示发送的内容是第1组数组的第1个字节数据的开始码至从机,从机接收开始码进入等待接收数据状态。2)主机发送第1组数组的第1个字节数据至从机,从机接收第1字节数据,发送接收后字节数自加1;用m表示一组数组中总字节数据的个数,m≤31。3)主机发送第1组数组的第1个字节数据的结束码至从机,从机接收结束码,退出接收等待状态。此时,完成第1组数组的第1个字节数据的发送。4)重复步骤1)至步骤3),完成第1组数组的第2个字节数据的发送,直至从机接收第1个数组的全部字节数据,从机接收第1组数组最后一个字节数据的结束码,退出接收等待状态。第二步,重复第一步,主机发送第2个数组至从机,此时发送和接收数据与第一组数组相似,将第1数组的开始码与结束码替换成2组数据的开始码与结束码;直到全部数组字节数据发送完毕,所述数组的个数不大于7组。第三步,全部数组字节数据发送完毕后,主机发送最终结束码并处理全部数据,每一组数据都生成一个主机校验码,随后主机发送从机发送验证码到主机的指令至从机。所述的验证码的格式:前三位为数组序号,后五位为数组中尾数为1数据的个数。第四步,每一个从机接收到最终结束码后处理接收到的所有数据,每一个数组都生成一个从机验证码,则对于每一个从机会生成n组验证码,随后从机接收发送验证码的指令后,从机将n组验证码发送至主机,主机接收到的验证码数量为从机数量*数组数量(n),进行校验:若每一个数组的从机验证码与主机生成的n个验证码之一相同,则视为发送接收成功;如果有任何一个不同,则主机发送清空码,清空之前发送的数据,重新发送。与现有技术相比,本专利技术的有益效果为:本专利技术简单可靠,能够实现同时传递多组信息,且可以区分发送的是哪组数组数据;通过随后的校验,可以完全保证收发正确的信息,保证可靠性。附图说明图1为通过串口传输多组数据的流程图。具体实施方式以下是结合具体实施例对本专利技术做进一步详细说明:使用一台主机和四台从机,主机和从机的配置相同。每台机器使用STM32与Xtend,STM32用做处理数据,Xtend用做发送和接收数据并进行组网,STM32与Xtend之间使用串口通信,发送1byte数据使用96N81格式,主机与从机的Xtend采用广播式组网。需要发送的是四组数组,数组长度分别为3,5,2,3。数组一为[0x62,0x65,0x76],数组二为[0x66,0x67,0x64,0x75,0x59],数组三为[0x69,0x76],数组四为[0x35,0x30,0x30]。在发送前,数组长度信息和数组已经在主机的STM32中存储。主机发送第一个数组的字节数据格式:开始码数据结束码0x01data0x020x01定义为第一个数组的开始码,0x02定义为第一组数据的结束码,其中字节数据data在数组一中分别为0x62,0x65和0x76。第一步,主机发送第1个数组至从机主机发送表示发送的内容是第1组数组的第1个字节数据的开始码0x01至从机,从机接收开始码0x01之后进入等待接收数据状态。主机发送第1组数组的第1个字节数据0x62至从机,从机接收第1个字节数据0x62,将其存储到第一个数组中,并将下标加一。主机发送第1组数组的第1个字节数据的结束码0x02至从机,从机接收结束码0x02后完成一次传输。重复上述步骤三次,将0x62替换为数组一的其他数据0x65、0x76,数组一发送接收结束。第二步,重复上述的步骤,将第一步中第一数组的开始码0x01替换为0x03(0x05,0x07)代表第二(三,四)数组的开始码,将0x02替换为0x04(0x06,0x08)代表第二(三,四)数组的结束码,将data替换为第二(三、四)数组的数据[0x66,0x67,0x64,0x75,0x59]([0x69,0x76],[0x35,0x30,0x30]),步骤二中的循环次数分别5(2,3)次,直至所有四个数组发送和接收结束。第三步,全部数组字节数据发送完毕后,主机发送最终结束码0x09表示所有数组已经发送结束,并且处理全部数据,每一组数据都生成一个主机验证码,由于0x62,0x65,0x76的二进制码分别为1100010,1100101,1110110,每个数据最后一位和为1,所以第一个数组生成的二进制主机验证码为00100001。由此方法可得到第二,三,四组数组生成的二进制主机验证本文档来自技高网...

【技术保护点】
1.一种通过串口传输多组信息的通讯系统,其特征在于,该通讯系统通过一个发送端经串口向多台接收端同时发送多条信息,通讯系统包括一台主机和多台从机,主机与从机配置相同,均由STM32和Xtend组成,STM32用于数据处理,Xtend用于从机组网和数据传输;STM32与Xtend之间通过串口通信,串口通信采用96N81的格式;主机与从机的Xtend采用广播式组网,主机在发送任何数据或指令时都同时向所有从机发送;所述的主机中包括发送端,发送端在完成一次数组中1byte数据传输时需要发送开始码、数据和结束码,不同的数组拥有不同的开始码和结束码,相同数组中的数据拥有相同的开始码和结束码;当发送全部数据后,主机发送最终结束码并处理数据,每一组数据生成一个主机验证码,一共会生成n组主机验证码,处理结束后将发送从机发送验证码到主机的指令至从机,从机接收到最终结束码梳理收到的所有数据并生成验证码,从机接收到主机指令后发送从机验证码至主机,进行校验;若校验失败,主机则发送清空码,并重新发送数据;所述的每个从机都包括一个接收端,接收端通过串口根据发送端发送的数据格式判断接收的是哪个数组的数据:接收端通过开始码判断所收到的是哪个数组,通过结束码被告知发送结束;从机接受主机发送的指令后,处理收到的所有数据,并向主机发送验证码;所述的数组的个数n不大于7组,每个数组的字节数据个数不大于31个;所述主机验证码、从机验证码根据每组数组的数据唯一确定,其格式为前三位为数组序号,后五位为该数组中尾数为1数据的个数;发送每一个字节数据格式包括开始码、数据、结束码。...

【技术特征摘要】
1.一种通过串口传输多组信息的通讯系统,其特征在于,该通讯系统通过一个发送端经串口向多台接收端同时发送多条信息,通讯系统包括一台主机和多台从机,主机与从机配置相同,均由STM32和Xtend组成,STM32用于数据处理,Xtend用于从机组网和数据传输;STM32与Xtend之间通过串口通信,串口通信采用96N81的格式;主机与从机的Xtend采用广播式组网,主机在发送任何数据或指令时都同时向所有从机发送;所述的主机中包括发送端,发送端在完成一次数组中1byte数据传输时需要发送开始码、数据和结束码,不同的数组拥有不同的开始码和结束码,相同数组中的数据拥有相同的开始码和结束码;当发送全部数据后,主机发送最终结束码并处理数据,每一组数据生成一个主机验证码,一共会生成n组主机验证码,处理结束后将发送从机发送验证码到主机的指令至从机,从机接收到最终结束码梳理收到的所有数据并生成验证码,从机接收到主机指令后发送从机验证码至主机,进行校验;若校验失败,主机则发送清空码,并重新发送数据;所述的每个从机都包括一个接收端,接收端通过串口根据发送端发送的数据格式判断接收的是哪个数组的数据:接收端通过开始码判断所收到的是哪个数组,通过结束码被告知发送结束;从机接受主机发送的指令后,处理收到的所有数据,并向主机发送验证码;所述的数组的个数n不大于7组,每个数组的字节数据个数不大于31个;所述主机验证码、从机验证码根据每组数组的数据唯一确定,其格式为前三位为数组序号,后五位为该数组中尾数为1数据的个数;发送每一个字节数据格式包括开始码、数据、结束码。2.一种通过串口传输多组信息的通讯方法,其特征在于,基于一台主机和多台从机实现通过一个发送端经串口向多台接收...

【专利技术属性】
技术研发人员:陈晓明李天择高戈李松松
申请(专利权)人:大连理工大学
类型:发明
国别省市:辽宁,21

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

1