一种数字HART调制解调芯片的设计

2021-09-22 07:44周鹏
电子技术与软件工程 2021年13期
关键词:杂散计数器寄存器

周鹏

(浙江省北大信息高等研究院 浙江省杭州市 311215)

1 引言

高速可寻址远程传感器数据通路(Highway Addressable Remote Transducer, 简称HART)协议是一种为工业控制现场智能化仪表与控制系统间的数据传输提供支持的协议,广泛应用于压力、温度、物位、流量、密度及分析智能仪表等领域,为采集现场设备的数据并对其进行控制提供便利。目前HART通讯主要通过专用的调制解调芯片和单片机的UART口来实现,HART调制解调芯片市场上常见如HT2012、A5191等,这些芯片可以完整地实现HART协议规定的物理层要求。为了简化系统方案和节约成本,本文主要设计了一款符合HART协议的全数字调制解调模块,并将其与一个UART共同集成在微控制器芯片中。

本文主要内容组织如下,第一节主要介绍HART的载波调制方式及整个调制解调器框图。第二节主要介绍时钟门控的方法来进行调制,并对其调制特性进行了分析。第三节主要介绍HART解调相关部分,重点介绍HART解调的滤波机制。第四节给出了仿真和测试的详细结果。第5节给出总结。仿真和测试的结果表明该数字HART调制解调方案基本性能达到设计预期。

2 HART载波调制方式

HART物理层[1]规定HART通讯是采用波特率是1200bps的相位连续频移键控技术,编码方式采用BELL-202编码,二进制码1用1200Hz的载波进行调制,二进制码0用2200Hz的载波调制,在二进制码跳转时需要保证相位连续。下式为HART调制波形的表达式:

其中:v0为振幅,θ0为初始相位,θt为相位随时间的变化,T为位时间(等于1/1200秒),Bn为UART过来的二进制数字信号,当二进制信号为0时,Bn取值为1,当二进制信号为1时,Bn取值为0,t的时间在nT到(n+1)T之间。

模拟FSK调制信号和数字FSK调制的信号波形图如图1所示。

图1

HART调制解调芯片的主要功能是将微控制器发送过来的二进制代码调制成1200bps的连续相位FSK信号,同时将接收到的FSK信号重新解调为二进制的代码。图2为数字调制解调器的框图。

图2

其中:时钟生成逻辑是根据系统时钟生成调制解调所需要的时钟。调制解调模块则是完成UART和HART物理层数据的相互转换。本文主要介绍调制和解调逻辑。

3 调制逻辑

在设计中通常采用直接数字频率合成器来实现CPFSK调制,虽然DDS具有频率分辨率高、频率转换速度快、相位变化连续、频率稳定度高等优点;但是DDS数字结构也具有相位溢出杂散、幅值截断杂散和相位截断杂散[2],同时DDS的转换速度也受到波形存储器的限制,只能工作在一定的频率范围内。

为了解决常用DDS的缺陷,本模块采用时钟门控的方法来对微控制器内部UART发送的信号进行调制。由于本模块被集成在微控制器的系统之中,因此可以通过系统时钟来生成发送时钟。通过一个6分频逻辑和一个11分频逻辑,获得6分频的使能信号Fen0和11分频的使能信号Fen1。 每一个使能信号都只有一个FCLK周期。当微控制系统内集成的UART需要发送数据时,根据发送数据TXD的值选择12位计数器的使能信号。0选择6分频的使能信号,而1选择11分频的使能信号。12位计数器确保FCLK在11分频以后可以输出1200Hz的信号。图3为数字发送模块的框图。

图3

根据设计原理,由于整个模块都采用同步时钟设计,不存在相位溢出杂散和幅度截断杂散。但是由于TXD信号接收的不确定性,有可能导致相位变化不连续。当TXD从0变化到1时或者从1变化到0时,12位计数器的计数使能信号可能立即有效,也可能需要等待6个时钟分频或者11个时钟分频以后才有效。这就导致相位误差的存在, 假设系统时钟工作在8MHz, 为了获得1200bps的波特率输出,需要将12位计数器配置为606,此时相位误差为:2/606*360=1.2 degree。

表1

4 解调器

目前常见的对于HART解调的方法都需要复杂的滤波电路,本文提出一种均值滤波的方法对解调时产生的中间频率信号进行滤波。图4是实现解调电路的原理框图。

图4

图4中,需要将微控制器的系统时钟通过12位分频电路,确保能够输出38.4KHz的时钟使能信号。8位计数器用于检测接收调制信号的高低电平,该计数器在检测到跳变沿时自动清零。为了解决系统资源,对计数器的计数结果进行了8位转5位的编码,由于8位计数器的计数结果对应着接收电平的宽度,编码的大小也从客观上表现接收电平的宽度。编码表格如表1所示。

对编码的结果进行锁存,并逐步移位到32个5位的寄存器组中。通常的实现方法可以将该32个寄存器作为抽头,通过选取恰当的抽头系数,然后进行乘加操作,根据乘加的结果判断解调信号何时跳变。这种方法需要大量的乘加操作,比较耗费资源。本文提出一种平均值滤波的算法,由于每次移位操作时只有两个数字会变化,最后一个寄存器组的值被移出,新的编码结果被移入,其他的数值只是移位,如果按照抽头系数完全相同,那么当前所有寄存器组的求值和与前一次寄存器组的求值和之差就是当前锁存进入的编码值与最后一个移位寄存器之差。通过累加这个结果同时与固定的判定值进行比较,可以获得较为理想的解调信号。

经过大量仿真,该方案在通过解调后的抖动时间(1/1200s)的12%。

5 测试

采用ALTERA公司的CYCLONE III EP3C120 FPGA芯片验证待测系统,通过泰克TDS2014示波器检测HART发送的信号和HART解调后的串口数据。实验结果表明UART输出的数据经过HART的调制解调以后能够被正常接收。通过不同接收数据的分析,HART解调后的信号抖动时间可以满足在(1/1200s)的以内,基本达到市面上现有芯片的标准[3]。

6 总结

本文通过采用时钟使能的方法实现了HART协议的数字调制,有效改善了采用传统DDS技术引起的杂散性能,同时采用均值滤波的算法对接收到的调制信号进行解调,减小了传统方法所需要耗费的大量乘加操作资源。实验测试结果表明,这种方法实现的HART数字调制解调芯片具有良好的性能,可以结合外部滤波及整形电路,应用到复杂的工业控制环境中去。

猜你喜欢
杂散计数器寄存器
采用虚拟计数器的电子式膜式燃气表
辐射杂散骚扰测量不确定度的评定
Lite寄存器模型的设计与实现
基于FreeRTOS操作系统的地铁杂散电流监测系统
分簇结构向量寄存器分配策略研究*
计数器竞争冒险及其处理的仿真分析
城市轨道交通线路杂散电流监测系统研究
任意N进制计数器的设计方法
基于单片机的仰卧起坐计数器
高速数模转换器AD9779/AD9788的应用