发明名称 基于物联网电力测温设备的RS485与CAN总线兼容的通信方法
摘要 一种基于物联网电力测温设备的RS485与CAN总线兼容的通信方法,采用为RS485与CAN总线规定统一的主从设备规则、网络地址分配规则、帧格式、数据包格式、总线资源分配规则、保留字规则的方法,首先定义网络主设备和从设备,然后定义网络地址、帧格式、数据包格式、总线资源分配、保留字,指定RS485与CAN总线网络中一个节点作为主设备,其他所有节点作为从设备;主设备负责总线资源分配;从设备中存储一个变量,用于记录当前总线类型;使两种总线能够使用统一的方法进行通信,本方法对RS485和CAN总线兼容性好,同时应用层不必关心硬件设备类型,可避免同一种设备开发两套软件的造成的时间浪费,同时,也可降低系统复杂度,减小错误几率,节省开发和维护环节的成本。
申请公布号 CN103546354B 申请公布日期 2016.06.29
申请号 CN201310498247.6 申请日期 2013.10.22
申请人 天津七一二通信广播有限公司;北京华龙通科技有限公司 发明人 李鸿儒;吴昊;王飞
分类号 H04L12/40(2006.01)I;H04L1/22(2006.01)I;H04L29/12(2006.01)I 主分类号 H04L12/40(2006.01)I
代理机构 天津中环专利商标代理有限公司 12105 代理人 莫琪
主权项 一种基于物联网电力测温设备的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字节数据作为点名关键字;若数据包中的数据字段中存在点名关键字,则将其转义后才能传输。
地址 300462 天津市滨海新区经济开发区西区北大街141号