lizhiyong 2010-06-24
对于HART协议的基本概念我们可以参考前面的两篇文章《HART协议新手须知》和《HART协议的应用层次分析》。那么接下来的内容,我们将对HART协议的具体应用做一个详细的介绍。
现场仪表HART协议远程通信硬件设计
某现场仪表的HART协议部分主要完成数字信号到模拟电流信号的转换,并实现对主要变量和测量、过程参数、设备组态、校准及诊断信息的访问。HART通信部分主要由D/A转换和Bell202 MODEM及其附属电路来实现。其中,D/A变换作用是直接将数字信号转换成4mA~20mA电流输出,以输出主要的变量。Bell202 MODEM及其附属电路的作用是对叠加在4mA~20mA环路上的信号进行带通滤波放大后,HART通信单元如果检测到FSK频移键控信号,则由Bell202 MODEM将1200Hz的信号解调为“1”,2200Hz信号解调为“0”的数字信号,通过串口通信交MCU,MCU接收命令帧,作相应的数据处理。然后,MCU产生要发回的应答帧,应答帧的数字信号由MODEM调制成相应的1200Hz和2200Hz的FSK频移键控信号,波形整形后,经AD421叠加在环路上发出。
D/A变换器采用AD421,它是美国ADI公司推出的一种单片高性能数模转换器,由环路供电,16位数字信号以串行方式输入,可以将数字信号直接转换成4mA~20mA电流输出。它提供了高精度、全集成、低功耗的解决方案,采用16引脚DIP、TSSOP、SOIC封装,可实现低成本的远程智能工业控制。AD421包括串行输入16位 D/A(数字/电流 )转换,除自身用电外,还提供可选择的(5V,3.3 V或 3 V)稳压输出供变送器其他部分用电。
HART MODEM采用 Smar公司的 HT2012,是符合Bell202标准的半双工调制解调器,实现HART协议规定的数字通信的编码或译码。该芯片专为 HART仪器设计,片内集成了符合 BELL202标准的调制器、解调器、时钟及定时电路、检测控制电路。性价比较高,16脚 DIP和28脚PLCC封装,在+5V供电时工作电流80μA。HT2012与微控制器交换数字信号,同AD421作模拟信号接口。它一方面与MCU的异步串行通信口进行串行通信,一方面将输入的不归零的数字信号调制成FSK信号,再经AD421叠加在4mA~20mA的回路上输出,或者将回路信号经带通滤波、放大整形后取出FSK信号解调为数字信号,从而实现HART通信。
对于HART MODEM所需要的输入时钟,采用7.3728MHz的晶振通过两个计数器74LS161进行两次4分频,得到16分频的时钟。
由于HART数字通信的要求,有0.5mA的正弦波电流信号叠加在4mA电流上,因此整个硬件电路必须保证在3.5mA以下还能正常工作,因此实现系统的低功耗设计非常重要。
通信的软件设计
HART通信程序也即为HART协议数据链路层和应用层的软件实现,是整个现场仪表软件设计的关键。
在HART通信过程中,主机(上位机)发送命令帧,现场仪表通过串行口中断接收到命令帧后,由MCU作相应的数据处理,产生应答帧,由MCU触发发送中断,发出应答帧,从而完成一次命令交换。
首先在上电或者看门狗复位后,主程序要对通信部分进行初始化,主要包括波特率设定、串口工作方式设定、清通信缓冲区、开中断等。
在初始化完成之后通讯部分就一直处在准备接收状态下,一旦上位机有命令发来,HT2012的载波检测口OCD变为低电平,触发中断,启动接收,程序就进入接收部分。然后完成主机命令的解释并根据命令去执行相应的操作,最后按一定的格式生成应答帧并送入通信缓冲区,启动发送,完成后关闭SCI。
在发送应答帧之后,再次进入等待状态,等待下一条主机命令。
总结