历史上的今天
返回首页

历史上的今天

今天是:2025年03月09日(星期日)

正在发生

2021年03月09日 | MSP430的HART从机控制器的设计

2021-03-09 来源:21ic

引言


现代工业生产活动的正常进行离不开现场设备和与之配套的控制主机,为了充分发挥现场设备的性能,控制主机和现场设备之间必须要有一套高效可靠的通信协议。传统工业控制领域多使用4~20 mA模拟信号来完成现场设备与控制主机之间的通信,但是模拟信号传输数据具有传输方向单一、传输数据量少等诸多不足。为了解决这些问题,在20世纪80年代中期,美国Rosemount公司提出了高速可寻址远程传感器协议(Highway Addressable Remote Transducer,HART)用来增强现场设备与控制主机之间的通信能力。


HART协议是一种用于现场智能设备与控制主机或监测系统之间的通过模拟线路传输数字信号的通信协议,在20世纪90年代初移交给HART基金会HCF,由其负责修订更新并向外界发布。


与其他总线技术相比,由于HART协议无需额外的通信线路就能够通过传统的4~20 mA模拟通信线路提供数字信号,使得设备厂商花费很小的代价就能对传统设备升级改造,为用户提供更多的功能,因此HART协议在当前的工业控制领域中得到了广泛的应用,发展至今已经成为全球智能仪表通用的工业标准。本文提出了一种基于TI公司的低功耗的MSP430处理器的HART从机控制器。


1 HART协议简介


HART协议是一种双路、半双工、对传统4~20 mA模拟通信网络进行增强的向后兼容型通信协议,为仪表、控制和自动化系统制定了一个双向现场通信协议标准。HART协议利用贝尔202频移键控(FSK)技术,将低电平的数字通信信号叠加到传统的4~20 mA模拟信号上,来实现双向现场通信,数字通信与现存的模拟通信体制完全兼容,并支持点对点或多点模式的网络配置,为用户提供了一种易于使用和配置的低成本、高可靠性的现场通信解决方案。


HART协议目前参照并实现了OSI(开放系统互连)模型的1~4层和第7层。在本设计的实现中只需考虑简化的3层模型,即第1层物理层、第2层数据链路层和第7层应用层。


HART协议物理层规定了HART信号的传输方法、信号电平、设备阻抗和传输介质等一系列指标。HART协议采用频移键控(FSK)技术,在低频的4~20 mA模拟信号上叠加幅度为0.5 mA的不同频率的正弦电流调制波信号来实现数字通信,信号传输速率为1200 bps,频率为1200Hz代表“1”,频率为2200Hz代表“0”。如图1所示。



由于数字FSK信号是相位连续的,正弦信号平均值为0,所以HART协议的数字通信不会对4~20 mA模拟信号造成干扰,在实现数字通信的同时,保证了对传统模拟信号的兼容。因此HART协议在通信过程中可以提供两个通信信道:4~20 mA模拟信号和数字信号,如图2所示。



4~20 mA模拟信号可以利用4~20 mA电流回路快速地传输现场设备的主要测量值。此外,HART协议可以通过叠加在模拟线路上的数字信号来传输其他更为详细的设备信息,如设备状态、诊断信息、附加计算值等。两个通信信道的结合大大提高了现场设备与主机之间的通信能力。


HART数据链路层定义了一项主从协议,正常使用时,现场设备只有接到主机的信号时才产生应答。最多可以有两个主机,通常是控制系统为第一主机,手持控制器为第二主机,两个主机通信互不干扰。同时,数据链路层规定了HART协议的通信数据结构,对HART协议在进行通信时的数据帧格式进行了详细的定义,并采用纵向奇偶检验,根据检错码结果采取自动重复请求发送机制,能够有效地消除线路上的偶然噪声干扰,为数据传输提供了一个可靠的通信路径。HART协议通信数据帧的格式如图3所示。



HART协议数据帧格式中每个字符包含一个8位的编码数据以及一个起始位、一个奇偶校验位和一个停止位,通常使用串口来完成字符的传输。现场仪表作为从机接收HART指令并产生响应时,要严格遵照HART协议的数据帧格式。由于HART协议数据帧的前导符长度不同、数据帧中包含数据长度不确定,因此 HART数据帧的总长度也是不固定的,最长为25字节。


HART协议应用层定义了协议所支持的命令、响应、数据状态和状态报告。在应用层,HART协议为用户提供了HART命令集,命令集中的命令分为3大类,即通用命令、常用命令和设备特定命令。通用命令是所有支持HART协议的设备均支持的命令,最常见的如读取产品生产厂商及型号等信息。常用命令对于大部分设备适用,这些命令提供的功能并不是所有设备都支持,如写变量阻尼值、标定等。设备特定命令只针对某种具体设备的特殊性设立,由仪器制造商指定。


2 HART控制器硬件设计


HART协议是通过在传统的4~20 mA电流环路上叠加±0.5 mA的电流波信号来进行数字通信,对于搭载了HART模块的现场设备来说,只有整个设备的自身功耗控制在3.5 mA以下,才能够保证模拟信号和数字信号均能正常进行通信,因此在设计系统时低功耗是首先要考虑的问题。MSP430系列单片机是TI公司的16位超低功耗单片机,为降低功耗专门为芯片设计了灵活的时钟系统、多种低功耗模式、即时唤醒功能;同时,该系列单片机具有16位RISC结构,运算能力较强,并拥有丰富的片内外设,已经在工业控制领域得到了广泛的应用。因此,在本设计中采用MSP430单片机系列中的MSP430F149作为HART从机控制器的主控芯片。


4~20 mA的模拟信号通过使用ADI公司的AD421搭建外围电路来实现,AD421是一款完整的环路供电型4~20 mA数字转换器,这款DAC采用∑-△结构,可保证16位分辨率和单调性,积分非线性只有±0.01%。同时,AD421完全兼容标准HART电路或者其他类似的FSK协议,与HART协议FSK通信电路结合使用时不会使额定性能受到影响,是一款非常适合用来实现HART协议的DAC。AD421及其外围电路设计原理图如图4所示。



AD421通过锁存线LATCH、时钟线CLOCK、数据线DATA与MSP430的I/O口连接,MCU通过三线接口向AD421传输数据来调整输出的 4~20 mA模拟信号值,AD421的C3引脚接收HART模块耦合过来的FSK信号,再将信号叠加到电流输出环路中完成数字信号传输,LOOP+和LOOP-分别为4~20 mA电流回路的两个端口。


DS8500是一款由Maxim公司推出的单芯片HART兼容调制解调器IC,满足HART协议物理层规范要求。该器件内部集成了1200 Hz/2 200 Hz FSK信号调制、解调功能和数字信号处理功能,仅需很少的外部器件就能完成HART通信电路的搭建,大大降低了电路设计难度。工作时,HART输入信号首先通过ADC采样,然后进行数字滤波、解调,保证在干扰环境下信号测量的可靠性。输出DAC产生正弦波,并提供一路可以在1200 Hz和2200 Hz之间连续切换的低噪信号。接收时通过禁用发送电路实现低功耗,发送时同理,是一款理想的低功耗HART调制解调器。DS8500及其外围电路设计原理图如图5所示。



DS8500的数字输入脚D_IN、数字输出脚D_OUT与MSP430的串口连接。载波检测引脚OCD,发送请求引脚RTS与MCU的I/O口相连。接收数据时,MCU拉高RTS引脚,使能DS8500的解调模块,环路上的HART信号经过外围电路的滤波后从DS8500的FSK_IN引脚输入,接收到有效HART信号后,DS8500的载波检测引脚OCD输出高电平,并将解码后的数据通过D_OUT引脚串行输出,MSP430通过串口中断接收数据并进行处理。发送数据时,MSP430拉低RTS引脚电平,使能DS8500的调制模块,MSP430将要发送的数据通过串口从D_IN引脚发送给 DS8500,调制后的HART信号由FSK_OUT引脚输出,并通过一个电容耦合到AD421的C1引脚,最终叠加到4~20 mA环路路中完成通信。


3 HART控制器软件程序设计


HART从机控制器软件程序设计主要包括3大部分:AD421驱动程序实现、HART协议通信帧的正确接收与分析、HART应用层命令的应答实现。其中,AD421驱动程序比较简单,官方网站已经提供相应驱动包。而HART命令的应答实现依赖于对数据帧的正确分析,因此整个控制器软件程序的核心部分就是如何确保正确接收到完整的HART数据帧,并从数据帧中提取出有效的信息加以分析,生成相应的应答数据帧。


HART设备在进行通信时,首先由主机(上位机或手操器)向从机发送命令,从机(现场设备)接收到主机的命令后执行相应动作并返回应答数据。由于HART 协议通信数据帧长度不定,最长为25字节,只拥有固定的前导符而没有固定的结束标识符,因此在本控制器的程序设计中使用MSP430的定时器来判断主机不足25字节的一帧数据是否发送完毕,由于HART协议通信速率为1200 bps,传输每位数据的时间约为833μs,因此可以定义一个大于833μs的延时时间T,当从机最后一次接收到数据后,经过T时间没有接收到新数据就可以认为已经接收完一帧完整的数据。


系统上电稳定,经过一系列初始化操作后,MSP430控制DS8500打开解调模块,处于接收等待状态。当上位机有数据发送过来时,DS8500将解调后的数据通过串口发送给MSP 430,若接收到的第一个字符为0xFF(前导符开头字节)则启动定时器,定时5ms(根据需要调整),并将接收字符送入接收缓冲区,此后每接收到一个字符立刻将该字符存入接收缓冲区,并重置定时器计数器,直到定时器溢出(5 ms没有接到新数据)或者25字节的接收缓冲区已被填满。此时,认为主机已经发送完一帧完整的数据,接下来调用HART数据处理函数,判断接收者地址为本机后,对接收缓冲区内的数据进行校验,校验通过后提取出主机发送的命令和数据,根据命令执行相应操作并生成应答数据存入发送缓冲区中。MSP 430打开DS8500的调制模块,将应答数据从串口传送给DS8500,经过调制后通过4~20 mA环路发送给主机,然后关闭DS8500的调制器,打开解调器,继续等待下一次命令的到来。控制程序核心部分流程图如图6所示。



HART协议应用层命令的实现依赖于具体的设备,不同的设备需要实现的命令不尽相同,本控制器软件程序使用了一个switch结构来判断从接收数据帧中提取出来的主机命令。因此,当本控制器应用于不同的设备时,应用层部分只需根据设备需求添加case判断语句和动作执行代码,就可完成对新的命令的支持,具有很好的可复用性。


结语


与其他总线技术相比,HART协议并不能算是严格意义上的现场总线(模拟信号与数字信号混合),这使得难以为其开发统一的通信接口芯片,同时HART协议作为模拟系统向数字系统进行转变的过渡协议,在智能化、通信速率等方面又与真正的现场总线存在一定的差距,但这些方面的不足并不影响HART协议在世界范围得到广泛的应用。


由于HART协议实现简单、成本低廉、工作可靠,在未来的很长一段时间内,HART协议仍将作为事实上的工业标准活跃在工业领域,这也是本文提出该HART从机控制器设计的原因所在。


HART从机控制器在硬件上使用了很少的元件就完成了HART通信所必需的物理层搭建,具有电路结构简单、成本低廉、稳定性好等优点。与现有设备结合时,可以利用MSP430单片机来实现设备原有功能,HART通信模块实现HART协议通信,或者根据设备具体情况直接将HART模块加载于原设备之上,软件程序只需针对设备所使用的单片机型号更改相应的初始化代码,并根据实际需要实现HART应用层的命令应答。目前,该设计已经应用在实际产品上,成功地将一款原本只支持4~20mA模拟通信的两线制超声波液位计升级改造,使其支持HART协议通信,并且经过一段时间的测试观察,通信稳定,完全满足了低成本限制下对传统现场设备升级改造的需求,具有一定的参考价值。


推荐阅读

史海拾趣

ACCRETECH公司的发展小趣事

ACCRETECH是一家日本的半导体设备制造公司,以下是该公司发展的五个相关故事:

  1. 公司成立和早期发展: ACCRETECH(前身为TOKYO SEIMITSU)成立于1949年,总部位于日本东京。最初,公司主要从事机械零件的生产,随着时代的发展,逐渐转型为半导体设备制造商。起初,ACCRETECH主要生产晶圆表面检测设备和测量设备。

  2. 技术创新和产品拓展: 随着半导体行业的快速发展,ACCRETECH不断进行技术创新,并逐步拓展产品线。公司推出了包括晶圆尺寸测量仪、晶圆表面检测仪、晶圆平整度检测仪等在内的多种半导体生产设备,满足了客户对高精度、高效率设备的需求。

  3. 市场扩张和国际合作: ACCRETECH积极拓展国内外市场,并与全球各地的客户建立了合作关系。公司的产品被广泛应用于半导体制造、集成电路测试、电子元件生产等领域,赢得了客户的信赖。ACCRETECH还与国际知名半导体企业展开合作,共同推动技术进步和产业发展。

  4. 持续投入研发和创新: ACCRETECH不断加大研发投入,致力于技术创新和产品升级。公司设立了专门的研究机构和实验室,拥有一支技术精湛的团队,致力于开发新产品和解决方案,满足客户不断提高的需求。

  5. 未来发展展望: ACCRETECH将继续致力于半导体设备制造领域的研发和应用,不断推出更先进、更可靠的产品和解决方案,满足客户在半导体生产过程中的需求。公司将加强国际市场拓展,提升自身在全球市场的竞争力,为行业的发展做出更大的贡献。

Dino-Lite公司的发展小趣事

Dino-Lite公司自创立之初,就专注于数字显微镜技术的研发与创新。公司研发团队不断探索新技术,将传统显微镜与现代数字技术相结合,成功推出了一系列高性能、易用性强的Dino-Lite数字显微镜产品。这些产品以其高清画质、便捷操作和广泛适用性,迅速赢得了市场的认可。

随着技术的不断进步,Dino-Lite公司不断推出新产品,满足了不同行业对数字显微镜的需求。例如,公司针对医疗领域推出了高分辨率、低光环境下的专业显微镜,为医疗诊断和治疗提供了有力支持;同时,针对教育行业推出了性价比高的入门级产品,让更多的学生和老师能够接触和使用到先进的显微镜技术。

Goldentech Discrete Semiconductor Inc公司的发展小趣事

进入21世纪后,随着全球电子市场的竞争加剧,Goldentech意识到单靠技术创新已不足以维持其市场地位。因此,公司开始积极寻求与行业领先企业的战略合作。通过与一家知名芯片设计公司的深度合作,Goldentech成功将其高性能离散半导体器件集成到对方的芯片设计中,从而实现了产品的广泛应用。这一合作不仅扩大了Goldentech的市场份额,还提升了其品牌知名度和行业影响力。

Bestar Electric公司的发展小趣事

在电子行业的早期,Bestar Electric公司应运而生。作为一家初创企业,公司凭借对技术的深刻理解和市场需求的敏锐洞察,专注于电子元器件的研发与生产。通过不断的技术创新和产品优化,Bestar Electric逐渐在行业内建立起良好的声誉,并获得了初步的市场份额。

倍思特(BEST)公司的发展小趣事

随着技术实力的提升和产品线的丰富,Bestar Electric开始积极拓展市场。公司通过参加国际电子展、建立销售团队和合作伙伴网络等方式,将产品推向全球市场。同时,公司注重品牌建设,通过广告宣传和客户服务提升品牌知名度和美誉度。

Andersen Laboratories Inc公司的发展小趣事

自1997年成立以来,AnalogicTech便致力于技术创新,不断推动电子行业的发展。公司总部位于硅谷,设计中心则分布在圣塔克拉拉和上海,汇聚了全球顶尖的研发人才。凭借深厚的技术底蕴和创新能力,AnalogicTech成功研发出一系列具有颠覆性的产品,为当今最具创造性的消费品提供了强大的技术支持。

问答坊 | AI 解惑

老板一定要买正版EDA软件,有没有价廉物美的?

一直用altium designer,之前也用过ORCAD一段时间,仿真一般用PROTEUS。现在老板要买正版的,联系了ALTIUM报价太贵,有没有别的推荐?…

查看全部问答>

用VHDL实现正弦波

用定制ROM的方法完成正弦波设计···…

查看全部问答>

Linux LCD驱动:LCD右屏颜色不对,左屏颜色正常(android)。

在做基于omap3430的android开发是,lcd驱动遇到如下问题:LCD可以正常显示,但是右边屏幕有些地方颜色泛蓝,请问调过LCD的专家帮忙。…

查看全部问答>

《EVC高级编程及其应用开发》中第八章就一个例子,利用ADO访问ACCESS的一个问题

  为什么程序的CreataConnection()时就该语句hr= CLSIDFromProgID( g_szADOCE31ConnProgID, &tClsid );就无法正确执行。 在程序中只量把ADOCE30.h换成了ADOCE31.h。另外程序中所有的ADOCE30也全换成了ADOCE31。 急!!参与有分啊~~~~ ...…

查看全部问答>

USB FOR KITL 到底要如何使用

http://blog.eeworld.net/gooogleman/archive/2009/04/03/4001784.aspx 按照上面KITL的教程指示,结果在DNW 上显示  USB serial wait for connecting . 此时点机 PB上的 attach device 则出现下列错误: (CoreCon)  16:19:5 ...…

查看全部问答>

mobile c++ 手机关机处理事件

mobile c++  手机关机处理事件 我想在手机关机时响应到一个事件,然后在这个事件中做一些其他处理.但现在无法得到手机关机事件. 比如:1:启动软件, 2;长按power键,3:响应到软件中的代码 4:在该代码中做其他处理. 问题:如何实现第三步?当 ...…

查看全部问答>

串口不能烧程序

前段时间在淘宝买了块STM32的板子,我收到发现串口不能烧程序,寄回卖家说用JTAG,把什么“保护”给弄了下,当时我也没具体问卖家怎么回事。这是不是说明STM32是已经用过的芯片,要不然新的片子怎么会串口都不能烧写呢? 不知道是不是?…

查看全部问答>

请教:430单片机的速度?

我使用8M晶振,读取串行flash -AT45DB081,但是速度还是达不到我的要求(用c语言写的),想超频,不知道430能超到多少,稳定吗? 各位dx有没有什么解决速度的经验。…

查看全部问答>

关于DSP上电引导的提问

最近看了两个TI的文档呢。DSP281x_HeaderFiles_QuickStart_Readme和spru095a_TMS320F28x Boot ROM Reference Guide (Rev. A)这两个文档。了解了一下 DSP有了复位信号后,会跳到0x3FFFC0这个地址上去,假设现在是BOOT-ROM映射到0x3FF000这个地址上面 ...…

查看全部问答>