本文介绍了一种基于集成数据采集芯片ADmC824的超低功耗数据采集系统的软硬件设计,以及在线可编程技术在该系统中的应用。研究了降低采集系统功耗以延长系统工作时间的数据采集记录系统的设计方法。
引言
油田参数采集、环境监测、气象监测等工作中,经常碰到在野外等特殊场合下长时间地采集记录变化缓慢的物理量参数。这对数据采集记录系统提出了低功耗、微型化和可与计算机连接的要求。本文以数据采集器芯片ADmC824为核心,采用多种方法有效地提高了系统集成度并大幅度降低了功耗。
本文介绍的系统由采集器、上下载器和系统上下层软件三大部分构成。采集器由电池供电,安装于现场,可脱离系统按程序自动完成数据的采集和记录;上下载器是记录器与微机的硬件接口,完成采集程序的下载和采集完成后的数据上传;系统下层软件采用高级语言C51编制,大大缩短了开发时间,上层软件采用VB编制,可以由计算机控制系统工作,并完成记录器结果的读人存储和分析处理。
系统硬件设计
采集器硬件主要由以下几部分组成:数据采集芯片ADmC824、闪速电擦除存储器、电池、液晶显示及串口通信。
数据采集芯片ADmC824
数据采集芯片ADmC824是整个系统的核心。它将8052内核、两路24位+16位??ADC、12位DAC、Flash、WDT、mP监控电路、温度传感器、双激励恒流源、时间间隔计数器、SPI和12C总线接口等丰富资源集成于一体,体积小、功耗低、非常适合用于各类便携式仪器。尤其需要指出的是它还有一个内置的时间间隔计数器,可以实现最大128个小时的定时功能,并且可以用它实现掉电唤醒,这是普通单片机无法实现的。
闪速电擦除存储器
对于独立工作的数据采集记录系统来说,数据记录的存储可靠性和存储容量是至关重要的。Flash可在线读写,掉电数据不丢失,理论上,掉电数据可以保存超过10年,有明显的优越性。由于单片机选用了AdmC824,它可以很方便地访问大于64K,最大可到16M的数据空间,而不需要额外占用十分紧缺的I/O口,也不用增加更多的译码、锁存芯片,这也给进一步降低功耗提供了帮助。本系统使用的数据存储器是128K的29EE011,根据实际情况还可以增加容量,原理相同。
液晶显示
在低功耗系统中,必须采用功耗比较低的液晶显示器,而不能使用功耗比较大的数码管显示。本系统中选用的是MDLS16265液晶显示模块。MDLS16265是5×8点阵的16×2(字符×行)字符液晶显示模块,它可以建立自己的汉字库,可以保存8个汉字。在本系统中,建了6个汉字用于显示。
串口通信
本系统采用了串行通信的方式与计算机相连接。选用的是ADM3202,它的体积比较小,工作稳定,比较适合在便携式仪器中使用。
系统软件设计
系统软件主要分上下层软件,分别运行于个人计算机和采集器中。上层软件主要完成对下层程序的调试下载、对采集器的在线控制采集、采样数据的上传与记录分析;下层软件主要是控制采集器定时正确的工作,采集并保存数据。
上层软件
上层软件采用VB编写,可以实现与下层软件的通信,主要实现用户登陆、控制采集器在线采集数据、对历史数据的调用分析,以及对采集器数据的上传保存等功能。软件成功地上传数据后,可以将数据以数据文件形式(二进制或文本)保存在硬盘上,并可以进行例如作图、列表等简单的数据处理工作。软件集成了ADmC824的下载程序,可以下载程序到系统,进行系统的升级修改。当然这不是必须的,也可以单独使用它的下载调试工具进行程序的升级。
下层软件
主程序基本流程如图1所示。
在设计下层软件时,根据系统的需要,充分利用AdmC824时间间隔计数器的独特优势,即它可以定时一段明显长于其他51单片机的时间,最长可以达128小时,并且可以在掉电的情况下产生中断唤醒单片机。这样可以完成很多特殊情况的需要。整个系统下层软件由几个程序文件组成,包括主程序文件(DataSam.c)、中断处理程序文件(Int.c)、显示程序文件(Lcm.c)、初始化程序文件(MCUInit.c)、采集程序文件(ADC.c)和存储程序文件(Mem.c)。
软件中降低系统功耗的方法
在系统中应充分利用ADmC824的独特设计。首先,充分利用系统的掉电模式。大部分MCU都提供了空闲(睡眠)的工作模式,这种方式唤醒到正常模式的方法比较灵活,可以被外部中断、定时器或看门狗中断唤醒,唤醒速度很快,但功耗降低得较少。而掉电方式下的功耗要比空闲方式小得多,所以系统选择在掉电模式下工作。由于ADmC824在掉电模式下仍然可以被时间间隔中断和外部中断唤醒,所以这也为系统软件设计带来了很大的方便。可以不需增加复位就让系统工作自如,并且还可以设置不同的间隔时间,本系统中设定的是一个小时采集一次。同时利用它的外部中断唤醒功能可以随时利用上位计算机对系统进行控制,实现采集数据上传分析和升级软件等操作,十分方便。其次,时钟频率越高,系统功耗就越大。而ADmC824的核心频率可以很方便地进行修改,它有一个片内PLL控制寄存器PLLCON,利用其中的低三位可以为CPU设定八种不同的频率。降低时钟频率,并不会对整个系统的工作时间造成太大影响,却可以显著地降低功耗。
结语
本文介绍了一种基于集成数据采集芯片ADmC824的超低功耗数据采集系统的软硬件设计,讨论了降低系统功耗、延长工作时间的一些措施及在线可编程技术在本系统中的应用。由于ADmC824的集成度非常高,所以系统的硬件也非常简单,系统功耗主要来自于ADmC824自身以及液晶显示、存储和通信芯片。而它们在短暂的工作时间之外都是处于掉电状态之下,所以功耗非常低,其中ADmC824在掉电方式下工作的电流只有5mA。