基于MSP430型单片机的智能涡街流量计转换电路的设计
涡街流量计是目前化工生产过程中普遍使用的流量测量仪表,其转换电路是智能涡街流量计电路设计的关键。利用MSP430型单片机作为核心部件,合理选择外围器件进行电路设计,实现了低功耗、智能化、模块化、标准化,并具有功能组态、参数设定、故障诊断、数据修正等功能。解决了以往流量计的功耗大、性能不稳定问题。同时,整机成本同国外同类型产品相比有较大幅度的降低。
1 电路的功能及单片机的选择
由于转换器是2线制24V(DC)在现测量智能型仪表,设计有CPU、D/A转换电路、通讯接口电路、显示电路等环节。根据石油化工生产现场提出的技术要求,必须保证整个仪表在4mA以下能够正常工作。因此,功耗的大小是电路研制能否成功的关键。经过对目前市场上常见的低功耗单片机的筛选,我们选择了美国德州仪器(TI)公司的MSP430F147,它是16位RISC结构的FLASH型单片机,具有超低功耗的特性。该芯片有48个I/O端口、片内集成l6位计时器、USART通讯模块、模拟比较器等功能模块,利用该芯片对涡街传感器前置放大板过来的信号进行脉冲测量、误差修正、各种流量、电流代码及光柱数计算,并把这些信号送LCD显示及420mA输出。转换器的电路功能如图1所示。
2 硬件电路实现
2.1 系统时钟及电源
当MSP430的主时钟MCLK正常工作时,取XT2IN为4M:非正常工作时,取DCO为4M左右,外部供电为24V(DC)。电源监测是本流量计电路设计的独特之处,通过MSP430内嵌的模拟比较器模块进行模拟信号电压的比较,实现对电源故障的监测。外部电源通过MSP430的P2.3管脚引入单片机,它同P2.4的1.25参考电压端进行比较,比较器输出端P2.2同P2.1相连,采用MSP430软件查询P2.1的电平,实现电源监控。这种利用软件代替硬件的设计方法,既降低了整机电路的功耗又降低了硬件成本,同时也提高了仪表的稳定性。
2.2 D/A转换电路
MSP430输出的数字信号送D/A转换模块转换,变成4~20mA输出。D/A转换模块采用美国Analog Device公司的AD421转换元件,它同MSP430采用SPI模式通讯,采用三线制主工作模式。
2.3 脉冲输出电路
抗干扰能力是考核仪表的一项主要参数。为了减少脉冲输出信号受外界干扰,脉冲输出电路采用日本NEC公司的PS2932光耦隔离电路。MSP430对脉冲输出进行控制。MSP430的P4.3为脉冲输出选择位,低为允许系统自检脉冲输出,高为允许原始脉冲频率输出。P4.2为系统自检脉冲输出及原始频率输出控制,低为不允许原始频率输出,高为允许。通讯时脉冲输出禁止,默认输出原始脉冲这种设计是本电路的又一与众不同之处,使整机稳定性明显高于同类其他产品。脉冲输出电路原理如图2所示。
2.4 显示及按键电路
按键及显示器是实现人机对话的媒介。显示电路采用段式液晶显示LCD,内置的液晶驱动器PCF8576同主MSP430采用ⅡC模式通讯。ⅡC总线采用单主模式控智LCD显示,其时钟和数据传送的速度小于100kHz。键盘采用4按键制,分别是LEFT键、RIGHT键、+键及-键,LEFT按键中断进入菜单,在菜单中定时查询键值,所有按键均为低电平有效。
3 软件实现
全部软件采用C语言编程,正常工作时为低功耗状态,采用Timerb捕获中断方式进行实时测量,Timerb的定时中断用于控制流量计算、电流输出及累积量存贮时间间隔,不断监控键盘中断,随时进行菜单操作。程序流程如图3所示。
3.1 初始化
初始化分为两部分,(1)上电初始化,完成初始化硬件、系统自检及时钟设定;(2)功能软件应用初始化,主要为调用相关功能软件时对相应寄存器或要应用到的硬件进行初始化。
3.2 数据采集及处理
测量中断由timer-b捕获/比较器0的捕获中断实现,其内部不再嵌套任何中断。定时中断由timer-b 16位计数器溢出中断产生,其内部只嵌套测量中断和SPI中断。在中断竞争时,测量中断比SPI中断优先级高,而SPI中断时间保持在200μs以内时,不影响测量。测量和定时中断是本设备工作的基础和关键,二者的中断优先级在中断向量中除电源监控和看门狗中断外级别最高。在定时中断中,系统实现了传感器监测、计算、输出、存储、键盘中断判断等功能。
3.3 ⅡC通讯
Microchip公司的24LC02B型EEPROM具有掉电保护功能。EEPROM主要用于存贮累积量、管道直径及流体种类等仪表参数。每次掉电MSP430都从EEPROM中读入各种仪表参数,每当修改完菜单参数后,存贮到EEPROM中,同时以一定的时间间隔向EEPROM存入累计量数值。MSP430同EEPROM及D/A模块AD421采用ⅡC模式通讯。因MSP430本身不具有ⅡC总线接口,故需软硬件模拟实现。模拟ⅡC通讯接口是本软件设计的主要任务之一。硬件模拟:①P3.7:SCL(SDCLK),小于100kHz;P3.6:SDA(P3.5:EEPROM写禁止,低有效)②I/O口管脚方向寄存器PnDIR复位,通过设置管脚方向,可以实现ⅡC总线所需的输出电平。当管脚方向为input时,相当于输出高电平;当管脚方向为output时,相当于输出低电平,实现了open-drain输出功能。软件模拟:数据传送的开始和结束、应答位、传送数据格式及传送模式按照ⅡC通讯模式进行。软件模拟数据传送的开始程序如下:
void START(void)
{P3DIR &=~SDA; //SDA=1
―NoP();
―NoP();
―NoP();
―NoP();
P3DIR & =~SCL: //SCL=1
―NoP();
―NoP();
―NoP();
while((P3IN & SCL)!= SCL);//wait for slaver release the clock line
ⅡC-delay();
P3DIR |= SDA; //SDA=0
ⅡC-delay();
P3DIR |=SCL: //SCL=0
―NoP();
―NoP();
―NoP();
―NoP();
}/* end START */
4 结束语
本设计方案中硬件电路以MSP430作为核心部件,适当扩展外围电路组成,并巧妙地利用了软件代替硬件技术,简化了硬件结构,降低了成本,同时提高了仪表的智能化程度、稳定性和可靠性。通过中国石油化工集团公司辽化分公司仪表厂试验并经聚脂一厂、尼龙厂现场考核运行表明,本产品技术指标达到设计要求,接近进口同类产品的水平。智能涡街流量计开发研制的成功,填补了中油集团该仪表产品的空白。由于生产成本远低于同类型进口产品,因此具有很强的竞争优势和广泛的市场前景。
参考文献
[1] HU Da-ke(胡大可).MSP430系列单片机C语言程序设计与开发[M].北京:北京航空航天大学出版社,2003.
[2] LI Qiang(李强),CHEN Yao(陈瑶).Application embedded RTOS on the MSP430 microcontroller(嵌入RTOS在MSP430单片机上的实现)[J].Microcontrollers & embedded systems(单片机与嵌入式系统应用),2002,(7):52-56.
[3] HU Da-ke(胡大可).MSP430系列FLASH型超低功耗16位单片机[M].北京:北京航空航天大学出版社,2001.
v[4] CHEN Ming-liang(陈明亮),等.General datd collector systems of microcontroller based on microcomputer communication(基于微机控制通信的单片机通用数据采集系统)[J].Microcontrollers & embedded systems(单片机与嵌入式系统应用),2002,(1):34-36.
[5] HE Li-min(何立民).单片机应用技术选编(4)[M].北京:北京航空航天大学出版社,1997.
v[6] Brian M.I2C Interfacing of the MSP430 tO a 24xx series EEPROM[R].Texas,U.S.A.:texas instruments incorporated,2000,12:5-7.
[7]WANG Shao-qing(王少卿),WANG Ren-huang(汪仁煌).Logic interface technic of low-loss microcontroller MSP430 about 3V and 5V hybrid system(低功耗MSP430单片机在3V与5V混合系统中的逻辑接口技术)[J].Application of electronic technique(电子技术应用),2002,(10):16-17.
[8]ZHANG Hong-run(张洪润),YI Tao(易涛).单片机应用技术教程[M].北京:清华大学出版社,2003.