基于SAM模块的CPU型IC卡燃气表的设计
时间:10-29
来源:作者:强英
点击:
3.4 电源电路
如图3所示,电源分为2路,一路是3节电池经过3V稳压后,由VCC给CPU等供电;另一路不稳压,由VDD给开关阀门电路供电。2路分别使用各自的法拉电容,互不干扰,保证了掉电时阀门的可靠关闭以及数据传输到SAM模块的可靠保存。
电源电路提供了3.3V、3V的电池电压检测机制,电压分压后进入单片机的A/D转换输入端,单片机按照固定时间间隔检测1次电压,当发现低于3.3V时LCD显示低压告警;低于3V时则关闭阀门。此外,电源电路还提供了电池拔去或短路检测电路。当出现此类情况时,9015的集电极变高,以外部中断的方式激活单片机,使单片机及时关闭阀门。配合BAT54双二极管,达到了防止电池短路攻击行为的目的。
为了防止从电池接线端子进行的高电压攻击,配置了TVS管和200mA的可恢复保险丝。再结合IC卡口的保护,保证了本燃气表的自身安全。
3.5 看门狗电路
在有大容量电容的供电电路中,电源充放电速度缓慢,普通的RC复位电路经常不能产生正确的复位。在用户的正常使用过程中,更不允许燃气表死机的情况出现。为此采用74HC14设计了兼有上电复位、看门狗、低功耗低成本的振荡器型的复位、监控电路(低成本看门狗电路),如图4所示。图中,30kΩ电阻配合104电容及二极管,组成RC上电复位;在3V工作电压时,该看门狗清除时间间隔必须小于0.9秒。本设计的燃气表中,CPU每0.5秒唤醒1次,以检测并累计燃气脉冲,同时发出高电平宽度为20μs的清狗脉冲。另外,74HC14的其他门还用于燃气脉冲的整型电路和IC卡座时钟线的隔离电路中。
3.6 控制阀驱动电路
燃气阀门采用了专门设计的低功耗自保持阀门,只有在开关过程中耗电,平常不耗电。电磁阀驱动电路如图5所示。开关电压最低要求2.5V,开阀时最大电流约120mA,最大时间2秒;关阀时消耗电流最大为100mA,最大时间1秒。开阀有到位检测开关,如果开阀超时,则CPU发出阀门故障报警信号,同时关闭阀门。阀门驱动电路采用了0.22ΩF/5.5V电容的单独供电电源VDD(见图3),以保障开关阀门成功。
3.7 IC卡接口电路
IC卡接口直接执行人机交互,最有可能受到有意或无意的损坏,最常见的现象是短路、高压串入,因此接口电路必须具备完善的保护功能。IC卡座及保护电路如图6所示。CPU发现IC SWITCH为低电平后,知道有卡插入,则启动3.58MHz晶体振荡,输出-IC PWR CTRL低电平,给卡座供电,随后经过5ms延时再从IC VCC端检查卡座的电源是否准确。这可以用单片机的A/D转换器检测,如果电压太低,立即关闭供电放弃读卡。每一根信号线上具有由正温度系数热敏电阻(MZ12A-75S102M008,阻值为1000Ω,动作电流16mA)和嵌位二极管(1N4148)构成的限流限压保护电路,以防止外部高压串入。因电源线上阻值不能太大,热敏电阻要单独选取,故选择MZ12A-3R5N010(阻值为3.5Ω,动作电流200mA)。
3.8 开盖检测电路
如图7所示,S1是一个簧片,在燃气表出厂表壳盖上时是闭合的,当燃气表被打开表盖时,S1断开。图7中左、右2个电路虽然都能检测到开盖,即开盖时"开盖检测"端子都有电平变化,但左边电路的功耗明显比右边电路的功耗大。首先,由于CPU的输入管脚允许有最大3μA的漏电流,200kΩ的电阻不能再增大阻值,否则会影响高低电平的判断。设VCC=3V,左边的静态电流为3V/200kΩ=15μA,右边的静态电流为3V/1MΩ=3μA,其电流是前者的1/5,故本设计采用右边的电路。CPU在每0.5秒唤醒时间内检测"开盖检测"端子,一旦发现开盖,将关闭阀门、报警、并记录一次开盖事件到SAM模块中。
3.9 报警及LCD显示电路
uPD789167单片机以串行通信的方式驱动LCD模块实现显示,但LCD平常不显示时断开电源以节省电能。另外,设置有蜂鸣器报警电路,以便在刚发现故障时提醒用户。
4 低功耗设计技术
本燃气表的设计是:不旦要有CPU保持实时时钟走时、带看门狗,而且功耗要很低(平常的工作电流略大于30μA),为此采用了如下一些措施,以保证本机的低功耗运行。
4.1 采用低功耗的器件
本设计中尽可能采用低功耗器件,如3V稳压器采用了理光的低功耗产品;采用低功耗的可自保持的阀门,只有在开关过程中才会耗电。
4.2 采用低耗电的电路设计
(1)电池电压降至3V后才给CPU及其他外围电路供电,使芯片工作于低电压时消耗电流较少。
(2)SAM模块和IC卡座平常断电,只在读写认证时才供给电源。
(3)在不影响CPU电平判断的情况下,使用大一些的电阻(如开盖检测和电池检测电路中)。
脉冲采样电路也只在有脉冲时瞬间耗电。
4.3 软件配合实现低功耗
(1)让单片机尽量低速工作,软件只在访问SAM模块及CPU IC卡时才让3.58MHz的晶体振荡,平时只用32kHz的晶体就可以完成工作。
(2)合理配置CPU的各个管脚,输出脚输出合适电平,使平常不输出或吸入电流;输入脚平常一般不用内部上拉电阻而用外部电阻,因为内部上拉电阻较小,掩模时典型值为30kΩ,当输入低电平时耗电较多;CPU多余的管脚设置为输出模式,且输出低电平。
(3)CPU在32kHz晶体下工作时,处于HALT模式,每0.5秒时间到、或中断唤醒一次,软件检查几个中断标志、计数、走时、清狗后立即转入HALT睡眠,从而有效节省电能。
如图3所示,电源分为2路,一路是3节电池经过3V稳压后,由VCC给CPU等供电;另一路不稳压,由VDD给开关阀门电路供电。2路分别使用各自的法拉电容,互不干扰,保证了掉电时阀门的可靠关闭以及数据传输到SAM模块的可靠保存。
电源电路提供了3.3V、3V的电池电压检测机制,电压分压后进入单片机的A/D转换输入端,单片机按照固定时间间隔检测1次电压,当发现低于3.3V时LCD显示低压告警;低于3V时则关闭阀门。此外,电源电路还提供了电池拔去或短路检测电路。当出现此类情况时,9015的集电极变高,以外部中断的方式激活单片机,使单片机及时关闭阀门。配合BAT54双二极管,达到了防止电池短路攻击行为的目的。
为了防止从电池接线端子进行的高电压攻击,配置了TVS管和200mA的可恢复保险丝。再结合IC卡口的保护,保证了本燃气表的自身安全。
3.5 看门狗电路
在有大容量电容的供电电路中,电源充放电速度缓慢,普通的RC复位电路经常不能产生正确的复位。在用户的正常使用过程中,更不允许燃气表死机的情况出现。为此采用74HC14设计了兼有上电复位、看门狗、低功耗低成本的振荡器型的复位、监控电路(低成本看门狗电路),如图4所示。图中,30kΩ电阻配合104电容及二极管,组成RC上电复位;在3V工作电压时,该看门狗清除时间间隔必须小于0.9秒。本设计的燃气表中,CPU每0.5秒唤醒1次,以检测并累计燃气脉冲,同时发出高电平宽度为20μs的清狗脉冲。另外,74HC14的其他门还用于燃气脉冲的整型电路和IC卡座时钟线的隔离电路中。
3.6 控制阀驱动电路
燃气阀门采用了专门设计的低功耗自保持阀门,只有在开关过程中耗电,平常不耗电。电磁阀驱动电路如图5所示。开关电压最低要求2.5V,开阀时最大电流约120mA,最大时间2秒;关阀时消耗电流最大为100mA,最大时间1秒。开阀有到位检测开关,如果开阀超时,则CPU发出阀门故障报警信号,同时关闭阀门。阀门驱动电路采用了0.22ΩF/5.5V电容的单独供电电源VDD(见图3),以保障开关阀门成功。
3.7 IC卡接口电路
IC卡接口直接执行人机交互,最有可能受到有意或无意的损坏,最常见的现象是短路、高压串入,因此接口电路必须具备完善的保护功能。IC卡座及保护电路如图6所示。CPU发现IC SWITCH为低电平后,知道有卡插入,则启动3.58MHz晶体振荡,输出-IC PWR CTRL低电平,给卡座供电,随后经过5ms延时再从IC VCC端检查卡座的电源是否准确。这可以用单片机的A/D转换器检测,如果电压太低,立即关闭供电放弃读卡。每一根信号线上具有由正温度系数热敏电阻(MZ12A-75S102M008,阻值为1000Ω,动作电流16mA)和嵌位二极管(1N4148)构成的限流限压保护电路,以防止外部高压串入。因电源线上阻值不能太大,热敏电阻要单独选取,故选择MZ12A-3R5N010(阻值为3.5Ω,动作电流200mA)。
3.8 开盖检测电路
如图7所示,S1是一个簧片,在燃气表出厂表壳盖上时是闭合的,当燃气表被打开表盖时,S1断开。图7中左、右2个电路虽然都能检测到开盖,即开盖时"开盖检测"端子都有电平变化,但左边电路的功耗明显比右边电路的功耗大。首先,由于CPU的输入管脚允许有最大3μA的漏电流,200kΩ的电阻不能再增大阻值,否则会影响高低电平的判断。设VCC=3V,左边的静态电流为3V/200kΩ=15μA,右边的静态电流为3V/1MΩ=3μA,其电流是前者的1/5,故本设计采用右边的电路。CPU在每0.5秒唤醒时间内检测"开盖检测"端子,一旦发现开盖,将关闭阀门、报警、并记录一次开盖事件到SAM模块中。
3.9 报警及LCD显示电路
uPD789167单片机以串行通信的方式驱动LCD模块实现显示,但LCD平常不显示时断开电源以节省电能。另外,设置有蜂鸣器报警电路,以便在刚发现故障时提醒用户。
4 低功耗设计技术
本燃气表的设计是:不旦要有CPU保持实时时钟走时、带看门狗,而且功耗要很低(平常的工作电流略大于30μA),为此采用了如下一些措施,以保证本机的低功耗运行。
4.1 采用低功耗的器件
本设计中尽可能采用低功耗器件,如3V稳压器采用了理光的低功耗产品;采用低功耗的可自保持的阀门,只有在开关过程中才会耗电。
4.2 采用低耗电的电路设计
(1)电池电压降至3V后才给CPU及其他外围电路供电,使芯片工作于低电压时消耗电流较少。
(2)SAM模块和IC卡座平常断电,只在读写认证时才供给电源。
(3)在不影响CPU电平判断的情况下,使用大一些的电阻(如开盖检测和电池检测电路中)。
脉冲采样电路也只在有脉冲时瞬间耗电。
4.3 软件配合实现低功耗
(1)让单片机尽量低速工作,软件只在访问SAM模块及CPU IC卡时才让3.58MHz的晶体振荡,平时只用32kHz的晶体就可以完成工作。
(2)合理配置CPU的各个管脚,输出脚输出合适电平,使平常不输出或吸入电流;输入脚平常一般不用内部上拉电阻而用外部电阻,因为内部上拉电阻较小,掩模时典型值为30kΩ,当输入低电平时耗电较多;CPU多余的管脚设置为输出模式,且输出低电平。
(3)CPU在32kHz晶体下工作时,处于HALT模式,每0.5秒时间到、或中断唤醒一次,软件检查几个中断标志、计数、走时、清狗后立即转入HALT睡眠,从而有效节省电能。