CN1633125A - 一种主从设备通信方法 - Google Patents
一种主从设备通信方法 Download PDFInfo
- Publication number
- CN1633125A CN1633125A CN 200410102538 CN200410102538A CN1633125A CN 1633125 A CN1633125 A CN 1633125A CN 200410102538 CN200410102538 CN 200410102538 CN 200410102538 A CN200410102538 A CN 200410102538A CN 1633125 A CN1633125 A CN 1633125A
- Authority
- CN
- China
- Prior art keywords
- character string
- packet
- master
- slave
- data
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000011664 signaling Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种主从设备通信方法,以解决现有技术中通信机制复杂的问题。包括步骤:A.主设备将需要发送给从设备的数据转换成字符串,并发送给从设备;B.从设备将接收的字符串转换成主设备发送的数据。采用本发明的方法能简单实现距离较近的主从设备之间的数据通信。
Description
技术领域
本发明涉及数据通信,尤指一种主从设备之间的数据通信方法。
背景技术
一般情况下,设备之间的通信协议有很多种,比如TCP等,这些通信协议比较复杂,而且还有误码、校验、重发等等机制,系统非常庞大,在通信信道容易被干扰的环境是这种通信协议最佳的应用场合。
其实,对于距离很近的设备之间进行通信时,由于两个通信设备相隔很近(一般在2米以内),通信信道稳定,很难受到外界干扰而造成误码,因此,并不需要校验、重发等复杂的通信机制来保障通信的可靠性和正确性。特别是对于主从设备之间的通信,由于主设备固定为命令发起者,从设备只是被动接收命令或数据,主从设备之间很少或没有信令的交互,在这样的应用中使用TCP等通信协议进行通信并不能为系统带来性能上的极大提高,而且使系统变得复杂庞大,为此,可以寻求一种相对较简单的通信机制来实现近距离的主从设备之间的数据通信。
在这种通信信道比较可靠的设备之间的通信时,往往会采用以下类似的通信协议,这种通信协议一般是在每个数据包的前面增加一个信令头(一般这个信令头的长度为4个字节),然后跟着这个信令的长度信息(一般也是4个字节),表示这个数据包的长度,最后还会用一个信令来表示数据包结束,如图1所示。类似的通信协议有以下的一些缺点:
1、加上信令头的目的,是为了表示数据包的开始,因为所传输的数据里出现与信令头相同的4字节数据的概率很低,因此这种通信机制还是不能在根本上避免通信出错的情况发生;
2、当出现一次通信错误,由于长度信息的存在,可能会造成比较困难的通信恢复;
3、这种通信协议对少量有效数据的通信效率比较低。
发明内容
本发明提供一种主从设备通信方法,以解决现有技术中通信机制复杂的问题。
本发明提供的主从设备通信方法,包括下列步骤:
A、主设备将需要发送给从设备的数据转换成字符串,并发送给从设备;
B、从设备将接收的字符串转换成主设备发送的数据。
所述字符串是以ASCII码定义的字符串。
根据本发明的上述方法,所述主设备将字符串打成数据包发送,每个数据包带有数据包结束标识;所述从设备根据接收到的数据包结束标识,接收一个完整的数据包后进行数据转换。
根据本发明的上述方法,所述主设备在发送的数据包中插入分隔符,用以区分不同的数据组;所述从设备分析接收的数据包中是否有约定的分隔符,若有,则将分隔符前后的数据进行转换。
所述分隔符为空格。
所述数据包结束标识为回车符。
所述从设备中设有一个字符串数组,将接收的字符串存入该字符串数组中;当收到一回车符时,读出该字符串数组中存储的字符串进行转换,并清空该字符串数组。
所述数据包为长度相同或不同的数据包。
采用本发明的方法,能够简单实现主从设备之间的通信,相对于现有技术,本发明方法的优点如下:
1、回车符保证了每个数据包的正确开始;
2、如果在某个数据包出现错误,其下一个数据包就已经正确的恢复通信;
3、在少量数据通信时,其效率比较高。
附图说明
图1为现有技术数据包格式示意图;
图2为本发明实施例中主设备数据转换流程图;
图3为本发明实施例中从设备接收数据流程图;
图4为本发明实施例中从设备数据转换流程图。
具体实施方式
本发明方法适用于相隔很近的两个主从设备,它们之间通过通信接口(串口或并口)相连接。假设主设备要向从设备发送16进制数据0x112233,其携带参数0x44,则在主设备需要进行数据转换,将16进制数据0x112233转换成ASCII码字符串再发送出去。为了使从设备能正确地将接收的字符串还原成主设备所发送的原始数据,需要预先在主从设备中约定表示信令结束的标识符,本实施例中采用回车符来代表一个信令的数据包结束;由于信令有可能带有一个或多个参数,参数与信令之间或参数之间需要加以分隔,因此,需要预先约定参数分隔符,本实施例中采用空格来进行分隔。根据上述约定,主设备将需要传送的数据转换成字符串的具体流程如图2所示,包括下列步骤:
首先将16进制数据0x112233转换成字符串,得到“112233”;
增加空格,并将参数0x44转换为参数字符串,得到“112233 44”;
增加回车符,表示该信令数据包结束,得到“112233 44\n”,其中“\n”表示回车符;
将该转换后的数据通过主设备与从设备之间的通信接口发送给从设备。
从设备接收数据流程图如图3所示,包括下列步骤:
S31:从设备不断检测与主设备的通信接口;
S32:若检测到有新的数据到来,则执行步骤S33;否则,返回步骤S31,继续等待主设备发来新数据;
S33:读取接收的数据信息;
S34:判断当前接收的数据是否为表示一个数据包结束的回车符,若否,执行步骤S35;若是,执行步骤S36;
S35:将当前接收的数据存储到一个在从设备中开辟的字符串数组中加以保存,返回步骤S31,等待数据包的下一个字符串从接口传送到从设备中;
S36:读取字符串数组中保存的数据,即当前数据包的全部字符串,准备进入字符串转换流程,将接收的字符串转换成16进制数据。
具体转换方法如图4所示,包括下列步骤:
S41:从字符串数组中读取一个数据包的数据;本实施例中,读到的数据为字符串“112233 44”,字符串长度为9(包括空格);
S42:判断该数据包各字符串之间是否存在空格,若有,则执行步骤S43,否则,转至步骤S44;
S43:以空格为分界,将接收的字符串分成若干串彼此分隔的字符串;本实施例中,得到两串字符串,第一串字符串为“112233”;第二串字符串为“44”;
S44:将各字符串转换成16进制数据,即可得到主设备发送的信令数据0x112233和0x44。
以上实施例中,数据包结束标识符可以在主从设备中预先约定为任意字符。字符串之间的分隔符也可以在主从设备中预先约定为任意字符。
本发明中,主设备需要发送的数据不局限于实施例中的16进制数据,可以为任意进制数据。
本发明转换后的字符串可以是ASCII码定义的字符串,但并不局限于此。
Claims (8)
1、一种主从设备通信方法,其特征在于包括下列步骤:
A、主设备将需要发送给从设备的数据转换成字符串,并发送给从设备;
B、从设备将接收的字符串转换成主设备发送的数据。
2、如权利要求1所述的主从设备通信方法,其特征在于,所述字符串是以ASCII码定义的字符串。
3、如权利要求2所述的主从设备通信方法,其特征在于,所述主设备将字符串打成数据包发送,每个数据包带有数据包结束标识;所述从设备根据接收到的数据包结束标识,接收一个完整的数据包后进行数据转换。
4、如权利要求3所述的主从设备通信方法,其特征在于,所述主设备在发送的数据包中插入分隔符,用以区分不同的数据组;所述从设备分析接收的数据包中是否有约定的分隔符,若有,则将分隔符前后的数据进行转换。
5、如权利要求4所述的主从设备通信方法,其特征在于,所述分隔符为空格。
6、如权利要求5所述的主从设备通信方法,其特征在于,所述数据包结束标识为回车符。
7、如权利要求6所述的主从设备通信方法,其特征在于,所述从设备中设有一个字符串数组,将接收的字符串存入该字符串数组中;当收到一回车符时,读出该字符串数组中存储的字符串进行转换,并清空该字符串数组。
8、如权利要求3所述的主从设备通信方法,其特征在于,所述数据包为长度相同或不同的数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200410102538XA CN100444595C (zh) | 2004-12-24 | 2004-12-24 | 一种主从设备通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200410102538XA CN100444595C (zh) | 2004-12-24 | 2004-12-24 | 一种主从设备通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1633125A true CN1633125A (zh) | 2005-06-29 |
CN100444595C CN100444595C (zh) | 2008-12-17 |
Family
ID=34848120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200410102538XA Expired - Fee Related CN100444595C (zh) | 2004-12-24 | 2004-12-24 | 一种主从设备通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100444595C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453313B (zh) * | 2007-12-06 | 2013-03-20 | 鸿富锦精密工业(深圳)有限公司 | 主从设备通信电路 |
CN103262056A (zh) * | 2010-10-01 | 2013-08-21 | Flex Electronics ID Co.,Ltd. | 用于对接便携式电子设备的系统和方法 |
CN104486034A (zh) * | 2014-12-08 | 2015-04-01 | 江西洪都航空工业集团有限责任公司 | 一种rs422/485串口通信数据组包方法 |
US9244491B2 (en) | 2011-08-31 | 2016-01-26 | Z124 | Smart dock for auxiliary devices |
US9383770B2 (en) | 2011-08-31 | 2016-07-05 | Z124 | Mobile device that docks with multiple types of docks |
US9507930B2 (en) | 2003-04-25 | 2016-11-29 | Z124 | Physical key secure peripheral interconnection |
US9900418B2 (en) | 2011-09-27 | 2018-02-20 | Z124 | Smart dock call handling rules |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5481675A (en) * | 1992-05-12 | 1996-01-02 | International Business Machines Corporation | Asynchronous serial communication system for delaying with software dwell time a receiving computer's acknowledgement in order for the transmitting computer to see the acknowledgement |
CH689881A8 (fr) * | 1995-12-13 | 2000-02-29 | Bauer Eric | Procédé de gestion d'accés concurrents et dispositif pour sa mise en oeuvre. |
KR100644597B1 (ko) * | 2000-08-05 | 2006-11-10 | 삼성전자주식회사 | 버스 시스템 및 그 커맨드 전달방법 |
US7477649B2 (en) * | 2002-07-17 | 2009-01-13 | Lsi Corporation | Active FIFO threshold adjustment |
JP2004187006A (ja) * | 2002-12-03 | 2004-07-02 | Matsushita Electric Ind Co Ltd | データ構造、スレーブ機器およびマスタ機器 |
-
2004
- 2004-12-24 CN CNB200410102538XA patent/CN100444595C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9507930B2 (en) | 2003-04-25 | 2016-11-29 | Z124 | Physical key secure peripheral interconnection |
CN101453313B (zh) * | 2007-12-06 | 2013-03-20 | 鸿富锦精密工业(深圳)有限公司 | 主从设备通信电路 |
CN103262056A (zh) * | 2010-10-01 | 2013-08-21 | Flex Electronics ID Co.,Ltd. | 用于对接便携式电子设备的系统和方法 |
CN103262056B (zh) * | 2010-10-01 | 2016-01-20 | Flex Electronics ID Co.,Ltd. | 用于对接便携式电子设备的系统和方法 |
US9244491B2 (en) | 2011-08-31 | 2016-01-26 | Z124 | Smart dock for auxiliary devices |
US9383770B2 (en) | 2011-08-31 | 2016-07-05 | Z124 | Mobile device that docks with multiple types of docks |
US9900418B2 (en) | 2011-09-27 | 2018-02-20 | Z124 | Smart dock call handling rules |
US10652383B2 (en) | 2011-09-27 | 2020-05-12 | Z124 | Smart dock call handling rules |
CN104486034A (zh) * | 2014-12-08 | 2015-04-01 | 江西洪都航空工业集团有限责任公司 | 一种rs422/485串口通信数据组包方法 |
CN104486034B (zh) * | 2014-12-08 | 2017-12-01 | 江西洪都航空工业集团有限责任公司 | 一种rs422/485串口通信数据组包方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100444595C (zh) | 2008-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1078415C (zh) | 用于无线通信的分组数据协议 | |
JPH0673940U (ja) | データ受信器 | |
CN109101453B (zh) | 异步串行通信采样系统和方法 | |
CN1459179A (zh) | 用于网络协议的报头压缩方法 | |
CN112187789A (zh) | 一种数据链路协议转换系统 | |
CN1633125A (zh) | 一种主从设备通信方法 | |
CN104038327B (zh) | Fc网络的出错重传方法 | |
CN110838893A (zh) | 一种基于北斗系统的通讯系统及其通讯方法 | |
CN1881932A (zh) | Spⅰ4ⅱ接口远距离传输的实现方法及装置 | |
CN104360988B (zh) | 中文字符的编码方式的识别方法和装置 | |
CN1972163B (zh) | 一种射频拉远模块中信令数据传输装置及其帧同步方法 | |
CN110113100B (zh) | 一种用于以太网数据传输的可见光通信装置及方法 | |
CN106941430A (zh) | 一种基于fpga的可编程精确网络报文构造和发送单元 | |
CN108833436B (zh) | 一种实现设备通信互联的通信控制方法 | |
CN104009823B (zh) | 一种SerDes技术中的错位检测与纠错电路 | |
CN104735551B (zh) | Advb接收容错及处理方法 | |
US7327732B2 (en) | Method and apparatus for combined framing and packet delineation | |
CN1310531A (zh) | 高速数据传输中的差错检测方法 | |
CN107171769B (zh) | 一种分包发送数据同步头设定方法及排序方法 | |
CN1633126A (zh) | 一种命令传送方法 | |
CN102437893B (zh) | 一种高速1553b总线通讯系统纠错方法 | |
CN101764718A (zh) | 一种深度报文检测方法及装置 | |
CN1350678A (zh) | 用于传送数字传输协议的参量的方法 | |
CN1671244A (zh) | 通过背板传输数据的方法 | |
CN1697556A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081217 Termination date: 20111224 |