无需更换电池的数字倒计时定时器
时间:06-20 11:02 阅读:861次
*温馨提示:点击图片可以放大观看高清大图
简介:只需 MCU、LCD、32kHz 晶振以及一个电阻器即可构成一部基本的倒计时定时器,而且只需一颗普通的纽扣电池即可实现连续超过 10 年的工作时间。
只需MCU、LCD、32kHz晶振以及一个电阻器即可构成一部基本的倒计时定时器,而且只需一颗普通的纽扣电池即可实现连续超过10年的工作时间,如图1所示。例如,此类倒计时定时器可用于餐馆提供服务时间保证,服务人员按下一个按钮即可启动倒计时定时器,微控制器开始自动倒计时,时间长短可预先设定,倒计时过程则会显示在显示屏上。如果服务人员在计时结束前尚未向客人提供服务,那么显示器就会闪动显示超时信息,提示未达到服务保证。有两大关键性设计可最小化功耗,并尽可能延长电池使用寿命,一是认真选择电池,二是充分利用MCU的低功耗模式。
我们之所以选择CR2032纽扣式锂电池,主要是因为它占地较小,可以支持便携式应用,放电曲线较平,可以直接驱动LCD,无需补偿,而且漏电极低,能够实现更长的工作时间。典型的CR2032额定容量约为200mA,工作时间可持续数小时。为了实现连续工作10年的设计目标,平均系统电流消耗不得超过2.28uA,电流消耗的计算方式为电池能量值除以应用的工作寿命,如下所示:
我们选择MCU是由于其待机电流极低,仅为0.8uA,并且还包含了晶体振荡器、集成LCD驱动器以及中断驱动唤醒定时器。3.5英寸数字LCD显示屏增加了1uA的额外系统电流消耗。整个工作期间的倒计时定时器的总待机电流消耗如下:
通常情况下,MCU工作在待机模式下,时钟晶体频率为32kHz的定时器触发1秒中断,使MCU返回工作主循环(Mainloop),主循环采用可以显著降低软件开销的直接BCD减法以实现软件倒计时寄存器的递减。我们向软件倒计时寄存器添加十进制的99h,实际上减去的数为1。直接BCD减法不仅有效,而且还可使倒计时直接显示在LCD上,而无需再进行耗费电流的二进制BCD减法运算。软件接下来在LCD上显示倒计时寄存器中的值。最后,倒计时寄存器中的值将与零相比较,以决定预编程的时间段是否已经到期,如果到期那么将显示超时信息。主循环要求CPU与片上高速振荡器在250uA电流消耗下工作。不过,由于我们在编写软件时已经将循环计数减至100以下,也就是说,在默认的1MHzCPU频率下相当于100us,因此在这样短的工作时间内,主循环增加的电流消耗可以忽略不计,计算方法如下:
数字倒计时定时器的总电流消耗为待机与主循环电流消耗之和:
由于平均电流消耗约达到1.8uA,这款倒计时定时器可轻易地实现电流消耗低于2.28uA的设计目标,从而能够连续工作10年以上。既然电池寿命可达10年,那么我们在设计倒计时定时器时可以采用长效电池,从而简化了其构造,同时也降低了单位成本。由于大量MCU功能与引脚尚未得到使用,因此我们还可用其添加额外特性。实施计数器所需的固件相当小,只在MCU的8k字节闪存上占用不到250字节。