基于A5191HRT和AD421的HART协议通信模块的设计与实现
扫描二维码
随时随地手机看文章
引言
HART(Highway Addressable Remote Transducer,可寻址远程传感器高速通道)通信协议由美国Rose-mount公司于20世纪80年代中期推出,之后又进行了修订和增补,作为开放标准由HART通信基金会HCF向全世界发布,主要用于现场智能仪表和控制室系统间进行数字通信。由于兼容传统的4~20mA模拟系统的HART通信协议具有诸多优点,发展至今,它已被世界上三分之二以上的现场设备所采用,成为智能工业控制领域事实上的国际标准。
在研制某智能现场仪表的过程中,使用单片HART调制解调器A5191HRT和数模转换器AD421设计实现了其中的HART协议远程通信模块,具有高精度、低功耗、低成本、工作可靠性高的优点。
HART协议简介
HART协议是一种兼容现行4~20mA模拟系统的过渡性现场总线标准,协议具备以下特点:在4~20mA模拟信号上叠加数字信号进行双向数字通信,兼容现行模拟体制;可同时进行点对点的4~20mA模拟和数字通信;可以使用多站方式进行通信;可传送被测变量、设备设置参数、设备检测结果等多种信息;开放的体系结构,任何厂商和用户都能够免费得到;数字响应时间为500ms,突发方式为300ms。HART协议参考ISO/OSI,采用它的简化三层模型结构,包括第一层物理层,第二层数据链路层和第七层应用层。
物理层规定信号的传输方法、传输介质。HART协议为实现模拟通信和数字通信同时进行而互不干扰,采用基于Bell202标准的FSK频移键控信号,在低频的4~20mA模拟信号上叠加音频数字信号进行双向数字通信。音频数字信号的幅度为0.5mA,数据传输率为1200bps,1200Hz代表逻辑“1”,2200Hz代表逻辑“0”,如图1所示。
由于FSK信号的平均值为0,所以不影响传送给控制系统的模拟信号的大小,保证了与现有模拟系统的兼容性。图2所示为HART协议的数字和模拟信号叠加后同时传输的示意图。通信介质的选择视传输距离长短而定,采用双绞电缆传输时最大传输距离可达1500m,线路总阻抗应在230~1100Ω之间。
数据链路层规定HART协议帧的格式,实现建立、维护、终结链路通信的功能。HART协议根据冗余检错码信息,采用自动重复请求发送机制,消除由于线路噪声或其他干扰引起的数据误码,实现数据无差错传送。HART协议信息帧的格式如表1所示。
现场仪表要执行HART指令,操作数必须合乎指定的大小。每个独立的字符包括:1个起始位、8个数据位、1个奇偶校验位和1个停止位。由于数据的有无和长短不恒定,所以HART数据的长度也不一样,最长的HART数据包含25字节。
应用层即为HART命令集,用于实现HART指令。命令分为三类,即通用命令、普通命令和专用命令。
HART协议通信中,主要的变量或控制信息一般由4~20mA传送,另外的诸多的测量数据、设备参数、校准信息、诊断信息等通过HART协议传输,采用半双工通信方式。
HART协议通信模块的硬件设计
某智能现场仪表要求使用4~20mA传统传送最主要的一个测量结果,使用HART协议数字通信的方式和控制设备交换仪表设置参数、中间测量数据、校准参数等信息。所以HART协议通信模块需要完成测量结果的数字码到4~20mA模拟信号的DA转换,以及上述诸多其他信息的HART协议数字通信。设计完成的HART通信模块结构框图如图3所示。
HART协议通信模块主要由HART调制解调器A5191HRT和D/A转换器AD421及其外围电路实现。其中,AD421通过串行接口接收现场仪表内部MCU传送的数字信号,转换成4~20mA电流输出,输出主要的测量结果。A5191HRT则接收叠加在4~20mA环路上的信号,对其带通滤波和放大之后进行载波检测,如果检测到FSK频移键控信号,则将1200Hz的信号解调为“1”,2200Hz信号解调为“0”,并通过串口通信传输给MCU,MCU接收命令帧并作相应的数据处理。之后,MCU产生要发回的应答帧,应答帧的数字信号由A5191HRT调制成相应的1200Hz和2200Hz的FSK频移键控信号,并经过发送信号整形电路进行波形整形后,经AD421叠加在环路上发送。
A5191HRT是AMI Semiconductor公司推出的单片HART调制解调器,采用相位连续的FSK半双工工作方式,数据率为1200bps。A5191HRT内部集成了符合Bell202标准的调制器、解调器、接收滤波器、发送信号整形电路、载波检测等电路,在+3.3V供电时工作电流330μA。由于A5191HRT的这些特点,使设计者使用较少的外部无源元件就能够构建满足HART协议物理层要求的电路。本设计中当A5191HRT接收时,从4~20mA环路上接收信号,经过带通滤波、放大整形后提取出FSK信号并解调为数字信号,传送给MCU;发送时,从MCU接收数据,进行调制和波形整形后耦合到AD421内部,通过AD421叠加到环路上。A5191HRT和MCU通过后者的通用串行通信接口连接。
AD421是ADI公司推出的单片高性能数模转换器,主要由电压调整器、数模转换器和电流放大器组成。电压调整器由运放、带隙基准和外接FET调整管组成,能够从环路中获取电流,为AD421和其他器件提供3.0V、3.3V、或5.0V可选择的供电电压。数模转换器采用∑-ΔDAC结构,将16位数字码转换为4~20mA模拟电流。数字码是通过和MCU的三线接口CLOCK、DATA和LATCH从MCU串行输入。A5191HRT及其外围电路设计的原理图见图4所示。
其中,与MCU的通用串行收发模块UART的接口信号包括载波检测OCD、HART解调输出ORXD、来自UART的HART调制输入ITXD和请求发送INRTS;Loop+为4~20mA环路输入,经过外部电阻电容和A5191HRT内部电路完成接收信号的带通滤波和放大,用于解调;调制好的数据经过内部整形电路处理后由管脚OTXA输出,通过电容耦合到AD421内部,然后叠加到环路上传输;HART调制解调的时钟信号源于外接的460.8kHz晶体产生的振荡。AD421及其外围电路设计的原理图见图5所示。
其中Loop+和Loop-分别是电流环路的两个端口;从MCU输入DAC的数字码是通过三线接口实现的,分别是时钟线CLOCK、数据线DATA和锁存线LATCH。
HART协议通信模块的软件设计
HART协议通信模块的软件设计包括AD421的控制和HART通信协议的软件程序设计。前者较为简单,后者包括HART协议数据链路层和应用层的软件设计,是整个模块软件设计的主体和关键。
HART协议通信模块的通信过程首先由主机(上位机)发送命令帧发起,现场仪表作为从设备使用中断调用子程序的方法完成接收和应答。现场仪表在上电或看门狗复位后,主程序首先对HART协议通信模块进行初始化,例如设定UART的工作方式、串行通信波特率、数据帧格式、清通信缓冲区、开中断等,之后将其设置为等待状态。上位机发送命令时,A5191HRT的载波检测输出OCD变为低电平,触发UART中断,程序进入接收过程。MCU完成主机命令的接收、解释并执行相应的操作后,按一定格式生成应答帧并送入发送缓冲区,完成发送后再次将HART协议通信模块设置为等待状态。图6为HART协议通信模块接收主机帧、回复应答帧的程序流程图。
HART协议通信模块通过上图所示的中断调用子程序的方法,完成现场仪表和主机之间的通信,可以使主机完成对现场仪表的工作参数设置、测量结果读取、仪表检测等工作。
结论
实践证明,上述的HART协议通信模块的实现方法切实可行,具有电路设计简单、工作可靠性高的优点,具有很好的参考价值和实用性。HART技术在国外已经很成熟,并以其自身突出的优点而成为智能控制领域中应用最广泛的现场通信协议,在今后的很长一段时期内,HART技术将在我国现场仪表的智能化改造和研制中发挥重要的作用。