CN103546354B - 基于物联网电力测温设备的rs485与can总线兼容的通信方法 - Google Patents

基于物联网电力测温设备的rs485与can总线兼容的通信方法 Download PDF

Info

Publication number
CN103546354B
CN103546354B CN201310498247.6A CN201310498247A CN103546354B CN 103546354 B CN103546354 B CN 103546354B CN 201310498247 A CN201310498247 A CN 201310498247A CN 103546354 B CN103546354 B CN 103546354B
Authority
CN
China
Prior art keywords
packet
byte
frame
address
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.)
Active
Application number
CN201310498247.6A
Other languages
English (en)
Other versions
CN103546354A (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.)
Beijing Hualongtong Technology Co Ltd
Tianjin 712 Communication and Broadcasting Co Ltd
Original Assignee
Beijing Hualongtong Technology Co Ltd
Tianjin 712 Communication and Broadcasting Co Ltd
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 Beijing Hualongtong Technology Co Ltd, Tianjin 712 Communication and Broadcasting Co Ltd filed Critical Beijing Hualongtong Technology Co Ltd
Priority to CN201310498247.6A priority Critical patent/CN103546354B/zh
Publication of CN103546354A publication Critical patent/CN103546354A/zh
Application granted granted Critical
Publication of CN103546354B publication Critical patent/CN103546354B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Small-Scale Networks (AREA)

Abstract

一种基于物联网电力测温设备的RS485与CAN总线兼容的通信方法,采用为RS485与CAN总线规定统一的主从设备规则、网络地址分配规则、帧格式、数据包格式、总线资源分配规则、保留字规则的方法,首先定义网络主设备和从设备,然后定义网络地址、帧格式、数据包格式、总线资源分配、保留字,指定RS485与CAN总线网络中一个节点作为主设备,其他所有节点作为从设备;主设备负责总线资源分配;从设备中存储一个变量,用于记录当前总线类型;使两种总线能够使用统一的方法进行通信,本方法对RS485和CAN总线兼容性好,同时应用层不必关心硬件设备类型,可避免同一种设备开发两套软件的造成的时间浪费,同时,也可降低系统复杂度,减小错误几率,节省开发和维护环节的成本。

Description

基于物联网电力测温设备的RS485与CAN总线兼容的通信方法
技术领域
本发明涉及基于物联网电力测温设备的通信方法,特别涉及基于物联网电力测温设备的能够同时兼容RS485与CAN总线的通信的通信方法,本发明可扩展应用至物联网、工业控制及其他领域中使用RS485与CAN总线进行通信的设备。
背景技术
随着物联网技术的深入发展,物品管理、设备运行监控已成为物联网的重要前端技术。利用SAW-RFID实现设备运行时的时时监控,可令电力运营部门预测故障,提前解决问题,避免了故障发生时带来的巨额经济损失以及人员伤亡。
利用SAW-RFID测温设备进行测温的原理是:随着标签温度的改变,标签的响应频点也会按一定规律变化。首先测温设备向标签发射射频信号,接下来测量标签返回的射频信号,然后对接收到的射频信号进行分析处理,得到标签的响应频点。最终将标签的响应频点转换为对应的温度。
在物联网领域中的设备之间,通常使用RS485总线或CAN总线进行通信。其中,RS485总线应用较早,应用范围较广,在成熟产品中使用率较高。但在技术不断发展的今天,RS485总线也面临着传输速率慢、传输距离短、误码率高,无总线资源硬件仲裁功能诸多缺点。CAN总线是一种较新型的串行总线,其优点是:传输速率较快,可达1Mbps;传输距离长,最长可达10公里;可靠的数据处理与检错机制;自带总线资源硬件仲裁功能。但目前在物联网领域中,CAN总线普及率不高。所以,目前的物联网设备往往同时带有RS485、CAN两套通信接口。
依据ISO/OSI网络分层模型,RS485总线与CAN总线只规定了物理层与数据链路层这两个底层通讯协议,没有规定高层通信协议,导致应用这两种总线的设备需要独立开发两套软件,分别实现以上两种总线的高层通信协议。本发明是一套能同时兼容RS485总线与CAN总线的基于高层通信协议的实现方法。应用本发明,同一设备只需开发一套软件即可同时支持RS485总线与CAN总线,极大的降低了软件开发成本。
发明内容
鉴于上述现有技术现状,本发明提供一种基于物联网电力测温设备的RS485与CAN总线兼容的通信方法。本方法采用为RS485与CAN总线规定统一的主从设备规则、网络地址分配规则、帧格式、数据包格式、总线资源分配规则、保留字规则等方法,使两种总线能够使用统一的方法进行通信
本发明所采取的技术方案是:一种基于物联网电力测温设备的RS485与CAN总线兼容的通信方法,其特征在于,在应用层使用一套实现方法,即可使设备同时支持RS485与CAN总线;
所述方法包括如下步骤:
(1)、定义网络主设备和从设备:
指定RS485与CAN总线网络中一个节点作为主设备,其他所有节点作为从设备;主设备负责总线资源分配;从设备中存储一个变量,用于记录当前总线类型;
(2)定义网络地址:
总线网络中地址范围从0~255,分别为以下节点分配地址:主设备地址、从设备地址范围、广播地址;
(3)定义帧:
定义总线中数据传输的最小单位叫做帧,每帧固定包含8字节数据;定义若干帧组成的一个包含完整意义的结构叫做数据包;帧格式定义如下:
1字节的目的地址+1字节的源地址+1字节的数据包信息+1字节的帧校验值+4字节的的数据;
上述定义中,“数据包信息”字节中的第7位表示数据包类型,0表示单帧数据包,1表示多帧数据包;数据包的长度小于等于4字节的数据包叫做单帧数据包;数据包长度大于4字节的数据包叫做多帧数据包;多帧数据包分为头帧与数据帧;“数据包信息”字节中的第0~6位用于标记数据包ID;
多帧数据包中,头帧格式定义如下:
1字节的目的地址+1字节的源地址+1字节的数据包信息+1字节的帧校验值+1字节的数据包ID+1字节的数据包字节长度+2字节的数据包校验值;
多帧数据包的头帧中,“数据包信息”字节固定为0xFF;
多帧数据包中,数据帧格式定义如下:
1字节的目的地址+1字节的源地址+1字节的数据包信息+1字节的帧校验值+4字节的数据;
上述定义中,“数据包信息”的第0~6位表示数据帧编号;多帧数据包中,每个数据帧都拥有唯一编号;多帧数据包中,“数据包信息”的第7位固定为1;
(4)定义数据包:
一组帧可组成一个包含完整意义的数据包;数据包格式定义如下:
1字节的源地址+1字节的目的地址+1字节的数据包ID+若干字节的数据;
(5)接收数据包:
接收数据包的流程如下:
a、计算帧校验值,若校验不通过,则抛弃本帧;
b、若目的地址不是本机地址或广播地址,则抛弃本帧;
c、若数据包类型为单帧数据包,则直接接收数据,得到一个完整的数据包;
d、若数据包类型为多帧数据包,则从头帧中获取数据包ID、数据包长度、数据包校验值,然后依次接收数据帧,最后校验数据包校验值,得到一个完整的数据包;若接收过程中帧编号不正确或数据包校验值不正确,则抛弃本数据包中的所有帧;
(6)总线资源分配规则:
CAN总线具有硬件自仲裁功能;RS485总线需要定义软件总线资源分配方法;RS485总线资源分配方法描述如下:
a、总线中,每个从设备都具有唯一的地址;主设备上电时先执行初始化过程:首先向广播地址发送ID为“扫描”的单帧数据包,然后,主设备轮流向0~255范围内的每个地址点名,各从设备依次向主设备应答本从设备地址;主设备确认当前总线中存在的所有地址,完成初始化;
b、完成初始化后,主设备以时间片为单位,轮流向每个地址点名;被点到名的地址获得总线占用权,点名操作占用2字节,数据格式为:1字节点名关键字+1字节点名地址;一旦其他地址被点名,当前地址立即失去总线占用权;
(7)保留字:
RS485总线中保留1字节数据作为点名关键字;若数据包中的数据字段中存在点名关键字,则将其转义后才能传输。
本发明的有益效果是:优化设计之后的标签用于物联网电力测温设备中,对RS485和CAN总线兼容性好,同时应用层不必关心硬件设备类型。可避免同一种设备开发两套软件的造成的时间浪费。同时,也可降低系统复杂度,减小错误几率,节省开发和维护环节的成本。
具体实施方式
为了更清楚的理解本发明,结合实施例详细描述本发明:
1)、定义网络主设备和从设备:
RS485与CAN总线均属于半双工通信,两者在物理上均属于总线型网络,在逻辑上属于星型网络。在物联网电力测温设备(WL-002)中,包含上位机控制端及若干通过串行总线网络与上位机连接的读卡器。因此,指定网络中的上位机控制端为主设备,所有读卡器作为从设备。主设备负责总线资源分配,从设备中存储1字节无符号变量cMask,初始值为0,用于记录当前总线类型。主设备向总线发送数据时,从设备根据触发的中断类型,设置该变量的不同标记位:当触发RS485中断时,置cMask变量的第0位为1;当触发CAN中断时,置cMask变量的第1位为1。此后,根据cMask变量的位标记执行不同的操作流程。
2)定义网络地址:
总线网络中地址范围从0x00~0xFF,分配如下:
0x00:为扩展保留
0x01:广播地址
0x02~0xD0:从设备地址
0xD1~0xF0:为扩展保留
0xF1:主设备地址
0xF2~0xFF:为扩展保留
3)定义帧:
定义总线中数据传输的最小单位叫做帧,每帧固定包含8字节数据。定义若干帧组成的一个包含完整意义的结构叫做数据包。
帧格式定义如下:
目的地址(1字节)+源地址(1字节)+数据包信息(1字节)+帧校验值(1字节)+数据(4字节);
若当前总线类型为CAN,由于总线协议规定每帧数据的长度为8字节,因此,数据直接按帧格式填充。若当前总线类型为RS485,则将数据按上述帧格式分割为若干帧。
上述定义中,“数据包信息”字节中的第7位表示数据包类型,0表示单帧数据包,1表示多帧数据包。数据包的长度小于等于4字节的数据包叫做单帧数据包。数据包长度大于4字节的数据包叫做多帧数据包。多帧数据包分为头帧与数据帧。“数据包信息”字节中的第0~6位用于标记数据包ID。
多帧数据包中,头帧格式定义如下:
目的地址(1字节)+源地址(1字节)+数据包信息(1字节)+帧校验值(1字节)+数据包ID(1字节)+数据包长度(1字节)+数据包校验值(2字节);
多帧数据包的头帧中,“数据包信息”固定为0xFF。
多帧数据包中,数据帧格式定义如下:
目的地址(1字节)+源地址(1字节)+数据包信息(1字节)+帧校验值(1字节)+数据(4字节)
上述定义中,“数据包信息”的第0~6位表示数据帧编号。多帧数据包中,每个数据帧都拥有唯一编号。多帧数据包中,“数据包信息”的第7位固定为1。
4)定义数据包:
一组帧可组成一个包含完整意义的数据包。数据包格式定义如下:
源地址(1字节)+目的地址(1字节)+数据包ID(1字节)+数据(若干字节);
5)接收数据包:
接收数据包的流程如下:
a、计算帧校验值,若校验不通过,则抛弃本帧;
b、若目的地址不是本机地址或广播地址,则抛弃本帧;
c、若数据包类型为单帧数据包,则直接接收数据,得到一个完整的数据包;
d、若数据包类型为多帧数据包,则从头帧中获取数据包ID、数据包长度、数据包校验值,然后依次接收数据帧,最后校验数据包校验值,得到一个完整的数据包。若接收过程中帧编号不正确或数据包校验值不正确,则抛弃本数据包中的所有帧。
6)总线资源分配规则:
CAN总线具有硬件自仲裁功能;RS485总线需要定义软件总线资源分配方法。RS485总线资源分配方法描述如下:
a、总线中,每个从设备都具有唯一的地址。主设备上电时先执行初始化过程:首先向广播地址发送ID为“扫描”的单帧数据包,然后,主设备轮流向0~255范围内的每个地址点名,各从设备依次向主设备应答本从设备地址;主设备确认当前总线中存在的所有地址,完成初始化。
b、完成初始化后,主设备以时间片为单位,轮流向每个地址点名。被点到名的地址获得总线占用权,点名操作占用2字节,数据格式为:0xA0+1字节点名地址。一旦其他地址被点名,当前地址立即失去总线占用权。
7)保留字:
RS485总线中保留1字节数据“0xA0”作为点名关键字。若数据包中的数据字段存在0xA0,则先将其转义,然后才能传输。转义规则定义如下:
数据包中若存在1字节数据“0xA0”,则将其转义为2字节数据“0xBB+0xBC”;数据包中若存在1字节数据“0xBB”,则转义为2字节数据“0xBB+0xBD”。
根据上述说明,结合本领域技术可实现本发明的方案。

Claims (1)

1.一种基于物联网电力测温设备的RS485与CAN总线兼容的通信方法,其特征在于,在应用层使用一套所述方法,即可使设备同时支持RS485与CAN总线;所述方法包括如下步骤:
(1)定义网络主设备和从设备:
指定RS485与CAN总线网络中一个节点作为主设备,其他所有节点作为从设备;主设备负责总线资源分配;从设备中存储一个变量,用于记录当前总线类型;
(2)定义网络地址:
总线网络中地址范围从0~255,将所有节点分配为以下地址:主设备地址、从设备地址范围、广播地址;
(3)定义帧:
定义总线中数据传输的最小单位叫做帧,每帧固定包含8字节数据;定义若干帧组成的一个包含完整意义的结构叫做数据包;帧格式定义如下:
1字节的目的地址+1字节的源地址+1字节的数据包信息+1字节的帧校验值+4字节的数据;
上述定义中,“数据包信息”字节中的第7位表示数据包类型,0表示单帧数据包,1表示多帧数据包;数据包的长度小于等于4字节的数据包叫做单帧数据包;数据包长度大于4字节的数据包叫做多帧数据包;多帧数据包分为头帧与数据帧;“数据包信息”字节中的第0~6位用于标记数据包ID;
多帧数据包中,头帧格式定义如下:
1字节的目的地址+1字节的源地址+1字节的数据包信息+1字节的帧校验值+1字节的数据包ID+1字节的数据包字节长度+2字节的数据包校验值;
多帧数据包的头帧中,“数据包信息”字节固定为0xFF;
多帧数据包中,数据帧格式定义如下:
1字节的目的地址+1字节的源地址+1字节的数据包信息+1字节的帧校验值+4字节的数据;
上述定义中,“数据包信息”的第0~6位表示数据帧编号;多帧数据包中,每个数据帧都拥有唯一编号;多帧数据包中,“数据包信息”的第7位固定为1;
(4)定义数据包:
一组帧可组成一个包含完整意义的数据包;数据包格式定义如下:
1字节的源地址+1字节的目的地址+1字节的数据包ID+若干字节的数据;
(5)接收数据包:
接收数据包的流程如下:
a、计算帧校验值,若校验不通过,则抛弃本帧;
b、若目的地址不是本机地址或广播地址,则抛弃本帧;
c、若数据包类型为单帧数据包,则直接接收数据,得到一个完整的数据包;
d、若数据包类型为多帧数据包,则从头帧中获取数据包ID、数据包长度、数据包校验值,然后依次接收数据帧,最后校验数据包校验值,得到一个完整的数据包;若接收过程中帧编号不正确或数据包校验值不正确,则抛弃本数据包中的所有帧;
(6)总线资源分配规则:
CAN总线具有硬件自仲裁功能;RS485总线需要定义软件总线资源分配方法;总线资源分配规则描述如下:
a、总线中,每个从设备都具有唯一的地址;主设备上电时先执行初始化过程:首先向广播地址发送ID为“扫描”的单帧数据包,然后,主设备轮流向0~255范围内的每个地址点名,各从设备依次向主设备应答本从设备地址;主设备确认当前总线中存在的所有地址,完成初始化;
b、完成初始化后,主设备以时间片为单位,轮流向每个地址点名;被点到名的地址获得总线占用权,点名操作占用2字节,数据格式为:1字节点名关键字+1字节点名地址;一旦其他地址被点名,当前地址立即失去总线占用权;
(7)保留字:
RS485总线中保留1字节数据作为点名关键字;若数据包中的数据字段中存在点名关键字,则将其转义后才能传输。
CN201310498247.6A 2013-10-22 2013-10-22 基于物联网电力测温设备的rs485与can总线兼容的通信方法 Active CN103546354B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310498247.6A CN103546354B (zh) 2013-10-22 2013-10-22 基于物联网电力测温设备的rs485与can总线兼容的通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310498247.6A CN103546354B (zh) 2013-10-22 2013-10-22 基于物联网电力测温设备的rs485与can总线兼容的通信方法

Publications (2)

Publication Number Publication Date
CN103546354A CN103546354A (zh) 2014-01-29
CN103546354B true CN103546354B (zh) 2016-06-29

Family

ID=49969429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310498247.6A Active CN103546354B (zh) 2013-10-22 2013-10-22 基于物联网电力测温设备的rs485与can总线兼容的通信方法

Country Status (1)

Country Link
CN (1) CN103546354B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104410557A (zh) * 2014-12-25 2015-03-11 深圳中科讯联科技有限公司 一种基于rs-485的动态组网方法及通讯方法
CN104683205A (zh) * 2015-02-14 2015-06-03 谭旗 一种智能终端间数据并行传输的方法和装置
CN106292403A (zh) * 2015-06-01 2017-01-04 南京普爱医疗设备股份有限公司 一种医疗设备控制系统的can通信协议
CN106610906A (zh) * 2015-10-27 2017-05-03 深圳市中兴微电子技术有限公司 一种数据访问方法及总线
CN105656741B (zh) * 2016-01-05 2018-12-25 深圳警翼数码科技有限公司 一种警环或警掌和执法记录仪之间的蓝牙串口数据传输方法
CN105915456B (zh) * 2016-06-14 2019-01-15 南京工业职业技术学院 一种可变报头的中继通讯协议方法
CN107656725B (zh) * 2017-09-29 2021-09-17 山东东润仪表科技股份有限公司 一种多参数水质分析仪软件的实现方法
CN110166338B (zh) * 2019-05-17 2022-06-14 华东师范大学 一种串行通信接口的级联方法
CN112654101B (zh) * 2020-12-15 2023-05-02 华北科技学院 基于射频收发芯片的无线透传方法和系统
CN112799331B (zh) * 2021-01-26 2022-09-20 芜湖中科思萌特物联网科技有限公司 一种fpga解卡程序的解调方法
CN118018350B (zh) * 2024-02-05 2024-10-18 广东联想懂的通信有限公司 软件实现uart-ttl的低成本松耦合总线控制网络方法
CN118210751B (zh) * 2024-05-15 2024-07-23 深圳市华芯控股有限公司 基于can与rs485总线二合一的bms协议的通信方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1556608A (zh) * 2004-01-05 2004-12-22 中兴通讯股份有限公司 利用通用异步收发器实现rs485主从多机通讯的方法
CN101662404A (zh) * 2008-08-27 2010-03-03 上海海事大学 基于can总线船舶电站控制仪表通信方法
CN101764730A (zh) * 2009-12-18 2010-06-30 航天东方红卫星有限公司 一种can总线数据传输方法
CN202119545U (zh) * 2011-03-04 2012-01-18 易门供电有限公司 无线测温系统
CN102665292A (zh) * 2012-04-17 2012-09-12 南京拓诺传感网络科技有限公司 一种无线传感器网络传感节点装置及其运行方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1556608A (zh) * 2004-01-05 2004-12-22 中兴通讯股份有限公司 利用通用异步收发器实现rs485主从多机通讯的方法
CN101662404A (zh) * 2008-08-27 2010-03-03 上海海事大学 基于can总线船舶电站控制仪表通信方法
CN101764730A (zh) * 2009-12-18 2010-06-30 航天东方红卫星有限公司 一种can总线数据传输方法
CN202119545U (zh) * 2011-03-04 2012-01-18 易门供电有限公司 无线测温系统
CN102665292A (zh) * 2012-04-17 2012-09-12 南京拓诺传感网络科技有限公司 一种无线传感器网络传感节点装置及其运行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于RFID的电力温度监控系统的软件分析与设计;谢小芳;《电子技术应用》;20130106;第39卷(第1期);第23-26页 *

Also Published As

Publication number Publication date
CN103546354A (zh) 2014-01-29

Similar Documents

Publication Publication Date Title
CN103546354B (zh) 基于物联网电力测温设备的rs485与can总线兼容的通信方法
US9286249B2 (en) USB device communication method, device and system wherein a human interface device (HID) descriptor and report are added to a driver of USB device
CN103616927B (zh) 一种数据通讯服务器
CN108650136A (zh) 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法
CN108768981A (zh) 一种实现Powerlink工业实时以太网通讯的IP核
CN103558812B (zh) 基于fpga和arm的mvb网络四类设备网卡
CN106814657A (zh) 基于ARM的嵌入式实时EtherCAT主站构建方法
CN106656714A (zh) 一种基于EtherCAT总线的通信协议方法及系统
CN106899327A (zh) 数据传输的方法和装置
CN101304342B (zh) 一种增强型以太网接口装置
CN104104412A (zh) 一种基于dma的电力线网络系统及其通讯方法
CN105243044A (zh) 基于串口的管理系统及管理方法
CN108345558B (zh) 一种支持多协议的rs485集配单元
CN107885691A (zh) 串口数据传输方法、分布式设备及主机
CN104821849A (zh) 一种基于fpga的无线电光纤连接接口通信库及其实现方法
CN105515925A (zh) 一种uart多主实时通信系统
CN115550104A (zh) Axi总线扩展方法、装置、电子设备及存储介质
CN205647570U (zh) 一种EtherCAT与DeviceNET的通信网关
CN115150308B (zh) 一种流量统计方法和装置
CN207625600U (zh) 基于交换机芯片的以太网扩展电路
CN107395478B (zh) 一种用于高速卷烟包装设备的网络控制系统以及网络通信模块
CN102932208A (zh) 站点监控方法及装置
CN102420734A (zh) 一种can总线拓扑结构实现系统
CN202798769U (zh) 一种用于万兆网络的数据采集与处理设备
CN113341853B (zh) 一种ip核、fpga芯片、交流伺服驱动器及通讯方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 300462 No. 141 North Main Street, economic development zone, Binhai New Area, Tianjin

Patentee after: Tianjin 712 Communications Broadcasting Limited by Share Ltd

Patentee after: Beijing Hualongtong Technology Co., Ltd.

Address before: 300462 No. 141 North Main Street, economic development zone, Binhai New Area, Tianjin

Patentee before: Tianjin 712 Communication Broadcast Co., Ltd.

Patentee before: Beijing Hualongtong Technology Co., Ltd.