1.简介
HART(Highway Addressable Remote Transducer可寻址远程传感器高速通道)协议,主要用于工业自动化领域的通信协议,专为发送和接收数字信息而设计,同时也支持模拟信号(如4-20 mA信号)的传输。这种设计使得HART设备能够同时传输模拟信号和数字数据,从而提供了更加灵活和强大的通信能力。
标准的HART传输是叠加在4-20mA信号上的FSK(移动键控)信号,替代方案是C8PSK(同调8路相移键控)信号,代替方案提高了HART的数字传输速率。此外还有一些基于RS-485、IP、TDMA的HART通讯方式,在此不再赘述。
本文仅讨论HART FSK。
2.报文格式
2.1 HART字节
因为HART协议有自己独特的物理层通讯方式,所以其在数据链路层上的传输采用一个被称为HART字节组的传输方式,每次传输会发送一个11位的HART字节,多个HART字节中的数据部分组合成一个有效的HART数据帧。(这个过程可以不准备的类比成一长串数据通过多个TCP/IP数据包发送的过程)
HART字节的格式如下:
用途 | 开始位 | HART字节 | 奇校验位 | 停止位 |
---|---|---|---|---|
长度 | 1bit | 8bit | 1bit | 1bit |
描述 | 固定为0,表示开始 | HART数据,从LSB(最低有效位)开始,以MSB(最高有效位)结束。 | 用于校验数据 | 固定为1,表示结束 |
2.2HART报文格式
结构如下:
用途 | 长度 | 描述 |
---|---|---|
前导码 | 5-20字节 | 5-20个0xFF,用于传输的开始, |
起始字节 | 1字节 | 用来标识数据包的起始位置 |
地址 | 1或5字节 | 包含了主机地址和从机地址,短帧中占1字节,长帧中占5字节 |
扩展 | 0-3字节 | 用于潜在的扩展,长度由其实字节指示 |
命令 | 1字节 | 表示这条数据的作用 |
字节计数 | 1字节 | 状态和数据部分的大小,单位:字节 |
状态 | 2字节 | 只存在于从机响应主机的消息,报告错误和状态 |
数据 | 0-253字节 | 不是所有的命令都有数据字节,用于存放数据 |
校验和 | 1字节 | 纵向奇偶校验,用于检测错误 |
2.2.1 前导码
前导码出现在每条消息的开头。前