CN109359071A - 模块之间数据通信的方法 - Google Patents
模块之间数据通信的方法 Download PDFInfo
- Publication number
- CN109359071A CN109359071A CN201811268666.XA CN201811268666A CN109359071A CN 109359071 A CN109359071 A CN 109359071A CN 201811268666 A CN201811268666 A CN 201811268666A CN 109359071 A CN109359071 A CN 109359071A
- Authority
- CN
- China
- Prior art keywords
- data
- code
- byte
- receiving
- receiving end
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
Abstract
本发明提出一种模块之间数据通信的方法,属于数据通信领域。目前模块间数据通信过程中有的数据通信存在着准确性较低或是冗余过多等导致接收数据错误的情况。为此,本发明技术方案要点为:发送端在发送数据时,在数据前加上头码、命令位、数据长度,在在数据后加上校验和尾码编码成新的数据然后发送;接收端接收数据时,接收端对该编码成的新的数据进行解析,并判断是否存在数据传输错误。这里,先在数据前加上头码、命令位、数据长度,在数据后加上校验和尾码组成新的数据然后发送,接收端收到头码表示一帧数接收开始,收到尾码表示该帧数据接收完成,接收端再对新的编码数据进行解析查看是否有漏码错码等错误情况,保证通信数据的准确性。
Description
技术领域
本发明涉及数据通信领域,特别涉及模块之间数据通信协议的领域。
背景技术
在实际生产中,各种模块之间的通信越来越多,通信内容也各不相同,但是这些模块之间的通信都需要保证其通信的准确性。然而在实际生产中发现有的数据通信存在着准确性较低或是冗余过多等导致接收数据错误的情况。因此需要设计一套简洁高效的模块之间的通信协议来确保模块之间通信的准确性。
发明内容
本发明的目的是提供一种模块之间数据通信的方法,解决目前模块间数据通信过程中有的数据通信存在着准确性较低或是冗余过多等导致接收数据错误的情况的问题。
本发明解决其技术问题,采用的技术方案是:模块之间数据通信的方法,包括如下步骤:
步骤1、发送端在发送数据时,在数据前加上头码、命令位、数据长度,在在数据后加上校验和尾码编码成新的数据然后发送;
步骤2、接收端接收数据时,接收端对该编码成的新的数据进行解析,并判断是否存在数据传输错误。
具体地,步骤1中,发送数据时,将欲发送的数据均转换为格式为十六进制的数据。
进一步地,步骤1中,假设需要传输的数据为N字节,则在该需要传输的数据前添加额外的5字节数据,第1字节为头码,用于在接收端接收到头码后开始保存数据,表示该帧数据开始接收,第2和第3字节为自定义的命令位,所述命令位采用小端模式,第4和第5字节为有效数据长度N,在需要传输的N字节数据末尾添加2字节数据,第1字节为校验位,用于验证接收数据的正确性,第2字节为尾码,收到尾码后表示该帧数据接收完成。
具体地,步骤2中,所述的数据传输错误包括漏码及错码。
再进一步地,接收端接收的数据全部解码完成后,根据校验和来判断接收是否正确,正确则向发送端返回接受完成命令,否则返回接收错误命令,这两条命令为固定格式。
本发明的有益效果是,通过上述模块之间数据通信的方法,先在数据前加上头码、命令位、数据长度,在数据后加上校验和尾码组成新的数据然后发送,接收端收到头码表示一帧数接收开始,收到尾码表示该帧数据接收完成,接收端再对新的编码数据进行解析查看是否有漏码错码等错误情况,保证通信数据的准确性。
具体实施方式
下面结合实施例,详细描述本发明的技术方案。
本发明所述模块之间数据通信的方法,包括如下步骤:
步骤1、发送端在发送数据时,在数据前加上头码、命令位、数据长度,在在数据后加上校验和尾码编码成新的数据然后发送;
步骤2、接收端接收数据时,接收端对该编码成的新的数据进行解析,并判断是否存在数据传输错误。
这里,先在数据前加上头码、命令位、数据长度,在数据后加上校验和尾码组成新的数据然后发送,接收端收到头码表示一帧数接收开始,收到尾码表示该帧数据接收完成,接收端再对新的编码数据进行解析查看是否有漏码错码等错误情况,保证通信数据的准确性。
实施例
本发明实施例的模块之间的数据通信方法,适用于各类模块之间的有线通信或某些特定情况下的无线通信,尤其适用于芯片之间的数据交互,具体内容如下:在该需要传输的数据(假设N字节)前添加额外的5字节数据,第1字节为头码,在接收端接收到头码后开始保存数据;第2和第3字节为自定义的命令;第4和第5字节为有效数据长度N。在需要传输的N字节数据末尾添加2字节数据,第1字节为校验位,用于验证接收数据的正确性;第2字节为尾码,收到尾码后表示该帧数据接收完成。具体形式如下(在码之间若有和头码或尾码相同的码值则进行数据转码):
头码(1Byte)+命令(2Byte)+数据长度(2Byte)+数据(N Byte)+校验位(1Byte)+尾码(1Byte)。
具体应用时,可包括如下具体步骤:
1、假设模块A向模块B传输N字节数据,则:
第1字节:头码,设为0xa5;
第2和第3字节:自定义命令位,大端模式和小端模式都可以,此处采用小端模式,设写入为0x0001,读取为0x0002。如,发送写入命令0x0001,则第四字节为0x01,第五字节为0x00;
第4和第5字节:从第6字节到N字节的数据总长度(转码之前),即有效数据长度,大端模式和小端模式都可以,此处采用小端模式。如,发送20字节的数据,则第4字节为0x14,第5字节为0x00;
第6至第5+N字节:需要传输的数据(有效数据)内容;
第6+N字节:校验位,此处采用校验和,从第二字节开始到第5+N字节的校验和;
第7+N字节:尾码,设为0x5a。
2、在遇到除了头码和尾码外的数据中某一位出现0xa5或0x5a或0xd6的处理方法:
0xa5→0xd6 0xc0
0x5a→0xd6 0xa0
0xd6→0xd6 0x50
3、B模块接收到数据后的处理:
(1)接收到数据中的0xa5时开始接收数据
(2)在接收到0x5a之后开始停止接受,并对数据进行处理
(3)在接收的数据中没有0xd6则接收的数据就是发送的数据,若接收的数据中有d6则根据d6后一位的数值对数据进行解码,解码后的数据就是发送的数据,解码为:
0xd6 0xc0→0xa5
0xd6 0xa0→0x5a
0xd6 0x50→0xd6
(4)全部解码完成后根据校验和来判断接收是否正确,正确则返回接受完成命令,否则返回接收错误命令,这两条命令为固定格式:
接收正确返回命令:0xa5 0x01 0x00 0x01 0x00 0x11 0x13 0x5a
接收错误返回命令:0xa5 0x01 0x00 0x01 0x00 0x00 0x02 0x5a
4、A模块根据B模块的返回结果进行处理,正确则进行下一步的操作,否则给用户报错。
Claims (5)
1.模块之间数据通信的方法,其特征在于,包括如下步骤:
步骤1、发送端在发送数据时,在数据前加上头码、命令位、数据长度,在在数据后加上校验和尾码编码成新的数据然后发送;
步骤2、接收端接收数据时,接收端对该编码成的新的数据进行解析,并判断是否存在数据传输错误。
2.根据权利要求1所述的模块之间数据通信的方法,其特征在于,步骤1中,发送数据时,将欲发送的数据均转换为格式为十六进制的数据。
3.根据权利要求1所述的模块之间数据通信的方法,其特征在于,步骤1中,假设需要传输的数据为N字节,则在该需要传输的数据前添加额外的5字节数据,第1字节为头码,用于在接收端接收到头码后开始保存数据,表示该帧数据开始接收,第2和第3字节为自定义的命令位,所述命令位采用小端模式,第4和第5字节为有效数据长度N,在需要传输的N字节数据末尾添加2字节数据,第1字节为校验位,用于验证接收数据的正确性,第2字节为尾码,收到尾码后表示该帧数据接收完成。
4.根据权利要求1所述的模块之间数据通信的方法,其特征在于,步骤2中,所述的数据传输错误包括漏码及错码。
5.根据权利要求1-4任意一项所述的模块之间数据通信的方法,其特征在于,接收端接收的数据全部解码完成后,根据校验和来判断接收是否正确,正确则向发送端返回接受完成命令,否则返回接收错误命令,这两条命令为固定格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811268666.XA CN109359071A (zh) | 2018-10-29 | 2018-10-29 | 模块之间数据通信的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811268666.XA CN109359071A (zh) | 2018-10-29 | 2018-10-29 | 模块之间数据通信的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109359071A true CN109359071A (zh) | 2019-02-19 |
Family
ID=65347210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811268666.XA Pending CN109359071A (zh) | 2018-10-29 | 2018-10-29 | 模块之间数据通信的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109359071A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442044A (zh) * | 2019-08-19 | 2019-11-12 | 哈尔滨工业大学 | 一种用于飞行器制导控制算法验证的半实物仿真平台 |
CN111798330A (zh) * | 2020-05-20 | 2020-10-20 | 中国南方电网有限责任公司 | 电力现货市场监测数据管理方法、装置及设备 |
CN115361094A (zh) * | 2022-08-18 | 2022-11-18 | 合肥美菱物联科技有限公司 | 一种冰箱通讯方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060181513A1 (en) * | 2004-12-31 | 2006-08-17 | Bi-Hui Lin | Method And Related Apparatus For Decreasing Delay Time |
US20080140869A1 (en) * | 2006-12-11 | 2008-06-12 | Nam-Phil Jo | Circuits and Methods for Correcting Errors in Downloading Firmware |
CN102123007A (zh) * | 2011-03-01 | 2011-07-13 | 上海奈凯电子科技有限公司 | 数控系统中实现数据传输的通信方法 |
CN102955474A (zh) * | 2011-08-26 | 2013-03-06 | 中国航空工业集团公司第六三一研究所 | 一种汽车ecu的测控方法及其系统 |
CN103997376A (zh) * | 2014-06-10 | 2014-08-20 | 深圳先进技术研究院 | 用于人体通信的数据通信系统及方法 |
CN105871510A (zh) * | 2016-03-26 | 2016-08-17 | 深圳市中联宇航科技有限公司 | 一种航空数据的传输方法及装置 |
CN106341441A (zh) * | 2015-07-15 | 2017-01-18 | 腾讯科技(深圳)有限公司 | 数据传输方法、接入设备和校验设备 |
CN108052472A (zh) * | 2017-12-12 | 2018-05-18 | 智车优行科技(北京)有限公司 | 一种iic设备通信系统、写数据方法及读数据方法 |
-
2018
- 2018-10-29 CN CN201811268666.XA patent/CN109359071A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060181513A1 (en) * | 2004-12-31 | 2006-08-17 | Bi-Hui Lin | Method And Related Apparatus For Decreasing Delay Time |
US20080140869A1 (en) * | 2006-12-11 | 2008-06-12 | Nam-Phil Jo | Circuits and Methods for Correcting Errors in Downloading Firmware |
CN102123007A (zh) * | 2011-03-01 | 2011-07-13 | 上海奈凯电子科技有限公司 | 数控系统中实现数据传输的通信方法 |
CN102955474A (zh) * | 2011-08-26 | 2013-03-06 | 中国航空工业集团公司第六三一研究所 | 一种汽车ecu的测控方法及其系统 |
CN103997376A (zh) * | 2014-06-10 | 2014-08-20 | 深圳先进技术研究院 | 用于人体通信的数据通信系统及方法 |
CN106341441A (zh) * | 2015-07-15 | 2017-01-18 | 腾讯科技(深圳)有限公司 | 数据传输方法、接入设备和校验设备 |
CN105871510A (zh) * | 2016-03-26 | 2016-08-17 | 深圳市中联宇航科技有限公司 | 一种航空数据的传输方法及装置 |
CN108052472A (zh) * | 2017-12-12 | 2018-05-18 | 智车优行科技(北京)有限公司 | 一种iic设备通信系统、写数据方法及读数据方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442044A (zh) * | 2019-08-19 | 2019-11-12 | 哈尔滨工业大学 | 一种用于飞行器制导控制算法验证的半实物仿真平台 |
CN111798330A (zh) * | 2020-05-20 | 2020-10-20 | 中国南方电网有限责任公司 | 电力现货市场监测数据管理方法、装置及设备 |
CN111798330B (zh) * | 2020-05-20 | 2024-04-05 | 中国南方电网有限责任公司 | 电力现货市场监测数据管理方法、装置及设备 |
CN115361094A (zh) * | 2022-08-18 | 2022-11-18 | 合肥美菱物联科技有限公司 | 一种冰箱通讯方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109359071A (zh) | 模块之间数据通信的方法 | |
CN103106378B (zh) | 一种新型15693标签芯片验证平台 | |
CN109905205B (zh) | 数据发送、接收的方法及设备、数据传输方法及系统 | |
CN103442250B (zh) | 电视机调试系统和方法 | |
CN102170326B (zh) | 一种位置测量装置的串行通信方法及其装置 | |
CN104660308A (zh) | 基于蓝牙低功耗技术的文件传输方法和系统 | |
CN1841976B (zh) | 一种传输实时并行数据流的方法及系统 | |
EP2219117A1 (en) | A processing module, a device, and a method for processing of XML data | |
CN107426770B (zh) | 基于数据链路层的数据通讯方法、数据终端及系统 | |
CN110943762A (zh) | 一种基于差分曼彻斯特编码的直流电源线载波通讯方法和空调 | |
CN106452684A (zh) | 一种iec61850报告数据传输报文的自校验方法 | |
CN104935527A (zh) | 一种音频通信的数据组包方法 | |
US7653844B2 (en) | Communication apparatus and communication system | |
CN109902055B (zh) | 一种适用窄带数据网络的slip编码数据流传输方法 | |
CN110838893A (zh) | 一种基于北斗系统的通讯系统及其通讯方法 | |
CN112134619B (zh) | 一种实现播放控制器和显示终端之间单纤双向传输方法 | |
CN101110961A (zh) | 一种多媒体广播数据传输方法、装置及系统 | |
CN112532618A (zh) | 用于稳控测试系统联调测试的非透明协议转换方法及装置 | |
KR101572810B1 (ko) | 비동기 통신과 에이치.디.엘.씨(hdlc) 동기통신 변환장치의 제어방법 | |
CN106297264A (zh) | 一种兼容多种红外指令的编码方法及系统 | |
CN103812824A (zh) | 音频多编码传输方法及相应装置 | |
CN107342920B (zh) | 物联网网关接入设备及其数据交互方法 | |
CN110381095B (zh) | 一种片上系统及设备、通信系统 | |
CN113517950B (zh) | 一种信号收发方法、系统及介质 | |
CN108347292A (zh) | 一种物理编码子层的数据编解码方法和装置 |
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 | ||
CB02 | Change of applicant information |
Address after: 621000 Sichuan Ailian Technology Co.,Ltd., Anzhou Industrial Park, Mianyang City, Sichuan Province Applicant after: Sichuan Ailian Technology Co.,Ltd. Address before: 621000 Mianyang city of Sichuan Province, Sichuan Industrial Park, love science and Technology Co. Applicant before: SICHUAN AI-LINK TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190219 |
|
RJ01 | Rejection of invention patent application after publication |