全球旧事资料 分类
前段时间做了一部分有线HART的解析,整理了一下基本的帧结构,在此做个笔记
HART帧结构:
cppviewplai
copy
12PREAMBLE520STARTADDRCOMBCNTSTATUSDATACHK3456FFFFFFFFFF82A606B2BF010F0021
1PREAMBLE引导码一般是520个0xFF他是一组同步传输的同步信号用以保证信息的同步在开始通讯的时候,使用的是20个FF引导码从机应答0信号时将告之主机他“希望”接收几个字节的引导码另外主机也可以用59号命令告诉从机应答时应用几位引导码
2START1Byte起始字节说明结构为“长”还是“短”消息源是否是“突发”模式消息
cppviewplai
copy
10x02主机到从机的短帧20x82主机到从机的长帧30x06:从机到主机的短帧40x86从机到主机的长帧50x01突发模式的短帧60x81突发模式的长帧
一般设备进行通讯接收到2个FF字节后就表示数据位的接收已经同步就将侦听起始位3ADDR15Bytes
f地址字节他包含了主机地址和从机地址短结构中占1字节长结构中占5字节不论长短帧结构HART协议中允许2个主机存在所以我们用首字节的最高位来进行区分
值为1表示第一主机地址第二主机用0表示
“突发”模式是特例01值将交替出现也就是说在该模式下赋予2个主机的机会均等次高位为1表示为“突发”模式短结构用首字节的0~4位表示值为0~15的从机地址
第56位赋0
长结构用后6位表示从机的生产厂商的代码第2个字节表示从机设备型号代码,后3~5个字节表示从机的设备序列号构成“唯一”标志码MA主机地址BM突发模式00SA从SA机SA地SA址短帧地址结构另外,长结构的低38位如果都是0的话表示的是广播地址,即消息发送给所有的设备。
4COM1Byte命令字节范围为253个用HEX的0FD表示31,127,254,255为预留值。5BCNT1Byte
f数据总长度,他的值表示的是BCNT下一个字节到最后(不包括校验字节)的字节数接收设备用他可以鉴别出校验字节也可以知道消息的结束因为规定数据最多为25字节所以他的值是从0~27。6STATUS2Bytes状态字节他也叫做“响应码”,顾名思义他只存在于从机响应主机消息的时候用2字节表示他将报告通讯中的错误接收命令的状态(如:设备忙、无法识别命令等)和从机的操作状态。如果我们在通讯过程中发现了错误首字节的最高位(第7位)将置1,其余的7位将汇报出错误的细节,而第2个字节全为0否r
好听全球资料 返回顶部