基于51单片机的低功耗甲烷检测系统设计方案
的图形点阵液晶模块HS12232作为显示屏幕,显示提示和处理结果。显示界面设计成多层选择菜单的模式,主菜单中有甲烷检测、传感器工作电压设置,采样数据上传和识别网络更新等选项,通过键盘输入进行菜单选择的方式进行各种操作。同时由单片机的另一路D/A输出提示音信号,驱动蜂鸣器发出提示音。
根据检测系统的设计要求,方便灵活地与计算机通信也是很重要的。目前USB标准已经得到了普及,因此选择采用USB通讯方式。USB是一种通用串行总线,具有使用可靠、即插即用和成本低廉的特点。检测系统电路中使用的USB接口芯片是支持USB1.1协议的Philips公司的PDUSBDI2芯片。单片机通过并行I/O口向PDIUSBD 12发命令和数据以实现对USB接口读写,由于在本系统中数据量传输不是很大,采用的是中断方式非同步传输。在USB协议中,USB总线分有主机和设备两部分,计算机上的USB控制器是主机器件,PDIUSBD 12是设备器件。图3是PDIUSBDI2与单片机的接口图。
图3 PDUSBDI2的接口电路原理图
3.2.3 系统电源管理电路
最后还需考虑电源的选择。作为便携式系统,甲烷检测系统的电源供电方式是电池供电,供电电压约在5V。而电路中的有的器件工作在较低的电压下,如单片机、SRAM和USB芯片等是3.3V的工作电压,这就需要在电路中设计5V-3.3V的电压转换电路。通过对比,采用DC-DC器件LM2S74进行电压转换(图4),将5V供电电压转换为3.3V,即可以满足低电压器件的工作要求,减少了额外的功耗,而且通过设计合理的滤波电路,还获得了较好的稳压线性输出。在降低功耗方面,在系统设计中均选用了CMOS器件、低功率表贴元器件,不仅使得系统体积较小,而且电路功耗也得到降低:此外在软件设计上,系统使用了等待和掉电的节电运行机制,而有的器件是带Shutdown功能的,可以在空闲的时候进入省电模式,进一步降低了功耗。
图4 电源电压转换电路
4 检测系统电路调试
在确定了系统电路硬件总体和各部分的设计方案后,制作了实验电路板,对电路进行了初步的调试。电源是采用4节镍氢充电电池串连,经过调试,每路加热电压驱动电路可以输出最高4.5V的电压,在对传感器进行加热的情况下,同时进行数据的采集保存,总电流可以控制在250mA以内,其中单片机电路部分约120mA,传感器阵列加热电流不高于80mA,抽气泵工作电路低于50mA,满足了设计中的低功耗目标。检测系统硬件电路调试完成后,通过编写单片机程序和计算机应用程序,可以在检测系统中实现气体识别等功能。
5 甲烷检测系统软件设计
检测系统电路调试通过后,需要结合识别软件才能进行气体的检测。本文主要在软件设计方面进行研究,提出了适合单片机系统的网络识别算法,在单片机软件和PC机软件两个方面进行了网络构建、网络训练等的讨论,同时对系统的其它功能程序也做了说明。
由于C8051系列单片机具有完整的8052内核,与MCS-51指令完全兼容,可采用标准的805x编译器进行软件开发。在本检测系统的单片机软件设计中,采用了Cygnal C51IDE的开发环境,通过电路中预留的JTAG接口调试程序,依据检测系统的不同功能的需要,采用模块化的设计,将程序分成几个主要的功能模块,图5是单片机程序的模块图。
图5 检测系统单片机程序模块图
从图5中可以看到,单片机的主程序在经过系统初始化后进入主菜单界面,将等待键盘的输入操作。当检测到有按键输入时,读出键值并判断出需要进行的操作,而后调用相应的子程序模块。
- 关于RTX51 TINY的分析与探讨(05-30)
- 浅析8051模块化编程技巧(05-28)
- 基于DSP和单片机通信的液晶显示设计方案(07-20)
- 锁相环控制及初始化简析(08-27)
- 基于MSP430自动胀管控制器的研究(09-07)
- 嵌入式C实现延时程序的不同变量的区别(03-01)