张立国 ,李福昆 ,严 伟 ,刘 强 ,王雪迪
(1.燕山大学 电气工程学院,河北 秦皇岛 066000;2.北京大学 软件与微电子学院,北京 100871)
芯片产业是制造业的上游,被称为“工业粮食”,是制造业必不可少的核心技术[1]。我国目前正大力进行制造转型,促进高端制造业的发展,在这个过程中芯片产业成为极其重要的环节。随着物联网互联网的发展,通信技术也迎来了科技变革,通信技术以移动接入、实时通信、宽带传输、泛在计算、传感互联等技术表现形式成为大力发展的一个技术领域[2]。
在现代化工厂中,HART(Highway Addressable Remote Transducer,可寻址远程传感器高速通道的开放通信协议)转置提供具有相对低的带宽,适度响应时间的通信[3],经过10 多年的发展,HART 技术在国内外已经十分成熟,并已成为全球智能仪表的工业标准[3]。但在工业以太网与工业物联网的大背景下,传统的HART 仪器仪表与HART 传统芯片面临着变革与挑战,目前HART 协议芯片存在设计种类单一、结构简单、所支持的设备和CPU控制设备类型有所局限、传输速率低下等情况,主要面临着以下挑战:
(1)传统HART 芯片单一对应HART 仪器仪表与单一CPU 控制端,在大型厂间内布线数量大,成本高[4-5]。
(2)传统的HART 芯片无时间同步机制,数据延迟不可控。
(3)传统HART 芯片一个CPU 对应一个HART 芯片,只对所控制的设备进行数据读写单一过程,智能仪表运行时与控制系统的互动有待提高,智能仪表间缺乏互操作[6-7]。
针对上述问题,本文提供一种新型的可互联HART通信协议芯片的架构。
本文所设计的AXI4 总线模块是与CPU(Central Processing Unit)进行数据交互总线接口,该模块由两部分构成,分别为AXI4-Lite 总线接口和AXI4-Full 总线接口。其中AXI4-Lite 总线接口用于连接CPU 和芯片内的寄存器堆栈,传输CPU 发出的START 转态字节、ADDR 设备地址字节与COM 命令字节以及波特率等控制信息较短的字节,是HART 芯片与CPU 短字节信息交互接口。在HART 协议规定中,START 转态字节占用一个字节宽度,决定着HART 芯片使用的结构是“长”结构模式、“短”结构模式还是“突发模式”。ADDR 地址字节,则包含了主机地址和从机地址,可通过CPU 写入不同的设备地址,调取所需的设备信息。COM 命令字节,该字节的范围为253,用十六进制0~FD 表示,31、127、254、255为预留值,用来表示主机需要从机执行的动作3。其中AXI4-Full 总线接口模块实现与CPU 相连,用于CPU 读写片内RAM 存储器,实现数据帧结构的信息交互,其中AXI4-Full 总线接口用于连接CPU 和RAM 存储器,RAM存储器存储HART 芯片与CPU 交互的长字节DATA 数据。AXI4 总线所特有的握手机制,使CPU 与HART 芯片在数据交互上更加稳定可靠,大大降低数据传输的错误概率,通过CPU 分配AXI4 多个ID,可以实现一个CPU挂多个HART 芯片,并对不同HART 芯片所连接的设备节点进行独立的数据交互或者设备命令控制。AXI 总线与CPU 数据交互流程如图1 所示。
图1 AXI4 总线与CPU 数据交互传输流程
本文增设的RAM 存储器模块为双端口RAM,有两个端口读写,大大增加了对CPU 和从机设备数据存储效率。根据寄存器堆栈的BCNT 位计数器,确定CPU 数据字节位宽,分配出RAM 存储器地址范围,按照RAM地址递增缓存CPU 写入的数据字节。RAM 存储器的设计不仅解决了数据存储问题,而且RAM 数据存储模块也解决了CPU 与HART 芯片通信时钟和HART 芯片与HART 设备节点通信时钟不匹配问题,HART 芯片内部模块时钟在500 kHz 左右,HART 芯片传输速率在1.2 kb/s[4],而传统的HART 芯片不带有缓存模块,CPU 读写HART芯片数据也需要同样的时钟速度,而加入RAM 数据存储模块之后,CPU 与HART 芯片时钟模块可以根据需求设定,使更高效率读取HART 芯片数据。
传统HART 通信芯片与本文所设计的HART 通信芯片传输速率对比如图2 所示。
图2 HART 芯片传输速度对比图
图2 所示上方为传统HART 通信芯片传输速率图,由于没有RAM 缓存模块,CPU 必须与HART 通信芯片同步时钟,这样才可以正常通信,通信速度为HART 通信协议所规定的1 200 b/s,可到达毫秒级的传输速度[8],所使用的UART 接口将HART 芯片内部并行8 位数据转成串行1 位数据与CPU 进行通信[9]。而下方为本文所设计的HART 芯片架构,由于新增RAM 存储器模块,CPU可直接以纳秒级的速度32 位数据直接通过AXI4 总线接口传输给RAM 存储器缓存,HART 通信芯片再以1 200 b/s 的通信速度进行调用,新结构对芯片的通信效率和传输速度的数量级改变显而易见。
与FF 和Modbus 等数字通信协议不同,HART 通信协议并不是直接发送接收0、1 数字信息,而是发送和接收两种频率的调制和待解调的方波信号,当芯片收到方波频率信号时,需要将其解调成可以处理的二进制0、1数字信号,同理,HART 芯片将数据发送给HART 仪器仪表之前需要将二进制0、1 数字信号调制成两种频率的方波信号。根据HART 通信协议的规定,两种方波信号分别为2 200 Hz 和1 200 Hz 分别代表数字信号0、1[10-11]。本文所设计的芯片架构所处理的调制解调过程如图3所示。数据传输波特率为1 200 b/s。
图3 调制解调过程
具体调制解调过程如下:首先是调制硬件实现流程如图4 所示。
图4 调制硬件实现流程
本文所提出的可互联HART 通信协议芯片架构的设计及验证是基于FPGA 平台进行的,FPGA 输入的时钟为50 MHz,将50 MHz 的时钟频率通过所设计的计数器模块降频,分别降为2 200 Hz 和1 200 Hz 频率,使降频的频率作为载波频率,通过接收RAM 存储器的0、1数据,通过二选一选择器将两种频率选择出来并输出。0、1 分别对应2 200 Hz 方波和1 200 Hz 频率[6]。
其次,解调硬件实现流程如图5 所示。
图5 解调硬件实现流程
解调过程主要是将调制好的两种频率的方波信号解调成0、1 数字信号进行数据包处理,首先根据FPGA系统时钟50 MHz 进行设计处理,因HART 通信协议规定传输速度为1 200 b/s,所以设计更新频率为1 200 Hz,将50 MHz 系统频率通过计数器分频降为1 200 Hz,并对时钟上升沿进行计数处理,在此同时对输入的待解调信号同样进行脉冲上升沿计数,通过比较器对比两个计数器的数值,若相等则是1 200 Hz 信号,若不相等计数值cnt2大于计数值cnt1,则被判定输入频率为2 200 Hz 信号,每次比较清空计数器数值,每1 200 Hz 更新一次,即每1 200 Hz 输出一次解调结果,根据2 200 Hz 对应二进制0 和1 200 Hz 对应二进制1,来输出二进制结果。
现在市场上应用比较多的HART 芯片结构如图6所示,主要是通过URAT 串口进行数据交换,没有缓存,无法分配芯片地址,结构简单,功能单一[12]。
图6 常用HART 芯片结构
本文所设计的可互联HART 芯片总体架构如图7所示,该架构解决了当下HART 芯片所面临的问题,配置信息与数据信息独立化,以AXI4 总线接口代替UART接口,实现地址分配,多芯片与CPU 互联功能,增设RAM存储器,实现数据的缓存功能等。
图7 可互联HART 芯片总体架构
本文所设计的可互联HART 芯片与CPU 进行数据交互的读写过程如图8、图9 所示,其中图8 为数据下行过程,将CPU 数据信息传输给下位机。图9 为从设备响应上位机过程的数据传输过程。
图8 数据下行过程
图9 从设备响应过程
下面以写过程介绍本文芯片架构通信流程。
首先当CPU 向从设备写入数据时,以广播的形式发送HART 芯片地址和要写入HART 芯片的数据,所有HART 芯片通过AXI4 接口接收数据,并将CPU 发送的HART 芯片地址与自己已经配置好的地址对比,如果地址一样,则该HART 芯片与CPU 建立数据交互。
通过AXI4-Full 将数据信息写入RAM 存储器,通过AXI4-Lite 将配置信息写入寄存器堆栈,配置信息包括START 转态字节、ADDR 设备地址字节与COM 命令字节以及波特率等控制信息。数据信息包括HART 芯片与CPU 交互的长字节DATA 数据。
对从RAM 存储器中读取的DATA 数据字节进行纵向奇偶校验,得到的校验结果为CHK 校验字节。
数据打包模块调用寄存器堆栈已存入的START 字节、ADDR 地址字节和COM 命令字节以及DATA 数据字节和CHK 校验字节,并将这些字节按照HART 协议要求进行打包,并加入HART 协议PREAMBLE 导言字节,导言字节由5~20 个十六进制FF 所组成,打包完成之后由低位到高位分别为PREAMBLE 导言字节、START 起始字节、ADDR 地址字节、COM 命令字节、DATA 数据字节、CHK 校验字节,将打包好的数据按位发送到调制模块[13]。
调制模块由系统时钟分频出来2 200 Hz 和1 200 Hz载波频率,通过0、1 基带信号选择出对应的频率,当接收到数据信号为0 时调制成2 200 Hz 方波信号,接收数据为1 时调制成1 200 Hz 信号作为HART 芯片输出[14-15]。
本文所提出的HART 芯片架构验证平台为FPGA 平台,通过搭建主从架构,验证AXI4 总线数据的接收、解包、打包、调制、解调等功能,本次以CPU 数据传输到从设备端为例进行实验验证。
整体仿真结构框架图如图10 所示。
图10 仿真结构
图10 介绍了AXI4 端口数据、主机部分以及从机部分,由图可直观显示运行时间,在1 685 ns 时已经将72 位9字节数据写入RAM 存储,实现纳秒级别的传输速度。
数据以32 bit 同时通过AXI4 总线端口输入,而芯片内部处理为8 bit 一个字节的情况处理,所以输入端搭建32 bit 转8 bit 的模块,使数据按8 bit 一组缓存到RAM存储器中。验证整体波形图,如图11 所示。
图11 32 位转8 位算法
将CPU 数据存储到RAM 存储器并转换成8 bit 数据之后,通过HART 打包模块进行调用,将数据连续接到导言字节FF 之后,如图12 所示。
图12 数据打包
数据打包的同时进行发送,当数据发送完成之后进行校验,校验结果再打包到数据帧结尾,如图13 所示。
图13 纵向奇偶校验帧打包
按照HART 通信协议打包好之后,由低到高以HART协议1 200 b/s 通信速率按位发送给调制模块,将二进制0、1 数据调制成两种频率的方波调制输出。从设备首先通过解调模块接收到调制的数字信号,通过比较器将频率信号解调成二进制0、1 数据信号,上传给从设备接收解包。
本文所设计的HART 芯片调制解调验证仿真图如图14 所示。
由图14 可清晰看出成功调制成两种频率,通过从设备数据解调之后,与主设备待调制数据相同,数据解析成功。
图14 调制解调硬件仿真图
最后将数据进行存储,完成数据通信过程,完成实验验证。
本文介绍了一种HART 调制解调芯片高速通信接口设计,通过对比现有的HART 通信芯片,设计了一款全新的HART 芯片架构。采用AXI4 总线的特征,可实现单个CPU 挂载多个HART 芯片设备,实现多芯片互联功能,搭配RAM 存储器,实现数据的缓存处理,实现高速接收CPU 数据的同时,满足HART 协议规范传输速度,通过FPGA 平台设计两个IP 核,实现两个IP 的数据交互,由此验证了该设计方案的可行性与合理性,可识别和传输满足HART 协议规范的数据类型。