引言
随着工业的发展和含碳燃料的长期使用,大气中的二氧化碳含量日益增多,其产生的“温室效应”已经一定程度地破坏了人们的生活环境,因此对于二氧化碳含量进行定量的测量与控制已成为一项极具实际意义的任务。此外,二氧化碳浓度的监控对于农业生产、医疗卫生等领域也有着重要的意义。以医疗卫生为例,世界各国都很重视对二氧化碳的监测和控制,这对于减少呼吸系统疾病、提高人们的生活水平有着无法估量的经济效益和社会效益[1]。
采用单片机进行二氧化碳浓度检测、实时显示,能够提高生产效率、节约能源。为此,设计一种利用MSP430F169作为主控芯片的二氧化碳采集系统,能够实时显示测量数据并对数据进行存储,存储的数据可以通过USB与上位机之间进行交互。
1 总体设计
系统采用MSP430F169作为主控CPU,MG811传感器输出经放大的模拟信号,经A/D转换后计算对应的二氧化碳浓度值,将结果通过HT1621送段式LCD显示,并将数据通过M25P80进行存储。需要时可通过USB对存储数据进行读取,完成与上位机之间的交互。系统采用锂电池供电。系统的总体设计框图如图1所示。
图1 系统总体设计框图
2 系统硬件设计
2.1 MSP430F169最小系统
MSP430系列单片机是TI公司推出的一种16位超低功耗单片机。该系列单片机具有运算能力强、片内外设丰富、低电压、超低功耗、速度快和效率高等特点。其电源电压采用1.8~3.6 V低电压,RAM数据保持方式下耗电仅为0.1 μA,活动模式,耗电为250 μA/MIPS,I/O输入端口的最大漏电流仅为50 nA。该单片机系统有一种活动模式和5种低功耗模式,并且各种模式间可以自由切换。其具备精简指令集和较高的处理速度,大量的片内寄存器可以参加运算,有丰富的I/O接口,支持JTAG在线编程和调试[2]。设计的二氧化碳采集系统以MSP430F169为主控CPU,该芯片具备MSP430系列单片机几乎所有的优点,同时其封装为LQPF64,大大缩小了电路板的空间。设计的MSP430F169最小系统电路如图2所示。该最小系统包括了低速晶振和高速晶振电路、上电复位电路、JTAG程序下载调试电路以及电源端和地端。
图2 MSP430F169最小系统
2.2 MG811二氧化碳传感器电路设计
二氧化碳传感器采用郑州炜盛电子公司的MG811。MG811为固体电解质传感器,它的信号输出阻抗非常高,因此不能直接用普通的电压表或万用表测量其输出信号[3],也不能将输出直接接到MSP430的ADC输入端。设计时,在传感器信号输出后端接一级阻抗变换电路,将传感器输出阻抗降低到普通可测量级别,而阻抗变换运算放大器必须选用高输入阻抗型,芯片选用美国无线电公司的CA3410放大芯片。MG811传感器正常工作时内核温度可以达到500 ℃以上,而内核和周围空气是直接接触的,因此环境温度变化会影响到传感器的灵敏度,所以设计中采用温度补偿电路,补偿电路由R1温感电阻和R2构成。
MG811二氧化碳传感器电路如图3所示。二氧化碳传感器经CA3140放大后的输出端与温度补偿输出端分别接到MSP430F169的P6.4和P6.3引脚。由于在一定的温度和湿度的条件下,传感器输出的电压和测量环境中的二氧化碳浓度近似成正比关系,所以经过A/D转换后的电压值可以通过该正比关系式转换成为二氧化碳浓度值。如果环境的温度变化较为明显,就需要对二氧化碳传感器进行人工标定。
图3 MG811传感器电路
2.3 HT1621驱动段式液晶电路设计
段式LCD以其超低的功耗广泛应用于各种便携式设备。MSP430F169电路本身不具有段式液晶驱动能力,由于系统采用锂电池供电,才对功耗有着较高的要求,所以设计中采用HT1621芯片驱动段式液晶显示。HT1621是128点内存映像和多功能的LCD驱动器,HT1621的软件配置特性使它适用于多种LCD应用场合,包括LCD模块和显示子系统。静态显示内存RAM及32×4位的格式存储所显示的数据,RAM的数据直接映像到LCD驱动器,可以用READ、WRITE和READMODIFYWRITE命令访问[4]。HT1621驱动段式LCD电路如图4所示。
图4 HT1621驱动段式LCD电路
其中,HT1621的CS、RD、WR和DATA分别与P2.0、P2.1、P2.2和P2.3相连接。引脚CS用于初始化串行接口电路和结束MSP430F169与HT1621之间的通信,当P2.0口输出为1时,MSP430F169与HT1621之间的数据和命令无效并初始化,在产生模式命令或模式转换之前,必须用一个高电平脉冲初始化HT1621的串行接口。引脚DATA是串行数据输入/输出引脚,读/写数据和命令通过引脚P2.3进行。引脚RD是读时钟输入引脚,当P2.1输出下降沿时,数据输出到引脚DATA上,当P2.1输出上升沿和下一个下降沿之间,MSP430F169读取相应的数据。引脚WR是写时钟输入引脚,当P2.2输出上升沿时,引脚DATA上的数据、地址和命令被写入HT1621。除此之外COM0COM3口分别与段式LCD的COM0COM3口直接连接,SEG0SEG31与段式LCD的SEG0SEG31直接连接。
2.4 USB通信及存储电路设计
由于设计的采集系统具有数据存储功能,考虑到MSP430F169自身的存储空间有限,所以外扩M25P80存储芯片存储数据。M25Pxx系列FLASH是ST公司的高速SPI接口FLASH,读写时钟最快可达到40 MHz,分为1 MB、2 MB、4 MB、8 MB、16 MB等多种容量,不同容量的芯片引脚和封装完全相同[5]。该设计采用8MB容量的M25P80,电路图如图5下半部分所示。M25P80 FLASH可以按页、扇区和整片擦除,并提供按页写数据功能。MSP430F169有独立的SPI控制器,可以直接控制M25P80 FLASH的读写操作,自动生成读写SPI FLASH控制时序。
存储的数据需要与上位机之间进行交互,设计采用CP2102串口芯片,通过USB接口进行通信。CP2102是一种高度集成的USB转UART桥接器,提供一个使用最小化元件和PCB空间实现RS232转USB的简便解决方案。CP2102的USB功能控制器是一个符合USB2.0的全速电路,带有收发器和片内上拉电阻,USB功能控制器管理USB与UART间的所有数据传输,以及由USB主控制器发出的请求命令和用于控制UART功能的命令[6]。设计的USB通信电路如图5上半部分所示,图中U_RXD、U_TXD分别接MSP430F169的P3.5、P3.4引脚。USB接口选用通用的MicroUSB,CP2102中的3.3 V电压可以使用LM11173.3将USB端口的5 V输入转换而来。
图5 USB通信及存储电路
2.5 锂电池升降压电路设计
图6 降压电路和升压电路
综合以上系统的便携性考虑,系统采用锂电池供电。由于本系统MSP430F169、HT1621和M25P80等芯片都使用标准3.3 V供电,二氧化碳传感器MG811采用6 V供电,而标准锂电池充满电时的输出电压为3.7 V,所以需要对锂电池进行升压和降压。降压芯片选用TI公司的TPS62046,升压芯片选用MAXIM公司的MAX17112。降压电路和升压电路如图6所示。其中左半部分为TPS62046降压至3.3 V电路,右半部分为MAX17112升压至6 V电路。实际测试表明,该升压和降压电路所得到的电压能使电路稳定工作。
3 系统软件设计
系统的软件采用模块化设计,软件子功能程序分别与硬件模块电路相对应。系统软件主要包括主程序、数据采集子程序、数据处理子程序、段式LCD显示子程序、定时器中断服务子程序、存储子程序和串行通信子程序等。此处只给出系统的主程序流程图,如图7所示。
图7 系统主程序流程图
结语
设计的二氧化碳采集系统利用MSP430F169控制传感器MG811,能够比较准确地对二氧化碳浓度值采样测量,并能够通过HT1621驱动段式LCD准确显示,系统功耗较低、精度较高、集成化程度高。其便携性使得系统可以应用于各种工农业二氧化碳浓度测量场合,应用前景广阔。