基于多处理器技术的涡街流量计
扫描二维码
随时随地手机看文章
0 引言
涡街流量计因其介质适应性强、无可动部件、结构简单等优点,在许多行业得到了广泛应用。传统涡街流量计采用模拟信号处理方法,抗干扰能力差,且一般采用4~20mA的模拟量输出,因此不能满足当今现场总线技术的发展和分布式控制系统实时性、稳定性、可靠性的要求。
针对涡街流量计在低流速测量和信号输出方面存在的问题,开发了基于多处理器技术的带PROFIBUS-DP接口的涡街流量计。
1 系统总体设计
系统的总体设计从抗干扰、低功耗和带总线接口三个角度出发,主要分为四大部分:模拟信号预处理电路、控制及传输电路、数字信号处理电路和PROFIBUS-DP接口电路。系统基本结构如图1所示。基于单片机和DSP相结合的双核技术,可以充分发挥 MSP430强大的控制功能和DSP强大的数据处理能力,来解决涡街流量计的抗干扰问题,提高系统的实时性和可靠性。选用同类产品中超低功耗型号的DSP 和单片机,低功耗的系统外围芯片;充分利用MSP430单片机的高集成度和DSP的HPI接口的强大功能,省去需要外接的12位A/D和用于存放DSP程序的Flash ROM,降低系统的功耗。SPC3集成了PROFIBUS-DP物理层和数据链路层的完整协议,为涡街流量计的总线接口提供了廉价的配置方案。整个系统实现简单、方便,既节约了成本,又缩小了体积。
2 系统硬件设计
2.1 模拟信号预处理电路
模拟信号预处理电路包括电荷放大器、差动放大器和抗混迭滤波器。模拟信号预处理电路通过以运算放大器为主体的模拟电路对采集到的电荷信号进行三方面的处理:通过输入级的电荷放大器将涡街传感器压电检测元件输出的交变电荷信号转换为电压信号;通过差动放大器和其它级电路的放大功能实现交变信号的幅值放大;通过抗混迭滤波器实现信号ADC(模数转换)之前的抗混迭滤波。
2.2 控制及传输电路
控制及传输电路以超低功耗的MSP430F149单片机为核心,实现参数设置、数据采集、数据传输、显示等功能。MSP430F149内部集成的12位A/D实现了高精度的实时数据采集,丰富的外部接口实现了键盘的操作、HPI模拟时序、LCD显示及对外通信的功能。这种强大的控制功能是DSF呒法替代的。
2.3 数字信号处理电路
数字信号处理电路以DSP为核心,MSP430为辅助的电路,DSP选用 TMS320C5416(简称5416),它是一个工作灵活、高速、低功耗的16位定点通用DSP芯片,操作速率可达160MIPS,能够完全满足系统大计算量和实时性的要求。DSP的数据来源于单片机的12位A/D采集到的数据,DSP与单片机之间通过主机接口(HPI)进行高速通信,当DSP接收到了涡街信号的数据后,采用基于DFT的频率估计法对信号进行数字信号处理,处理后的结果再传回单片机。DSP与单片机的HPI接口电路的连接示意图如图2所示。
将HPI接口应用到DSP的Bootloader中,即把DSP的程序存放在单片机的Flash里(DSP中没有程序存储器),在系统启动时,将程序通过 HPI口以Bootloader的方式从单片机写到DSP的RAM中去,启动DSP,使DSP开始正常的信号处理,这样节省了一片用于为DSP存放程序的 FlashROM;DSP通过单片机的12位A/D采集数据,即单片机用自身的12位A/D采集数据,然后通过HPI接口把数据传输到DSP的RAM中, DSP再进行数据处理,处理后的结果再传回到单片机,从而节省了一片A/D,也降低了功耗。
2.4 PROFIBO-DP通信接口电路
MSP430F149是无外扩总线的微控制器,当它与SPC3接口时,可以以Intel模式分配部分I/O口作为SPC3的地址、数据及控制总线接口,其接口时序通过编程用软件实现。MAP430F149与SPC3之间的连接如图3所示。
MAP430F149作为处理器单元管理通信事务,SPC3协议芯片则完成数据的转换和收发功能。SPC3在选用Intel芯片模式并工作于同步模式时,内部地址锁存器和解码电路工作,所以CPU的低8位地址线不经过573锁存器直接与SPC3连接(低8位地址线与8位数据线分时共用传输线),P4口作为 A/DBUS复用。CPU的高8位地址线直接与SPC3的AB0~AB7相连,且必须为00000XXX(X表示0、1信号都行)。在此将SPC3的 AB3~AB10接地,AB0~AB2接单片机的P1.6、P1.4、P1.5,作为AB8~AB10地址线。此时片选信号输入引脚XCS不起作用,接高电平;地址锁存信号ALE起作用,接处理器P1.7。CPU与SPC3通过SPC3的双口RAM交换数据,SPC3的双口RAM应在CPU地址空间统一分配地址,CPU把这片RAM当作自己的外部RAM。
由于MSP430F149采用低电源电压3.3 V供电,而SPC3采用5 V供电,在硬件设计中要考虑3.3 V逻辑系统和5 V逻辑系统共存。为避免元器件的损坏和数据的丢失,此处采用两片专用的SN74LVCC4245A电平转换芯片,它是一个8位宽度的双向I/O电平转换器;中断信号X/INT采用简单电阻分压的方法接P1.0。
SPC3与收发器连接时用于串行通信的四个引脚分别为XCTS、RTS、TXD和RXD。XCTS是SPC3的清除发送输入信号引脚,表示允许SPC3发送数据,低电平有效,这里始终接低电平。RTS为SPC3请求发送信号接收发器的输出使能端。RXD和TXD分别为串行接收和发送端口。为提高系统的抗干扰性,SPC3内部线路必须与物理接口在电气上隔离,此处采用速率可达25 Mb/s的HCPL7721高速光耦,收发器采用sN75ALS176,足以满足本系统的应用。
3 系统软件设计
3.1 单片机部分的软件设计
单片机部分的任务是完成参数设置、数据采样、为DSP进行Bootloader、数据显示、数据传输等。程序按照模块化设计思想设计,主要分为四大模块:数据采样程序、HPI通信程序、液晶显示程序、远传程序。主程序流程图如图4所示。
3.2 DSP部分的软件设计
先使DSP工作在HPI模式的Bootloader状态下,准备接收单片机传输的程序代码,程序传输完成后,Bootloader状态结束,DSP进入正常工作,向单片机发出开启A/D请求,准备接收单片机传来的涡街信号数据,接收到数据后,对接收到的数据进行数字信号处理,将处理结果通过HPI口传回单片机。DSP部分的软件设计流程图如图5所示。
3.3 SPC3部分的软件设计
SPC3通信模块程序采用了结构化、模块化的方法,包括四个部分:主程序、中断模块、子程序模块和程序的头文件。通信接口主程序流程图见图6所示。主程序中对SPC3的初始化是非常重要的,关系到它是否能正常工作。初始化过程如下:复位"看门狗",设置SPC3允许中断,写入从站识别号和地址,设置方式寄存器,设置诊断缓冲、参数、组态缓冲区长度,设置地址缓冲区长度,计算各个缓冲区的指针及辅助缓冲区的指针,根据输入输出的数据长度,确定输入和输出缓冲区的指针。
4 结束语
针对传统涡街流量计的缺点,结合单片机的强大控制功能与DSP的强大计算能力及其低功耗特性,构建了一套低功耗数字涡街信号处理系统。降低了功耗,提高了其在现场环境下的精度。并设计了PROFIBUS-DP总线的通信接口,实现了远距离的数据传输。此外配有的液晶显示模块,提供了友好的人机界面。该系统为实现现场总线仪表的自主开发提供了借鉴,具有广阔的市场应用前景。