0?引?言?
??? 随着信息技术的不断发展,人类的生产、生活方式都发生着日新月异的变化,在许多与日常生活紧密相关的领域,都采用了基于IC卡的管理方式.如今,IC智能卡自动电表抄表系统,煤气、自来水表系统,公交、地铁自动售票检票系统,移动通信手机中IC智能SIM?卡等,已成为生活的一部分.?
??? 给出一种低功耗智能IC卡冷水表的设计方案与实现方法,实现的水表具有水量显示、水量累计,电磁阀控制,操作记录,防强磁场干扰,防拆,欠压报警等功能,是一种取代旧式机械水表且具有推广应用价值的产品.?
1?智能IC卡冷水表的结构设计与功能设计
1.1?智能IC卡冷水表结构设计?
??? 低功耗智能IC卡冷水表,主要由控制单元,输入单元,输出单元,?监视/存储单元,执行部件组成,其中控制单元采用PIC16F73?E?单片机实现,输入单元由流量传感器、SLE4442IC卡、按键组成,输出单元由专用液晶模块构成,监视/存储单元由X5O43和ADS1302实现,执行部件为低功耗电磁阀,整个水表结构框图如图?1?。
1.2?智能IC卡冷水表功能设计
(1)根据用户购水量以及消耗情况,执行开关阀动作
??? 用户将购买一定水量的IC卡插入水表卡座时,水表系统首先自动识别IC卡的有效性,然后读取卡上的水量数据,并自动打开电磁阀,进行供水,当所购水量消耗完毕以后,自动关阀停水.
(2)欠压报警?
??? 水表电池电源低于某一阈值时,自动关阀并报警,提示用户更换电池.?
(3)提供用户查看累计水量,剩余水量,总水量信息?
??? 通过LCD显示模块显示信息,满足用户实际需要.?
(4)加密功能
??? 保证一卡一表,对IC卡及表内信息进行加密,避免非法使用.?
(5)防强磁场干扰?
??? 水表流量传感器利用干簧管进行水量计数,为了防止外界强磁场的干扰造成水量计数失常,设计过程中利用双干簧管防止磁场攻击.?
(6)防拆功能?
??? 用户私自拆卸水表,导致水表电磁阀自动关闭,无法正常用水,同时记录用户的拆卸时间,以备查验.?
(7)水量消耗计数、累计以及提示功能?
??? 用户每次充值时,水表对总消耗水量自动累计并保存,对用户日常生活的水量消耗实时记录.同时,当用户可用水量低于2?t时,提示用户充值,以免给生活带来不便.?
(8)操作记录功能?
??? 对用户插卡、拆表等操作以及操作时间进行记录,以备查验.
?
2?智能IC卡冷水表硬件设计?
根据功能需求设计的水表硬件原理图如图2,各部分具体介绍如下.
(1)IC卡接口?
??? IC卡采用西门子SLE4442卡,其接口如图2?IC卡卡座部分,其中RB2对应IC卡I/O管脚,RBI对应IC卡CLK管脚,RB3对应IC卡RST管脚,L1对应IC卡VCC管脚,RB5为单片机休眠唤醒信号,即插卡后唤醒系统读卡.?
(2)LCD液晶显示接口?
??? 水表采用专用液晶模块SMSO7O8PIC16FT3的RAO、RA4、RA2管脚分别与SMS0708的DI、CLK、CS管脚连接,驱动该模块.?
(3)电磁阀控制?
??? 电磁阀采用可360。旋转的球形低压电磁阀,它具有开、关到位自动断电的功能,这样不仅可以降低系统功耗,而且接口电路设计简单,如图2电磁阀控制信息部分所示,其中L2为关阀控制信号线,L3为开发控制信号线.?
(4)脉冲计数与防磁功能?
??? 流量检测传感器会根据用户用水情况,触发水表干簧管接通或者断开,形成有效计数信号,引起RB7端口电平变化中断,从而实现计数.
??? 防磁功能通过辅助干簧管实现,在强磁场干扰下,辅助干簧管与计数干簧管同时闭合,使得关阀信号L2有效,关闭水表电磁阀,直到磁场消失恢复正常工作.由于PIC16F73中断资源有限,计数干簧管与辅助干簧管输出信号通过或门连接起来,或门输出直接连接至L2.正常情况下两个干簧管先后闭合,不会导致电磁阀非法关闭,如有磁场干扰,则它们同时闭合,电磁阀关闭.?
(5)欠压报警功能?
??? X5043是带有4K?串行E?zPEOM?的电源监视芯片,利用其电源监视功能实现欠压报警,当系统电源降到设定电压(可编程设定)后,RB4出现电平变化,引起中断唤醒系统,随后系统将RC4置为低电平报警并关阀,提示用户更换电池.电路如图2X5043部分所示,其中RB2为分时共用管脚.?
(6)时钟电路?
??? 操作记录少不了对时间以及日期的记录,本系统时间信息的获取通过低功耗SPI接口的时钟日历芯片DS1302完成,DS1302接口电路部分如图2,其中RA3、RA5配置为输出管脚,RA4根据信息读写方式,配置为输入/输出管脚.?
(7)防拆功能电路?
??? 系统巧妙的利用了水表被拆前后一些关键部件的位置改变,在其部位放置特制的开关,利用开关触发系统外部中断RB0,从而引起系统报警及操作记录,电路如图2防拆开关部分所示.一旦检测到用户拆表行为,水表就会停止工作,这种情况下需要专门功能的IC卡,才能使系统恢复正常.?
(8)水表信息查看功能电路
?
??? 本功能由用户按键开关和LCD显示电路构成,用户按键触发RB6电平变化中断,唤醒系统,此后用户每按一下键,系统显示一种信息,直到用户停止按键一段时间,系统恢复休眠状态.显示信息包括剩余水量,累计水量,总水量等.按键电路如图2用户按键部分.?
3?智能IC冷水表软件设计?
??? 应用软件采用前后台工作方式,后台主程序负责对水表外设操作请求进行处理,在没有请求操作时进入休眠状态,前台中断服务程序负责在有相应操作请求时唤醒主程序,并置位相应的操作类型标志,以便主程序处理.?
软件流程图如图3、4.?
??? 中断服务程序根据操作请求类型,置位相应的标志位,共有5种操作请求,分别为欠压关阀、拆表关阀、按键显示、水量计数、IC卡操作.当主程序被RB改变中断(按键、插卡、欠压、水表流量计脉冲)或者外部中断(拆表)唤醒后,检查相应的操作请求标志,如果置位,则进行相应操作,否则循环一定次数,进入休眠状态.当系统欠压后,则程序进入间歇报警循环,不再对外界事件响应.?
??? IC卡操作包括IC卡验证、水量充值、低水量信息提示解除功能.所谓低水量信息提示,即当可用水量低于某一预设值时,水表自动关阀提示用户充值,以免给生活带来不变.由于水量未到零,所以允许用户继续使用,此时只需插卡一次解除提示.IC卡操作会引起电磁阀状态改变.
??? 按键显示功能,根据按键的次数循环显示当前剩余水量、累计消耗水量、总水量信息。用户每消耗10L水,计数操作将水量信息减1,消耗水量加1,并将改变后的信息写入?.值得注意的是计数操会引起电磁阀状态改变.
4?水表的低功耗设计
??? IC卡水表使用器件均为低压、低功耗器件·此外,为了降低系统功耗,主程序进行了优化,当只有计数操作请求时,且计数后电磁阀状态不需要改变,则主程序直接进入休眠状态.同时,为了降低用户长时间停用水时,干簧管处于常闭状态造成的系统能耗,RB7端口接有1?M上拉电阻.由于水表大部分时间处于休眠状态,并且对操作频率较高的计数操作进行了优化,整个系统功耗很低,2节3?V,2.8?Ah的电池供电,水表工作时间在10年以上.经测试,水表进入休眠状态后,在干簧管没有闭合的情况下消耗电流为1.2?A,在干簧管闭合的情况下消耗电流为13?A;插卡时消耗电流为1.5?mA;水压1?MPa时电磁阀动作消耗的电流为50?mA,动作时间约为4?S.
5?结论?
??? 介绍了一种基于PIC16F73单片机的低功耗智能IC卡冷水表的实现方法,该方法实现的智能冷水表具有水量显示、水量累计,电磁阀控制,操作记录,防强磁场干扰,防拆,欠压报警等功能,经过实际测试性能指标能够满足应用要求.目前,该方法实现的水表已投入实际应用,得到用户的肯定.