CN104486034B - 一种rs422/485串口通信数据组包方法 - Google Patents
一种rs422/485串口通信数据组包方法 Download PDFInfo
- Publication number
- CN104486034B CN104486034B CN201410738621.XA CN201410738621A CN104486034B CN 104486034 B CN104486034 B CN 104486034B CN 201410738621 A CN201410738621 A CN 201410738621A CN 104486034 B CN104486034 B CN 104486034B
- Authority
- CN
- China
- Prior art keywords
- data
- word
- verification
- length
- packet
- 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
Links
Landscapes
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种RS422/485串口通信数据组包方法,根据数字系统之间通信协议明确同步字、长度字、数据字、校验和字等信息,同步字用于查询数据包开始位置,长度字用于确定数据包长度,校验和字用于校验数据包数据有效性;可根据实际情况增加其他数据包信息用于控制数据包数据有效合理性;该RS422/485串口通信数据组包方法,可根据通信协议要求不同可设置参数输入软件,数据组包灵活、通用;可实现多包数据组包,扩展性好,并且工程上实施方便、简单易行、可靠性高;它通过软件实现RS422/485串口通信数据组包,为数字系统或通信设备节约成本,且灵活、通用、扩展性好、可靠性高。
Description
技术领域
本发明涉及一种数据组包方法,尤其是一种RS422/485串口通信数据组包方法。
背景技术
由于采用差分信号传输,信号的抗干扰能力较强,RS-422/485 电气标准被广泛应用于近距离数字系统之间的数据传输,如数字采集系统中上位机和下位机之间、控制系统中各设备之间的信息传输。
在数据传输的过程中需要根据通讯协议对通信数据进行组包处理,可通过硬件组包或软件组包实现。硬件组包方法是将通信协议要求以固定形式嵌入通信系统硬件设备中,不灵活通用,而且成本高。本RS422/485串口通信数据组包方法通过软件实现数据组包。
发明内容
现有技术不能满足人们的需要,为弥补现有技术不足,本发明旨在提供一种RS422/485串口通信数据组包方法。
为实现上述目的,本发明采用以下技术方案:一种RS422/485串口通信数据组包方法,其特征在于:该方法包括以下步骤:
步骤一:根据数字系统之间通信协议明确同步字、长度字、数据字、校验和字等信息,同步字用于查询数据包开始位置,长度字用于确定数据包长度,校验和字用于校验数据包数据有效性;可根据实际情况增加其他数据包信息用于控制数据包数据有效合理性;
步骤二:读取串口缓存数据并查找同步字,循环查找读取的数据,直到符合同步字要求,记录当前数据位置信息;
步骤三:查找长度字,查询到同步字后,根据通信协议要求找到长度字,记录当前数据位置信息及数据包长度信息;
步骤四:根据查询到长度信息获取相应的数据字及校验和字;
步骤五:根据通信协议要求计算数据包的校验和,并与校验和字比较并记录校验和信息,相等则校验和正确并组成一个完整有效数据包,否则数据包无效;
步骤六:若明确了其他数据包的同步字、长度字、数据字、校验和字信息,可进一步判断数据包数据有效合理性;
步骤七:重复步骤二至步骤六进行后续数据组包工作,直到查询完所有读取的缓存数据,输出所有完整有效数据包。
与现有技术相比,本发明的有益效果是:该RS422/485串口通信数据组包方法,可根据通信协议要求不同可设置参数输入软件,数据组包灵活、通用;可实现多包数据组包,扩展性好,并且工程上实施方便、简单易行、可靠性高;它通过软件实现RS422/485串口通信数据组包,为数字系统或通信设备节约成本,且灵活、通用、扩展性好、可靠性高。
附图说明
图1为本发明的数据组包方法流程图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中,一种RS422/485串口通信数据组包方法,其特征在于:该方法包括以下步骤:
步骤一:根据数字系统之间通信协议明确同步字、长度字、数据字、校验和字等信息,同步字用于查询数据包开始位置,长度字用于确定数据包长度,校验和字用于校验数据包数据有效性;可根据实际情况增加其他数据包信息用于控制数据包数据有效合理性;
步骤二:读取串口缓存数据并查找同步字,循环查找读取的数据,直到符合同步字要求,记录当前数据位置信息;
步骤三:查找长度字,查询到同步字后,根据通信协议要求找到长度字,记录当前数据位置信息及数据包长度信息;
步骤四:根据查询到长度信息获取相应的数据字及校验和字;
步骤五:根据通信协议要求计算数据包的校验和,并与校验和字比较并记录校验和信息,相等则校验和正确并组成一个完整有效数据包,否则数据包无效;
步骤六:若明确了其他数据包的同步字、长度字、数据字、校验和字信息,可进一步判断数据包数据有效合理性;
步骤七:重复步骤二至步骤六进行后续数据组包工作,直到查询完所有读取的缓存数据,输出所有完整有效数据包。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
以上所述,仅为本发明的较佳实施例,并不用以限制本发明,凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同替换和改进,均应包含在本发明技术方案的保护范围之内。
Claims (1)
1.一种RS422/485串口通信数据组包方法,其特征在于:该方法包括以下步骤:
步骤一:根据数字系统之间通信协议明确同步字、长度字、数据字、校验和字信息,同步字用于查询数据包开始位置,长度字用于确定数据包长度,校验和字用于校验数据包数据有效性;
步骤二:读取串口缓存数据并查找同步字,循环查找读取的数据,直到符合同步字要求,记录当前数据位置信息;
步骤三:查找长度字,查询到同步字后,根据通信协议要求找到长度字,记录当前数据位置信息及数据包长度信息;
步骤四:根据查询到长度信息获取相应的数据字及校验和字;
步骤五:根据通信协议要求计算数据包的校验和,并与校验和字比较并记录校验和信息,相等则校验和正确并组成一个完整有效数据包,否则数据包无效;
步骤六:若明确了其他数据包的同步字、长度字、数据字、校验和字信息,可进一步判断数据包数据有效合理性;
步骤七:重复步骤二至步骤六进行后续数据组包工作,直到查询完所有读取的缓存数据,输出所有完整有效数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410738621.XA CN104486034B (zh) | 2014-12-08 | 2014-12-08 | 一种rs422/485串口通信数据组包方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410738621.XA CN104486034B (zh) | 2014-12-08 | 2014-12-08 | 一种rs422/485串口通信数据组包方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104486034A CN104486034A (zh) | 2015-04-01 |
CN104486034B true CN104486034B (zh) | 2017-12-01 |
Family
ID=52760547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410738621.XA Active CN104486034B (zh) | 2014-12-08 | 2014-12-08 | 一种rs422/485串口通信数据组包方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104486034B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187420B (zh) * | 2015-08-27 | 2018-03-30 | 哈尔滨工业大学 | 一种基于rs422总线的通讯协议匹配方法 |
CN105490780B (zh) * | 2015-12-11 | 2018-09-21 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于rs422协议的可变数据传输方法 |
CN106275495B (zh) * | 2016-07-27 | 2019-04-19 | 江西洪都航空工业集团有限责任公司 | 一种飞行器试验信号量解析方法 |
CN106294266B (zh) * | 2016-07-27 | 2019-04-19 | 江西洪都航空工业集团有限责任公司 | 一种基于rs422串口数字通信的飞行器信号量处理方法 |
CN108011693B (zh) * | 2017-11-08 | 2020-09-11 | 江西洪都航空工业集团有限责任公司 | 一种基于arinc429总线通信的通用数据组码方法 |
CN109728879B (zh) * | 2019-01-17 | 2022-02-11 | 同方电子科技有限公司 | 串口突发接入应用层slip协议报文同步纠错方法 |
CN111339020A (zh) * | 2020-02-25 | 2020-06-26 | 东莞市峰谷科技有限公司 | 一种串口数据的收发方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633125A (zh) * | 2004-12-24 | 2005-06-29 | 北京中星微电子有限公司 | 一种主从设备通信方法 |
CN101425877A (zh) * | 2008-11-28 | 2009-05-06 | 四川长虹电器股份有限公司 | 一种模块间通讯的方法 |
CN101969454A (zh) * | 2010-09-06 | 2011-02-09 | 宇龙计算机通信科技(深圳)有限公司 | 移动终端实现与计算机的数据传输方法、系统及移动终端 |
CN102347819A (zh) * | 2011-08-22 | 2012-02-08 | 广东电网公司电力科学研究院 | 一种门禁系统中的可变长度数据传输方法 |
CN103001734A (zh) * | 2012-10-17 | 2013-03-27 | 海军工程大学 | 一种基于电平采样的异步串口通信协议自动侦测方法 |
CN103368915A (zh) * | 2012-04-03 | 2013-10-23 | 朱正兴 | 一种基于can总线的通信方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8095856B2 (en) * | 2007-09-14 | 2012-01-10 | Industrial Technology Research Institute | Method and apparatus for mitigating memory requirements of erasure decoding processing |
CA2766074A1 (en) * | 2012-01-27 | 2013-07-27 | Felix Pellerin | Wine glass service tray |
-
2014
- 2014-12-08 CN CN201410738621.XA patent/CN104486034B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633125A (zh) * | 2004-12-24 | 2005-06-29 | 北京中星微电子有限公司 | 一种主从设备通信方法 |
CN101425877A (zh) * | 2008-11-28 | 2009-05-06 | 四川长虹电器股份有限公司 | 一种模块间通讯的方法 |
CN101969454A (zh) * | 2010-09-06 | 2011-02-09 | 宇龙计算机通信科技(深圳)有限公司 | 移动终端实现与计算机的数据传输方法、系统及移动终端 |
CN102347819A (zh) * | 2011-08-22 | 2012-02-08 | 广东电网公司电力科学研究院 | 一种门禁系统中的可变长度数据传输方法 |
CN103368915A (zh) * | 2012-04-03 | 2013-10-23 | 朱正兴 | 一种基于can总线的通信方法 |
CN103001734A (zh) * | 2012-10-17 | 2013-03-27 | 海军工程大学 | 一种基于电平采样的异步串口通信协议自动侦测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104486034A (zh) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104486034B (zh) | 一种rs422/485串口通信数据组包方法 | |
BR112018011593A2 (pt) | máquina de estados finitos de empacotador de latência ótima para mensagens e interfaces de transferência de entrada/saída | |
CN105260250A (zh) | 一种Linux系统与Android系统的双系统通信装置 | |
WO2018132047A9 (en) | A radio access node, a core network node, an information database and methods of operating the same in different radio access technologies | |
CN104363084A (zh) | 一种链路状态同步方法及装置 | |
CN109934314A (zh) | 一种电力物联网用电子标签的数据读取方法及系统 | |
CN104679843A (zh) | 一种实时查询广告投放状态的方法和系统 | |
CN204790967U (zh) | 一种可以显示高清图片的拼接处理器 | |
CN104735377A (zh) | 一种实现投影的方法及系统 | |
SE0102729D0 (sv) | Method and apparatus for exchange of information in a communication network | |
CN109257158B (zh) | 一种用于光差通讯的对等方式采样同步方法及系统 | |
CN104881790A (zh) | 基于物联网对商品进行防伪溯源的方法及系统 | |
CN104539528A (zh) | 多核通信设备及其与radius服务器间报文交互方法 | |
CN105701105A (zh) | 一种信息处理方法及电子设备 | |
CN205302952U (zh) | 具有无线通讯功能的移动存储器 | |
CN103473362B (zh) | 数据迁移的方法、系统和接收端口模块 | |
CN205139592U (zh) | 一种用于机电暂态和电磁暂态仿真系统的定时同步系统 | |
CN104660706A (zh) | 一种局域网内多终端数据交互方法及其系统 | |
CN204613095U (zh) | 一种支持网络通信的气相分子吸收光谱仪 | |
CN105515706B (zh) | 一种采用脉冲映射域实现同步的方法和系统 | |
CN105279299A (zh) | 电缆管线的线路生成方法和装置 | |
CN204669373U (zh) | 一种基于sntp的智能化变电站时钟对时装置 | |
CN203748015U (zh) | 新型的融合交换模块和wifi 以及css 无线定位基站 | |
CN204562118U (zh) | 数据链体温监测系统 | |
CN203930407U (zh) | 一种模拟数据隔离采集电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |