这种方法的好处是,不需要外部任何器件, 既节省成本又节省空间,而且可以获知当前准确的电池电压。它的原理如下: AD的参考电压设为VDD, VDD即为电池电压, 如果AD设为12bit模式 那么:带隙基准电压的AD值(AD27)=(1.17V / VDD) *4096 = (1.17V/ 电池电压) * 4096;所以: 电池电压= (4096 / 带隙基准电压的AD值(AD27)) * 1.17 (V)
电机驱动电路
在气表应用中,采用直流电机来开关阀门。 其驱动电路普遍采用H桥电路, 如下图。此电路成本低,可靠性高。
当PTC3,PTC4同时输出高电平或低电平时, 电机不工作。 当PTC3输出高,PTC4输出低时, 电机向一个方向转动。 当PTC3输出高, PTC4输出低时, 电机向反方向转动。 PTC2用作电机到位检测。
软时钟的实现
由于在气表水表应用中, 对时钟的要求并不是特别精确, 因此可以利用LL16的TOD模块方便地实现软时钟, 从而省去外部的实时时钟芯片, 降低系统成本。 TOD模块使用非常简单,下图为它的内部结构图:
TOD的时钟源有三个, 即内倍的1 kHz RC振荡器, ICSIRCK时钟及外部晶振时钟。考虑到精度因素, 所以选用外部32.768k晶振作为时钟源。 TOD模块对时钟源进行计数,可产生1S或1/4S中断。 因此可利用这1秒钟一次的中断实现软时钟。 同时此中断把CPU从睡眠模式唤醒, 用来查询IC 卡座, 流量脉冲计数,以及电池电压检
www.55dianzi.com
测等。TOD的初始化如下:
void TOD_init(void)
{
TODC = 0x11;
TODC_TODEN =1;
TODSC=0X08;
}
TOD的中断服务程序:
void interrupt VectorNumber_Vtod RTC_ISR(void)
{
TODSC_SECF = 1; // clear 1s interrupt flag
CLOCk_processing();
}TOD 的中断服务程序:
void interrupt VectorNumber_Vtod RTC_ISR(void)
{
TODSC_SECF = 1; // clear 1s interrupt flag
Clock_processing();
}
LCD 驱动
LL16内部有LCD驱动模块, 可配置为24*8,或28*4。 LCD与I/O复用, 多余的段可设为普通I/O。注意,所有和LCD驱动复用的GPIO,在作为I/O功能使用时,其输出模式为开漏,需要外接上拉电阻。
LCD驱动是LL16的一大特色, 具有许多优越的性能。
• 低功耗, LCD模块仅消耗900nA的电流
• 可配置为24*8即8COM端驱动模式, 从而节省更多的I/O口
• COM 和SEGMENT可随意配置, 方便布线, 从而提高EMC性能。
• 具有频率可调的闪烁功能, MCU 在睡眠模式仍然工作, 从而达到更省电的目
的。
• 内置电荷泵, 产生LCD驱动所需的偏置电压
• 内置可调的稳压电压源, 此稳压电压源可作为LCD的输入电压, 通过内置电
荷泵, 产生LCD驱动所需的偏置电压。 当电池电压降低时, 可保证LCD的对
比度不受影响, 这一点对 水表 设计非常有用。
• LCD的输入电压有多个选择, 可支持3V或5V的LCD屏
LCD驱动模块的内部结构图如下:
LCD 的外部电路非常简单,只需几个电容, 见下图。
如果采用四节干电池供电, 由于6V的电源电压经过LDO产生稳定的3V作为MCU的
电源, 所以LCD的输入电源可选为VLL3=VDD。
LCD驱动模块的初始化如下:
void LCD_init(void)
{
LCDRVC = 0x00;
LCDSUPPLY = 0x85;
LCDC1=0X00;
LCDC0 = 0xA3;
}
如果采用锂电池直接供给MCU, LCD的输入电源可选为来自于MCU内部的稳压电源,
这样的好处是, 对比度不会因为电池电压的降低而受影响。
LCD驱动模块的初始化如下:
void LCD_init(void)
{
LCDRVC = 0x80;
LCDSUPPLY = 0x87;
LCDC1=0X00;
LCDC0 = 0xA3;
}
流量脉冲检测:
目前普遍采用双干簧管进行流量检测,其缺点是没有霍尔传感器稳定。 但霍尔传感器功耗相对要大,成本要高。 随着成本的逐渐减低,将来霍尔传感器有取代双干簧管的趋势。 双干簧管把流量信号转换成脉冲信号, 因此利用I/O口可以很方便地检测流量脉冲信号。 为了降低功耗, 检测电路的电源通过IO口进行控制。 由于气/水表的流量脉冲信号之间的间隔比较长, 因此可以采用定时查询来计数脉冲个数, 也可以接到键盘中断口利用中断方式检测。
下图为接口电路图。其中:PTB7 用做断线检测。 PTC0,PTC1用做流量脉冲的检测。
蜂鸣器电路
蜂鸣器电路如下:
结束语
由于LL16具有超低功耗, 内置LCD驱动及丰富的外围接口, 性价比高等特点, 因此非常适合于在水表 气表 中的设计应用。在本参考设计中, 系统功耗在LCD常亮的状态下, 大约为4.5uA。 在水表气表设计中, 如何降低功耗,是设计中的要点。
Freescale 将不断推出新的基于HCS08内核的系列单片机, 来满足低功耗市场应用的需求。 敬请光临Freescale公司网站 www.freescale.com , 获取最新产品信息, 或通过邮件联系本人: cherrish.liao@freescale.com 。
本文关键字:水表 嵌入式系统-技术,单片机-工控设备 - 嵌入式系统-技术