Hart_Protocol
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HART 协议
1.HART 协议概况
HART 协议是美国Rosemount 公司于1986年提出的一项标准通讯协议,其全称为Highway Addressable Remote Transducer,即可寻址远程传感器数据公路。
就现场总线的意义上说,HART 协议的特点是具有与现场总线类似的体系结构,具有总线式的数字通讯,但HART 并不是真正的现场总线,它只是现场总线的雏形,是从模拟控制系统向现场总线过渡的一块踏脚石。
所谓“过渡”,是指它在4~20mA模拟信号上叠加FSK(Frequency Shift Keying,频移键控,详见第二节)数字信号,既可进行4~20mA 模拟信号的传输,又能进行数字通讯,同时,数字通讯信号不影响模拟信号的传输。
显然,这是一项4~20mA模拟信号与数字通讯相兼容的标准。
作为一个开放性协议,经过十多年的发展,HART 协议已成为智能仪表事实上的工业标准。
HART 通讯协议参照“ISO/OSI”的模型标准,简化并引用其中的1,2,7三层制定而成,即:物理层,数据链路层和应用层,对应关系如下:
2.HART 协议的物理层
本节主要描述了HART 协议的物理层的信号模式和传输介质等,这些都是与OSI 协议参考模型的物理层的规定相一致的。
(1)FSK 频移键控
HART 协议采用了Bell202 标准的FSK 频移键控信号。
它在4~20mA的模拟信号上叠加幅度为0.5mA的正弦调制波,1200Hz 代表逻辑“1”,2200Hz
代表逻辑“0”,如下图所示。
由于所叠加的正弦信号平均值为0,所以不会影响4-20mA的输出电流。
因此,模拟仪表在数字通讯时仍可以照常工作,这是HART标准的重要优点之一。
二进制数据传送的速率为1200波特。
这就意味着“1”由1200Hz 的一个周期表示,而“0”大约由2200Hz 的两个周期表示。
信号频率和传送速率的选择依据美国Bell202标准,该标准用于在电话网上传送数字信息。
因此,合适的低价位的MODEM 集成芯片可广泛应用。
HART协议规定主设备(主控制器或手执通讯器)传送电压信号,而从设备传送电流信号。
普通二线制变送器是通过控制环路电流来正常运行的,很容易把这种控制扩展到含有低幅高频的HART 通讯信号的元件的系统。
在HART设备和电源之间至少要接230Ω以上的负载电阻,通讯时变化的电流信号即通过该电阻转化为相应的电压信号。
(2)连接回路
两线制变送器的常规连接电路如下图所示.。
在实际应用中,供电单元,变送器和负载电阻可以按任意顺序连接,电路中的任意一点都可以接地。
手持终端或主设备通讯设备不能直接跨接在供电单元的两端,而是应该连接到通到现场的两线上(图中A,B点),或者跨接在负载电阻两端(图中B,C点)(在这种情况下,电路通过供电单元连通)。
HART协议允许负载阻抗为230Ω~1100Ω。
如果不是现场设备,HART 通讯单元必须不提供任何直流电阻到线上。
(3)多点运行
HART 协议中每一条通讯帧都含有源地址和目的地址。
通过给每一个从设备设置不同的地址,可以把许多这样的从设备并行跨接在一条现场绞合线上,每一个从设备只应答与自己地址相符的通讯帧,这样,多点通讯就可以进行了。
由于多点运行采用的是全数字信号,4~20mA模拟信号已毫无意义,所以HART协议指定多点运行时的各变送器只输出4mA电流(足以供电)。
在点对点运行中,主设备的值可以通过模拟量或者数字通讯读取。
在多点模式中,由于模拟量已不再有效,所以只能依靠数字通讯读取主变量。
3.HART 协议的数据链路层
本节描述了HART 协议中字符和数据的编码,帧结构和数据传送程序。
这些规定都与OSI 协议参考模型的第二层——数据链路层的规定相一致。
(1)HART 通讯方式
HART 协议为主从式结构,即指每一帧的传送都是由主设备(控制中心)开始,从设备(现场仪表)只是在接收到命令帧后才响应。
HART 协议允许系统中有两个主设备。
通常,第一主设备为控制系统或其它主设备,第二主设备为手持通讯器或维护计算机等。
两个主设备具有不同的地址,从而辨别各自发出的命令帧的响应帧。
系统最多允许15个从设备连接到一条多点通讯线上(非本安型应用)。
一般总是由主设备来控制数据帧的传送。
如果,从设备在定义的时间段内没
有响应命令帧,主设备将重发命令帧。
如果几次重发以后,从设备还是没有响应,主设备将取消这次命令的传送。
一旦一次传送完毕,主设备将暂停片刻,使其它主设备能够插入通讯。
两个主设备可轮流与从设备通讯。
典型的帧长和延迟允许每秒传送两次。
为了提高数据传送速率,有些现场设备设有可选的突发模式。
当采用这种模式时,从设备定时重复发送数据帧。
一些特殊的命令可以启动和终止这种模式。
突发模式每传送一帧后,会有一段暂停允许主设备终止突发模式。
通常,突发模式在点对点通讯时才有效。
运用突发模式,每秒可以传送三条以上的信息帧。
(2)字符编码
HART 通讯时,是按字符接收和发送的。
HART 通讯帧就是由若干个字符组成,每个字符是一个8位的字节,字符编码如下图所示。
通过通用异步收发器(UART)在串行电缆上串行发送或接收。
每个字节都添加有一个起始位,一个奇偶校验位和停止位,因此实际上是11位。
这就使通用异步收发器(UART)可以分辨每个字符的起始,并且检查因电气噪声或其它干扰而引起的位错。
HART使用奇校验。
一个8位字节是按下列1和0的序列发送的。
HART 规定:在发送一个通讯帧时,每两个字符之间的发送间隔GAP 不能大于一个字符时间9.167ms。
一个字符时间即为以1200bps 发送一个字符所需的时间。
Start 8 data bit parity Stop
bit (least significant first) bit bit
(3)通讯帧格式
HART协议规定一条信息的帧结构如下图所示:
PREM: Preamble序文BCNT: Bycount 字节数
DELM: Delimiter起始字符STATUS: 变送器通讯状态
ADDR: Address地址(源地址和目的地址) DATA: 通讯数据
CMD: Command 命令号CHK: Checksum 校验和HART 通讯中的帧又可分为长帧和短帧格式。
较早的HART仪表(HART第
四版)使用短帧格式。
在该格式里输出4~20mA电流信号的非多点运行的从设备的地址为0,多点运行的设备的地址为1~15。
HART第五版介绍了长帧格式。
在该格式里,从设备的地址是由制造厂家代码、设备型号代码和设备标志组成的世界通用的38位二进制数字。
长帧格式可以减少外界干扰或串音干扰造成的对其它设备的误接收。
长帧格式也扩展了HART协议的地址容量,使通讯可以在大型网络上进行,例如通过公共无线电网与远程现场设备通讯。
新现场设备使用长帧格式,而老现场设备使用短帧格式。
主设备应当两种格式都能处理。
HART协议是半双工的。
在完成一次信息的传输以后,必须关闭FSK信号,使其它的设备能够通讯。
帧中的每一项将在以下各段详细介绍。
序文(Preamble)由两个或两个以上的“FF”组成。
它主要用于MODEM接收时的频率同步。
起始字符(Delimiter)一个字节,在HART 通讯中用来表示帧的类型,以及是长帧还是短帧,如下表所示。
接收起始字符必须在接收到两个或两个以上的“FF”以后才开始。
地址(Address)包括源地址和目的地址,短帧为一个字节,长帧为五个字节,如下图所示。
两种格式的地址的头两位都是一样的。
第一位为主设备地址。
HART 只允许有两种主设备,第一主设备(控制系统的主机等)和第二主设备(手操器等)。
相应地,第一主设备的地址为“1”,第二主设备的地址为“0”。
第二位为突发模式位,当从机处于突发模式时,该位为“1”。
保留位从设备地址
突发模式位(4位,轮询地址)
主设备地址
(A)短帧格式的地址
主设备地址
(B)长帧格式的地址
在短帧格式中,从设备的轮询地址为0~15,二进制表示为四位。
从设备在点对点模式中地址为0,而在多点模式中地址为1~15。
在长帧格式中,共38位(五个字节的后38位)表示从机的地址。
命令号(Command number)一个字节,范围为00~FFH(或十进制的0~255),代表HART的命令序号。
字节数(Bycount)一个字节,表示该字节和校验和字节之间的字节个数。
范围为:0~255。
通讯状态(Status)两个字节,通讯状态仅在从设备向主设备发送的应答帧中才有,用来表示从设备所接收的数据的状况。
第一个字节表示通讯是否出错,第二个字节表示从设备当前的工作状态。
通讯数据(Data)为命令帧或应答帧中的用户数据,一般不超过24个字节。
数据有以下几种形式:
整数——8,16或24位无符号整数。
浮点数——IEEE754格式的浮点数。
ASCII字符串——3字节压缩的ASCII码。
标准表的数据——由HART提供的标准表可查,8位整数代码。
校验和(Checksum)一个字节,存放从起始字节到所有通讯数据的顺序异或的结果,用来校验接收的数据(即长校验)。
(4)HART通讯的发送和接收状态机
HART 通讯中的接收和发送状态机如下面两幅示意图所示。
HART 链路层就是按照该接收和发送状态机来控制HART 通讯中的接收和发送。
接收和发送状态机通常是由中断实现的。
接收状态机如下图所示。
首先,状态机处于“等待开始接收”状态,判断是否接收到有效的preambles 和delimiter。
如果字符接收间隔超时,奇校验出错,或收到既不是preambles 也不是delimiter 的字符,则接收状态机设置相应的错误状态位。
如果收到了有效的preambles 和delimiter,则接收状态机设置收到信息帧的类型(发送帧,应答帧或突发帧);然后接收信息帧的其余部分,直到按信息帧的字节数(byte-count)收完为止。
当信息帧接收完以后,如果接收允许被禁止,则接收状态机进入终止状态。
图中:
A表示:当接收到preambles的第一个FF时,进入“等待开始接收”状态。
B表示:当接收到的preambles中FF的个数大于1,且接收到有效的delimiter时,则设置收到信息帧的类型,并进入“接收数据”状态。
C表示:在“接收数据”状态接收数据,如果有错,则置相应错误状态位,
并继续接收完。
D表示:按信息帧的字节数(byte-count)接收完毕后,进入“等待结束接收”状态。
E表示:在“等待开始接收”状态收到FF,则把preambles的个数加1,然后继续接收。
F表示:当字符间隔GAP超时,奇校验出错,或收到既不是preambles也不是delimiter的字符时,则置错误状态,并进入“等待结束接收”状态。
G表示:当接收允许被禁止时,进入“结束接收”的终止状态。
发送状态机如下图所示。
在“初始化发送”状态,启动握手信号,与链路上的另一端接收状态机建立通信联系。
一旦物理层允许发送,则进入“发送数据”状态发送数据。
每传送一个字节的数据,物理层上就收到一个确认。
当数据发送完毕时,或发送有错时,进入结束发送的终止状态。
图中:
A表示:请求发送,并进入“初始化发送”状态。
B表示:允许发送,并进入“发送数据”状态。
C表示:数据正常发送完毕,进入“结束发送”状态。
D表示:数据发送有错,进入“结束发送”状态。
4.HART 协议的命令层
HART命令层规定了HART通讯命令的内容,共分为三类。
通用命令,普通应用命令和特殊命令,分别介绍如下。
(1)通用命令
第一类命令为通用命令,对所有符合HART协议的现场设备都适用。
它们包括:
读出制造厂及产品型号;
读出主变量及单位;
读出电流的输出及百分比输出;
读出最多4个预先定义的动态变量名;
读出或写入8个字符的标牌号,16个字符的描述内容以及日期等;
读出或写入32个字符信息;
读出变送器的量程、单位以及阻尼时间常数;
读出传感器串联数目及其限制;
读出或写入最后组装数目;
写入轮询地址;
等等。
(2)普通应用命令
第二类命令为普通应用命令,适用于大部分符合HART协议的产品,但不同公司的HART产品可能会有少量区别,如写主变量单位,微调DA的零点和增益等。
主要包括:
读出最多4个动态变量的选择;
写入阻尼时间常数;
写入变送器量程;
标定(设置零点和量程);
完成自检;
完成主机复位;
微调主变量零点;
写入主变量单位;
微调DAC的零点和增益;
写入变送功能(开方/线性);
写入传感器串联数目;
读出或写入动态变量赋值;
等等。
以上两类命令的规定使符合HART 协议的产品具有一定的互换性。
通常说的HART 协议产品的兼容就是在这两类命令上的兼容。
(3)特殊命令
第三类命令为变送器特殊命令,仅适用于某种具体的现场设备。
这是各家公司的产品自己所特有的命令,不互相兼容,如特征化,微调传感头校正等。
主要命令包括:
读出或写入开方小流量截断值;
启动,停止或清除累积器;
选择主变量(质量流量或密度);
读出或写入组态信息资料;
微调传感器的标定;
等等。