MC9S08LL16 在水表气表中的设计应用

发布者:SparklingMelody最新更新时间:2015-04-23 来源: eechina关键字:MC9S08LL16  气表  水表 手机看文章 扫描二维码
随时随地手机看文章
MC9S08LL 系列是飞思卡尔最新推出的内置LCD 驱动,极低功耗的单片机。 非常适合于在水表气表中的设计应用。 本文介绍MC9S08LL16 在智能气表的设计应用。由于水表与气表的工作原理非常相似,本文也可适用于水表的设计。

MC908LL16的主要功能 
MC908LL16 是Freescale 基于HCS08 核的8 位单片机。具有极低功耗,内置LCD 驱动及丰富的外围接口。LL16 的主要特性如下: 

· 低工作电压1.8V-3.6V
· 最大总线频率10Mhz
· 内置琐频环电路FLL
· 16K FLASH程序空间
· 2K字节RAM
· 2个16位定时器
· 实时时钟计数器 TOD
· 8路12位A/D
· 模拟比较器
· 内置LCD驱动,可配置为8*24 或4*28模式
· 1个外部中断和8个外部键盘中断KBI
· 内部RC振荡器的看门狗
· 低电压检测电路LVI
· 1个SPI,I2C,SCI

MC9S08LL16的低功耗特性 

在水表气表中的应用中, 都是电池供电, 所以低功耗是设计中首要考虑的因素。系统功耗由两部分组成: 单片机本身的功耗和外部电路的功耗。 由于外部电路的功耗基本上是固定的,因此选用低功耗的单片机至关重要。LL16是目前业界功耗最低的单片机之一。 单片机本身的功耗包括正常运行时的功耗和睡眠时的功耗。 在水表气表中的应用中,单片机大部分时间工作于睡眠状态, 因此睡眠时的电流至关重要, 睡眠时的功耗主要决定系统的平均功耗。下图为LL16各种模式下的电流参数表: 









从表中看出, 睡眠3(STOP3 )模式的电流为 400nA, 睡眠2(STOP2 )模式的电流为 350nA。由于STOP2 与STOP3功耗相差不大,但是STOP2下可以保持工作的外设很少,并且从STOP2唤醒的条件严格得多,从STOP2唤醒后,程序也会从复位处重新执行,且所有寄存器设置会回到默认状态,在实际应用中没有STOP3模式方便, 因此建议采用STOP3模式。 

在水表气表中的应用中, 进入睡眠时, LCD屏需要常亮, 外部32.768 kHz的晶振不能停振,因为TOD模块采用外部32.768 kHz的晶振作为时钟源实现软时钟。 把这些模块的功耗考虑进去, 那么进入睡眠状态时, LCD常亮, TOD模块工作(定时唤醒MCU),外部32.768 kHz的晶振工作, MCU本身的功耗仅为2uA左右。 

另外有一个参数对系统功耗的影响也非常重要, 即从睡眠模式唤醒的时间。 唤醒时间越短越好, 因为唤醒的过程中, 功耗会比较大。 LL16从睡眠3(STOP3 )模式唤醒的时间非常短, 只有6uS, 大大低于业界的大部分同类产品。 

下面将以LL16在预付费IC卡气表中的应用为例, 介绍各模块的使用。[page]

IC卡气表的原理框图  

下图为预付费IC 卡气表的原理框图:  




电源电路 

气表和水表采用电池供电,气表一般采用碱性电池或锂电池。 如果采用碱性电池,一般使用四节。 因此电池电压需经LDO降压到3V供给MCU。 由于IC卡工作电压有5V或3V的,如果采用工作电压为5V的IC卡, 电池电压需经另一LDO降压到5V供给IC卡。 

在水表普遍采用锂电池供电, 锂电池电压可以不需需经LDO降压直接供给MCU,因为LL16工作电压范围为1.8V-3.6V. 


晶振电路 

LL16内部有琐频环电路(FLL)可以把MCU运行的总线频率倍频上去, 最高可以倍频到20Mhz。 同时LL16内部有RC振荡器, 校准后的精度可以达到±2%(±2%为全温度范围的最大误差。常温下该精度为±0.2%)。 由于在大部分设计中使用软时钟而省去外部的专用RTC芯片以节省时间成本, 所以选择外接32.768k的晶振,以保证时钟的精度。时钟模块的初始化程序如下: 

void ICS_init(void) 


ICSC1 = 0x00; 
ICSC2 = 0x47; 
ICSSC_DRST_DRS=0; 
while((ICSSC & 0xC0) != 0x00) { } 



EEPROM接口电路 

由于在气表水表应用中,需要不断地保存信息,例如:时间,当前用气/水量,剩余用气/水量等。因此需要EEPROM来保存这些数据。LL16的FLASH可以自我擦写,可以用来模拟EEPROM. 需要注意的是LL16 FLASH的擦写次数有限,常温下为10万次. 如果需要更多的擦写次数, 需要外接EEPROM。下面以外接24LC64为例介绍它的接口应用, 硬件接口电路如下: 



为了降低功耗, 24LC64的电源通过I/O口 PTB6控制。当需要读写24LC64时,PTB6输出高电平, 给24LC64供电,否则输出低电平, 关闭24LC64的电源。

IC卡接口电路 

在气表应用中,根据存储介质的不同有CPU卡,IC卡,RF卡等。由于IC卡具有保密性强, 数据容量大,使用方便, 成本低等特点, 因此在预付费卡表普遍应用。 目前普遍采用的是SLE442。 这里以SLE4442为例,介绍IC卡如何与LL16进行接口及操作。SLE4442内置256字, 具有写保护和安全代码可编程等特点。 由于LL16工作在3V, 如果采用5V工作的SLE4442,需要电平转换。下图为LL16 与5V工作的SLE4442的接口电路图, 如果采用3V工作的SLE442卡, 则可省去电平转换电路。 




PTA1,A2与数据线DATA相连, PTA0与时钟线CLK相连, PTC7与复位脚RST相连。 PTA3控制SLE4442的电源。 对SLE4442的操作主要包括读写SLE4442的主存储器, 保护区存储器和安全区存储器。 对SLE4442写操作之前,必须先进行安全认证。 如果连续三次认证失败, 则IC卡被作废, 再也无法使用。PTA5,A4用于插卡检测, 检测IC卡是否插入卡座。 可以采用定时查询的方式或中断方式。 [page]

下面以读主存储器起始地址为0x20的3个字节为例说明它的编程: 


/************* main function ************/
void main (void)
{
unsigned char buffer;
//read main memory at address 0x20. 21, 22, and stored at buffer
Read_4442_main_memory(0x20, 3, buffer);
}
// read main memory function
void Read_4442_main_memory(unsigned char Address, unsigned char number, unsigned
char *data)
{
unsigned char command;
command[0] = 0x30;
command = Address;
send_SLE4442_Command(command);
send_SLE4442_Data(number, data);
}

电池电压检测 

由于气表采用电池供电, 因此需对电池电压进行监测, 在电池耗尽之前, 报警提醒用户更换电池。 虽然LL16内部有掉电检测电路LVI, 但使能该模块将消耗较大的电流, 所以不宜采用。 可以利用LL16内部模拟比较器或A/D模块监测电池电压,A/D模块或内部模拟比较器会消耗一定的功耗, 为了降低功耗, 可以采用定时检测的方法, 因为电池电压是缓慢下降的。

在水表中, 如果采用锂电池直接供电, 这里介绍一种简便的方法用于电池电压检测:在LL16的内部集成一个1.17V的带隙基准电压,此带隙基准电压内部连接到ADC的输入通道AD27; 因此可以不需要任何外部电路,AD模块只需定时采样此基准电压,由此可换算出电池电压。 

这种方法的好处是,不需要外部任何器件, 既节省成本又节省空间,而且可以获知当前准确的电池电压。它的原理如下: 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 卡座, 流量脉冲计数,以及电池电压检 

测等。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的对比度不受影响, 这一点对水表设计非常有用。[page]
· 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。 在水表气表设计中, 如何降低功耗,是设计中的要点。
关键字:MC9S08LL16  气表  水表 引用地址:MC9S08LL16 在水表气表中的设计应用

上一篇:在微处理器复位IC中调节滞回
下一篇:多核处理器设计九大要素

推荐阅读最新更新时间:2024-03-16 13:59

世强携汽车、水表等实用创新型设计方案 为慕尼黑上海电子展再添精采
2013慕尼黑上海电子展(ePC)于3月21日于上海浦东新国际博览中心圆满落幕,以4万多平的展示规模,在三天的时间里接待了近5万名来自各电子行业的专业观众。如何在展商云集的电子盛会中脱颖而出,博得观众的青睐与肯定,是所有展商们在开展前就一直思索的事情。无论以噱头博眼球,还是拼实力霸气,不可否认,今年的ePC确实热闹非凡。 在众多的展示厂商中,世强用兼具实用与创新的设计方案,为自己打造了一道独特的景观。 从世强的展示现场可以看到面向工业、消费、通信、汽车、手机以及测试仪器等几大应用市场的展示区,各展示区内,皆陈列了丰富的器件产品。 20年的技术分销经验,让世强除了能荟萃了多家全球领先的半导体厂商的最具独特优势和竞争力的产品外
[工业控制]
世强携汽车、<font color='red'>水表</font>等实用创新型设计方案   为慕尼黑上海电子展再添精采
新型蓝牙方案出炉!设计要诀在这里
目前市场上越来越多的智能水/气/热表选用瑞萨的主平台,从性能、可靠性和整体成本来说,世强代理的瑞萨MCU和SOC的方案确实有优势,详见以下分析: 图1:基于瑞萨MCU/SOC的世强智能水/气/热表方案 如上图所示为基于瑞萨R7F0C002/R7F0C019/R7F0C004的世强智能水/气/热表解决方案的原理框图,包括以下功能模块: 采用3.6V锂电池直接供电,且具电池低电压检测指示功能 ; 蜂鸣器报警控制; 实时时钟指示,闰年自动翻转; 内置LCD驱动,支持多种驱动方式; 阀门堵转检测; 超低低功耗设计; 具内部硬件乘除法器; 可扩展的通讯接
[安防电子]
新型蓝牙<font color='red'>气</font><font color='red'>表</font>方案出炉!设计要诀在这里
智能水表的应用现状及前景展望
   前言   智能水表是近年来以自动控制技术和信息网络技术为支撑,以信息化管理需求为依托而发展起来的高新技术产品,在实现城乡各级水务部门与用户建立信息化服务与沟通的渠道中得到广泛应用,在实现管理者和用户间的沟通与服务中起到承上启下的作用,是二者间实现互动交流的平台。    1 智能水表的应用现状   1. 1 智能水表的分类   基于智能水表的信息化和网络化的应用,它已不是传统意义上的“水表”概念,取而代之的是以“系统”、“集成”的理念来认识和发展智能水表。为了对智能水表的发展有一个较为全面的认识,首先对远程集抄和卡式智能水表的应用现状作一个概述,以探讨现行方式中可能存在的问题,为智能水表的未来发展方向提供一个坐标或起点
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved