CN110209622B - 一种通过串口传输多组信息的通讯方法与系统 - Google Patents

一种通过串口传输多组信息的通讯方法与系统 Download PDF

Info

Publication number
CN110209622B
CN110209622B CN201910398004.2A CN201910398004A CN110209622B CN 110209622 B CN110209622 B CN 110209622B CN 201910398004 A CN201910398004 A CN 201910398004A CN 110209622 B CN110209622 B CN 110209622B
Authority
CN
China
Prior art keywords
data
host
slave
code
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910398004.2A
Other languages
English (en)
Other versions
CN110209622A (zh
Inventor
陈晓明
李天择
高戈
李松松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN201910398004.2A priority Critical patent/CN110209622B/zh
Publication of CN110209622A publication Critical patent/CN110209622A/zh
Application granted granted Critical
Publication of CN110209622B publication Critical patent/CN110209622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

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

Description

一种通过串口传输多组信息的通讯方法与系统
技术领域
本发明属于电子信息技术领域,涉及一种通过串口传输多组信息的通讯方法与系统,尤其涉及一种一个发送端通过串口向多台接收端发送多条信息的通讯系统及方法。
背景技术
对于需要绝对可靠性的场景,如空中打字机,信息的传输需要保证绝对的正确性。目前串口的收发格式普遍采用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中存储。
主机发送第一个数组的字节数据格式:
开始码 数据 结束码
0x01 data 0x02
0x01定义为第一个数组的开始码,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的二进制码分别为110 0010,110 0101,111 0110,每个数据最后一位和为1,所以第一个数组生成的二进制主机验证码为001 00001。由此方法可得到第二,三,四组数组生成的二进制主机验证码分别为010 00011,011 00001,100 00001。随后,主机发送表示从机发送验证码指令0x0A至从机。
第四步,从机接收到0x09后处理数据,同样处理完生成四组从机验证码,再收到0x0A指令后向主机发送这四组从机验证码。
第五步,主机接收所有从机验证码,在一段时间内如果收到的从机验证码与主机四组验证码001 00001,010 00011,011 00001,100 00001中任意一个相同,则计数器加一,如果在规定时间内计数器的值等于4(从机数量)x4(数组数量)=16个,视为发送成功;若不是,则发送0x0B清空之前所有发送的数据并重新发送,从机接收0x0B同样清空之前收到的信息并等待接收新的信息。
以上所述实施例仅表达本发明的实施方式,但并不能因此而理解为对本发明专利的范围的限制,应当指出,对于本领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些均属于本发明的保护范围。

Claims (2)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910398004.2A CN110209622B (zh) 2019-05-14 2019-05-14 一种通过串口传输多组信息的通讯方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910398004.2A CN110209622B (zh) 2019-05-14 2019-05-14 一种通过串口传输多组信息的通讯方法与系统

Publications (2)

Publication Number Publication Date
CN110209622A CN110209622A (zh) 2019-09-06
CN110209622B true CN110209622B (zh) 2022-09-06

Family

ID=67787128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910398004.2A Active CN110209622B (zh) 2019-05-14 2019-05-14 一种通过串口传输多组信息的通讯方法与系统

Country Status (1)

Country Link
CN (1) CN110209622B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632646B (zh) * 2020-12-30 2022-09-23 国网河北省电力有限公司物资分公司 一种单片机串口通讯加密方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127538B1 (en) * 2004-05-21 2006-10-24 Zilog, Inc. Single-pin serial communication link with start-bit flow control
CN102262572A (zh) * 2011-07-19 2011-11-30 浙江大学 一种带crc校验功能的iic总线接口控制器
JP2014087566A (ja) * 2012-10-31 2014-05-15 Universal Entertainment Corp 通信用lsi及び遊技機
CN103974327A (zh) * 2014-04-28 2014-08-06 华南理工大学 小型无人直升机点对点数据链系统及实现方法
CN104796249A (zh) * 2015-03-19 2015-07-22 谭旗 用于微电脑的串行通讯数据的加密方法
CN105786753A (zh) * 2016-02-22 2016-07-20 上海斐讯数据通信技术有限公司 一种i2c总线上的主从设备间的传输数据的方法及设备
CN107819562A (zh) * 2016-09-14 2018-03-20 三菱电机株式会社 数据收发装置及数据收发方法
CN108199812A (zh) * 2017-12-28 2018-06-22 武汉华显光电技术有限公司 数据传输控制方法、装置及计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108578B2 (en) * 2013-09-11 2018-10-23 Texas Instruments Incorporated Single wire communications interface and protocol
KR102416176B1 (ko) * 2016-05-10 2022-07-01 엘에스일렉트릭(주) 슬레이브 디바이스 제어 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127538B1 (en) * 2004-05-21 2006-10-24 Zilog, Inc. Single-pin serial communication link with start-bit flow control
CN102262572A (zh) * 2011-07-19 2011-11-30 浙江大学 一种带crc校验功能的iic总线接口控制器
JP2014087566A (ja) * 2012-10-31 2014-05-15 Universal Entertainment Corp 通信用lsi及び遊技機
CN103974327A (zh) * 2014-04-28 2014-08-06 华南理工大学 小型无人直升机点对点数据链系统及实现方法
CN104796249A (zh) * 2015-03-19 2015-07-22 谭旗 用于微电脑的串行通讯数据的加密方法
CN105786753A (zh) * 2016-02-22 2016-07-20 上海斐讯数据通信技术有限公司 一种i2c总线上的主从设备间的传输数据的方法及设备
CN107819562A (zh) * 2016-09-14 2018-03-20 三菱电机株式会社 数据收发装置及数据收发方法
CN108199812A (zh) * 2017-12-28 2018-06-22 武汉华显光电技术有限公司 数据传输控制方法、装置及计算机可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
STM32微控制器的可靠串口通信技术研究;张爱民等;《单片机与嵌入式系统应用》;20131001(第10期);第21-23页 *
The Master-Slave Control System Design and Implementation by Serial Communication;X. Qing;《2009 Fifth International Conference on MEMS NANO, and Smart Systems》;20100621;第239-242页 *
基于STM32和Modbus的串口服务器系统;张永伟等;《电子设计工程》;20170820(第16期);第113-116页 *

Also Published As

Publication number Publication date
CN110209622A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
KR920004131B1 (ko) 통신제어방법, 통신제어장치 및 정보전송시스템
CN111200844B (zh) 一种多从机双向通讯方法
EP0195598A2 (en) Universal protocol data receiver
CN104539739A (zh) 一种文件上传的系统、方法及装置
CN105187420A (zh) 一种基于rs422总线的通讯协议匹配方法
CN110209622B (zh) 一种通过串口传输多组信息的通讯方法与系统
KR20190086711A (ko) 네트워크 관리 정보의 송수신 방법, 송수신 장치, 송신기 및 수신기
CN101599890B (zh) 一种通信系统中的数据传输系统和方法
CN108255756A (zh) 一种多芯片串联通信系统
CN112087740B (zh) 一种电子价签系统的数据传输方法及电子价签系统
CN103186440A (zh) 检测子卡在位的方法、装置及系统
CN106533976B (zh) 一种数据包处理方法及装置
CN108880760B (zh) 一种基于北斗卫星的大数据量可靠通信方法
CN101449539B (zh) 配置连接的方法、无线电信网和移动终端
CN105307282B (zh) 一种防止多用户终端接入冲突的方法及装置
CN110266568A (zh) 串行总线系统的成员站和串行总线系统中数据传输的方法
CN107454170A (zh) 一种待执行任务的信息传输方法及装置
KR20170017997A (ko) 검사 기능을 갖는 전송 유닛
CN104883286B (zh) 一种基于fpga的blvds总线数据传送装置
CN104539528B (zh) 多核通信设备及其与radius服务器间报文交互方法
CN110968022B (zh) 可编程逻辑控制器、可编程逻辑控制器系统以及控制方法
CN107453844A (zh) 一种智能设备自动组网的方法及装置
CN107318128B (zh) 无线通信优化方法、装置、存储介质及其计算机设备
CN115334483A (zh) 一种基于短距离无线通讯的数据交互方法
WO2002049289A1 (en) Multiple device communications method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant