基于单片机设计的IC卡水表
在我国,IC卡水表大约出现于20世纪90年代初期,经过10多年的快速发展已渐趋成熟。尤其是近几年,随着设计水平的提高及生产的规模化,在各大中城市中得到了越来越多的使用。 IC卡水表是集测控于一身的机电一体化产品,除了具备一般仪表所需的基本功能,还有其自身的特点。例如,对其必须采取防水防潮措施;再如IC卡水表必须具备低成本、低功耗、小外形及高精度的特点,即IC卡水表的四要素。在设计过程中必须基于此四要素进行设计,方能满足产品的实际应用要求。 1 IC卡水表的测控电路组成及软件设计 1.1 IC卡水表的测控电路组成
测控电路组成框图 考虑到低成本的要求,本系统主要芯片采用AT89C2051-12PI、PCF8564及AT24C01等。 其基本工作原理为:采用事件触发机制,即通常不上电,因此耗电只是PCF8563的休眠状态消耗,约250nA左右[1]。彩三类事件触发方式,即干簧管吸合时发生的“计数事件"、进行卡操作时发生的“插卡事件”及预置于日历时钟芯片的定时醒闹时发生的“定时事件”。当发生此三类事件时,测控电路自行上电,按预置的工作过程进行处理,结束后自行断电。根据居民的用水情况,需要测控电路工作的时间一般每日约0.3秒~1分钟不等。考虑到低功耗要求,采用事件触发机制是科学合理的。有些设计采用液晶长期显示方式,虽然理论计算寿命时功耗要求能够得到满足,但根据我国的实际运作情况,无进行长期显示的必要,显然此设计方式不足取,除非电池特性要求如此,如采用锂亚硫酰氯电池时。 1.2 软件设计
基本的软件功能框图 依上述三类事件的工作,要求测控板启动工作工作状态,帮程序首先判断是哪类事件发生并细化类型后分别处理。例如卡操作事件情况下,再次判断是何种功能卡要求操作等。 由于小型化及低成本的要求,程序未采用冗余量较大的C语言,而采用汇编语言进行编制,使程序代码控制在2K字节[2]之内,故可选用小外形及低成本的单片机。 个别大中型城市推出了梯级水价,梯级水价的计算在日历时钟芯片及存储器芯片的基础上主要由软件完成。在现有国情下,真正的大面积执行尚需时日。在执行梯级水价导致软件量增加时,可选用AT89C4051-12PI及AT24C16甚或AT24C256等芯片满足要求,菘它所有硬件设计均可不作更改。 |