在工业应用中常使用传感器测量参数,但传感器信号" title="传感器信号">传感器信号一般较弱,并不适合远距离传输,而且非线性效果不理想,达不到较高的精度需求。本文将DSP和eCAN(增强型控制器局域网)总线技术应用于智能变送器" title="智能变送器">智能变送器中,以TMS320F2812为核心控制器,将数据通过CAN总线进行可靠通信,设计一种高精度智能变送器。
1 系统组成
基于eCAN现场总线技术的智能变送器由上位机" title="上位机">上位机和智能测控节点构成。位于监控现场的上位机采用通用计算机(PC)或工控机(ICP),在ISA扩展槽使用1块总线通信" title="总线通信">总线通信适配卡,使上位机具有总线通信功能;而位于工业现场的多个智能测控节点采集现场数据。直接面向生产过程。图l为系统组成框图。
2 eCAN智能变送节点的硬件设计
智能变送器节点具有现场数据采集" title="数据采集">数据采集、控制以及与CAN总线通信功能。节点是以TMS320F2812型DSP为核心,利用其内部集成的eCAN模块进行通信。其硬件电路由4部分组成:单片机微控制器电路、数据采集电路、通信接口电路以及现场监控电路。其主要应用电路如图2所示。
TMS320F2812通过SPI串行接口与MAXl400连接,数据经过处理后,通过光电隔离和电源隔离实现CPU单元的隔离保护,提高通信过程的抗干扰能力。
2.1 单片机微控器
本装置的核心器件为TMS320F2812。TMS320F2812 DSP内部集成有eCAN模块,完全兼容CAN2.0B协议,是TI公司新一代32位内部结构的高级CAN控制器。该器件还集成有多种先进的外设,为控制领域的应用提供了良好的平台。TMS320F2812型DSP提高了运算精度(32位)和系统的处理能力(最高达到150 MI/s)。该系列器件还集成有128 KB的Flash存储器,4KB的引导ROM,数学运算表及2 KB的0TPROM,从而大大改善应用的灵活性。
2.2 数据采集
传感器模块是实现eCAN通信的通信终端设备之一。上位机的控制命令信息由微处理器处理后,利用传感器进行数据采集或对其进行参数设置。通常输入传感器的信号幅值很小,而且混杂干扰信号以及噪声。为了方便后续处理,首先要将信号整形成具有最佳特性的波形,有时还需要将信号线性化。本装置可以直接与现场各种传感器连接,然后通过屏蔽双绞线与上位机双向数据传输。
在调试中采用半导体压阻传感器。为提高满量程输出,减少零点漂移和提高线性度,通常把感压电阻连成惠斯登电桥,每个桥臂电阻都比较大,一般为2 kΩ。采用恒流源供电,这种方式的优点是电桥的输出与桥臂电阻无关,同时采用双电源供电,所以可进一步减小对传感器的非线性和温度传感器输出灵敏度的影响。
在模数转换方面,不采用TMS320F2812内部A/D转换器,需要一个增益可调的仪表放大器和一个分辨率至少在14位A/D转换器实现对传感器信号的放大和模数转换,这样才能达到智能变送器的高精度、自动调节量程、大量程的设计要求。对于任何智能变送器,还需要对各种传感器进行采样,从而对各种传感器对现场数据测量值进行补偿,提高全范围的测量精度。这样,还需要一个多路转换器实现通道间的切换。如果选用分立元件,必然会引入相当大的功耗。这里用MAXl400器件。该器件为低功耗、多通道、带SPI同步串行口的∑/△、分辨率达18位的A/D转换器。
2.3 通信接口
TMS320F2812内部集成有eCAN,可以方便的接入到CAN总线系统中。因此,在设计中不必外加CAN控制器实现CAN总线底层协议,外部只需连接CAN总线驱动器即可实现CAN接口。
这里选用SN65HVD230收发器,可提高系统的瞬间抗干扰能力,增大通信距离,保护总线,降低射频干扰,实现热防护等。6N137系列器件是高速光耦,实现TMS320F2812和物理总线间的光电隔离,降低由于不同节点的高共模电压引起的串扰,甚至对器件的损坏,进而提高系统的可靠性,其通信速率可高达10 Mbit/s,完全能满足CAN总线通信需要。
因为DSP是+3.3 V供电,而SN65HVD230内部的比较器需要5 V供电,所以在接收端连接有R2和R3实现电平转换。
2.4 现场监控电路
该电路主要显示节点的工作状态和被控对象的测量值,并根据设置对被控对象进行控制,该电路是由液晶显示器、输出驱动器件等组成。
3 系统软件设计
系统软件设计是整套装置的重要组成部分。本装置的软件设计是在CCS集成开发环境中使用C语言开发的。CCS是TI公司提高的功能强大的集成开发环境,可提供环境配置、源文件编辑、程序调试、跟踪和分析等工具,在软件环境下完成编辑、编译链接、调试和数据分析等工作。
3.1 主程序
智能变送器的main函数软件代码如下:
3.2 A/D转换模块软件设计
在对MAXl400进行操作时,首先应对其初始化。若不初始化,而直接读取A/D转换的数据,MAXl400将按其内部各寄存器上电复位时的缺省值进行转换。InitMAXl400()的程序流程如图3所示。
分别用软件控制MAXl400的DRDY,CS,SCLK,DIN和DOUT5个引脚的状态,从而实现对它的操作,MAXl400的读写按照严格的时序进行。
主程序中SPIRXINTA_ISR、SPIRXINTA_ISR分别为SPI输入、输出子程序。
Measure()子程序是TMS320F2812对A/D转换器采集后的数据进行处理的过程。当SPISTS.SPINTFLAG=1时,CPU将SPIRXBUF中的值存储到Sci_VarRx[i]数组中,MAXl400是18位,而TMS320F2812为16位处理器。所以每一个采样值要占2个存储空间。测量结果滤波采用中位值平均滤波法,即每个测量值采样10次,去除最大值和最小值,其余8个值取算术平均值。
3.3 eCAN通信模块软件设计
在使用eCAN模块之前首先必须对其内部寄存器进行初始化设置。InitECan()包括:1)为正确配置2个引脚CANTX和CANRX,因为这两个I/O口均为复用口。2)初始化位定时器,位定时器CANBTC包括CAN控制器的通讯波特率预分频器BRP、同步跳转宽度SJW、采样次数SAM和TSEGl、TSEG2。3)初始化邮箱,邮箱初始化主要设置邮箱的标识符、控制域以及对相应的邮箱赋初值。
4 结束语
以TMS320F2812和MAXl400为核心、基于eCAN技术的智能变送器,集转换、计算、通信等功能于一体,具有高精度、体积小、功耗低的特点。将数据经eCAN总线传输至上位机,提高了工业仪器的可靠性及灵活性,为工业现场的集中控制提供了较好的硬件平台.