[发明专利]用于传感器节点的总线式支持热插拔的传感分开方法有效
申请号: | 201310742924.4 | 申请日: | 2013-12-30 |
公开(公告)号: | CN103647793B | 公开(公告)日: | 2017-03-22 |
发明(设计)人: | 毛续飞;韩建康;叶胜东 | 申请(专利权)人: | 无锡清华信息科学与技术国家实验室物联网技术中心 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F13/40 |
代理公司: | 无锡市大为专利商标事务所(普通合伙)32104 | 代理人: | 曹祖良,韩凤 |
地址: | 214135 江苏省无锡市国家高新技*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 传感器 节点 总线 支持 热插拔 传感 分开 方法 | ||
技术领域
本发明涉及一种总线式的支持热插拔的传感分开方法,用于硬件上分开的数据传输模块和传感器模块的通信,属于智能传感器技术领域。
背景技术
目前,在智能传感器领域,基于总线式的智能传感器标准只有IEEE1451.3标准,该标准定义了一个数字接口,用于连接多个分散的传感器,并且具有不同频谱特性的设备能够共处于一条总线上,该标准利用展频技术,在一根信号电缆上实现数据同步采集、通信和对连接在变送器总线上的电子设备供电。该标准规定了底层特殊的基于协议的硬件接口,这将使设计复杂度大大提高,成本增加,设计开发难度加大。并且国内在智能传感器领域尚未有标准出台。
发明内容
为了解决上述国际标准协议中的缺陷,降低开发难度,减少开发成本,本发明提出一种基于总线式的支持热插拔的传感分开方法,其包括一套智能传感器协议,该智能传感器协议规定了传感器模块与通信模块的数据通信方式及差错检验方式;底层硬件接口是目前常用的UART总线接口,这样硬件接口简单通用,便于开发人员设计。
本发明所采用的技术方案是:在硬件接口上,采用串行通信接口UART。智能传感器协议规定了三种数据帧格式,即请求PDU(协议数据单元)规定的数据格式(请求帧)、正确响应PDU规定的数据格式(正确响应帧)、异常响应PDU规定的数据格式(异常响应帧),规定了六种命令接口,提出了各种命令接口的通信流程及错误检测机制。通信过程中数据采用CRC校验方式,保证通信的可靠性。
智能传感器协议设计了六种命令接口,即:传感器模块申请加入总线命令、通信模块获取传感器模块相关信息命令、通信模块获取传感器模块采集的数据命令、通信模块配置传感器模块命令、传感器模块突发上传数据命令及通信模块唤醒传感器模块命令。以上每种命令均有相应的请求帧、正确响应帧和异常响应帧;请求帧由命令发起方发送,命令接收方接收判断;正确响应帧和异常响应帧由命令接收方发送,命令发起方接收判断。
所述传感器模块申请加入总线命令、传感器模块突发上传数据命令,发起方是传感器模块,命令接收方是通信模块;所述通信模块获取传感器模块相关信息命令、通信模块获取传感器模块采集的数据命令、通信模块配置传感器模块命令、通信模块唤醒传感器模块命令,发起方是通信模块,命令接收方是传感器模块;命令发起方发送相应的命令请求帧,命令接收方收到请求帧后,发送与请求命令相对应的响应数据帧:在通信过程中如果没有出现错误异常,则命令接收方将向命令发起方发送正确响应帧,如果出现错误异常,命令接收方将向命令发起方发送异常响应帧;命令发起方接收到异常响应帧后将会根据通信错误类型做相应处理。
通信协议的数据帧包括:传感器类别域、GUID域、功能域、数据域和校验域,其中GUID表示传感器模块全球唯一ID号;当通信出现错误时,被请求方会反馈异常响应,并且返回的数据帧中包含异常代码,指示出错的原因。
所述传感器模块申请加入总线命令具体如下,其中RJB表示申请加入总线:
在通信模块端:通信模块接收到传感器模块的RJB请求命令,对请求的数据帧继续相关位域的判断,首先检查数据帧的CRC校验是否正确,如果不正确,则直接结束通信过程,如果正确,判断功能码是否正确,如果不是RJB命令码,则直接结束通信过程,如果功能码正确,通信模块将处理RJB请求,通信模块将为传感器模块分配一个总线上唯一的地址,如果地址分配错误,则通信模块将发送异常码为0x04的异常响应帧给传感器模块,表面总线上传感器模块已经满了,不能再挂载传感器模块,如果地址分配成功,通信模块将发送正确响应帧给传感器模块;
在传感器模块端:传感器模块接收到通信模块的RJB响应帧后,对响应帧的相关域进行判断,首先检查数据帧的CRC校验是否正确,如果不正确,则直接结束通信过程,准备发送下一次RJB命令;如果正确,判断GUID是否正确,如果GUID和自己的ID号不符,则直接结束通信过程,准备发送下一次RJB命令;如果GUID正确,判断功能码是否是RJB,如果是,则表明通信模块收到了RJB请求,表明自己已经成功加入总线;如果功能码是RJB+0x80,则表明总线上的传感器模块已经满,传感器模块将结束请求过程。
所述通信模块获取传感器模块相关信息命令具体如下,其中GNI表示获取传感器模块相关信息,GUID表示传感器模块全球唯一ID号:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡清华信息科学与技术国家实验室物联网技术中心,未经无锡清华信息科学与技术国家实验室物联网技术中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310742924.4/2.html,转载请声明来源钻瓜专利网。