无需更换电池的数字倒计时定时器
扫描二维码
随时随地手机看文章
我们之所以选择 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 以下,也就是说,在默认的 1MHz CPU 频率下相当于 100us,因此在这样短的工作时间内,主循环增加的电流消耗可以忽略不计,计算方法如下:
数字倒计时定时器的总电流消耗为待机与主循环电流消耗之和:
由于平均电流消耗约达到 1.8uA,这款倒计时定时器可轻易地实现电流消耗低于 2.28uA 的设计目标,从而能够连续工作 10 年以上。既然电池寿命可达 10 年,那么我们在设计倒计时定时器时可以采用长效电池,从而简化了其构造,同时也降低了单位成本。由于大量 MCU 功能与引脚尚未得到使用,因此我们还可用其添加额外特性。实施计数器所需的固件相当小,只在 MCU 的 8k 字节闪存上占用不到 250 字节。