基于MSP430单片机的智能IC卡水表控制器

2019-07-27 17:27发布

摘要:介绍了一种以MSP430单片机为控制核心的IC卡水表控制器的设计方案。将微控制器和4442卡技术、I2C总线技术、流量计量技术及低压检测技术等相结合,实现了水表管理的高效率和智能化。详细介绍了该控制器的基本结构及各模块的软硬件设计原理。样机试验表明该智能水表控制器具有功能完善、计量准确及通信可靠等特点。
关键词:IC卡水表;4442卡;I2C总线;MSP430

0 引言
    随着IC卡应用的普及,利用IC卡实现“预付费方式”的水费管理成为可能。目前的电子水表按照抄表的方式主要可以分为网络式和分立式。由于在某些场合需要对旧的水表系统改造,如果采用网络式抄表方式需要进行抄表线路的铺设,这给施工带来很大的问题。而分立式的IC卡水表收费系统则无需考虑这一问题,这为管理部门和用户提供了极大的便利。

1 硬件电路设计
    本控制器以MSP430单片机为控制核心。MSP430系列单片机是美国TI公司从1996年开始推向市场的一种16位RISC架构、超低功耗的混合信号处理器。电源采用1.8~3.6 V低电压、RAM数据保持方式下耗电仅0.1μA,活动模式下耗电250μA/MIPS,IO口漏电流仅为50 nA(一般单片机为1~10μA)。非常适合水、燃气、热、电表等电池供电设备的设计。单片机系统图如图1所示。系统整体电路方案如图2所示。

1.1 IC卡接口部分电路设计
    利用德国西门子SLE 4442卡与单片机进行通信,来完成对水表的控制、用户充值和查看水量等功能。IC卡接口电路便是IC卡与单片机连接的枢纽。本设计可兼容4442卡和T5557卡两种卡片。电路预留了单片机与IC卡的接口。可根据设计需要灵活选择卡片种类。SLE4442卡遵循I2C协议,读写时序与I2C相类似。
    一般说来,IC卡只要直接和单片机相连即可以应用,但是为了使设计更加稳定,在IC卡与单片机之间增加一些电阻以达到保护的目的。另外IO口和卡到位检测需要上拉电阻,以保证其可以正常操作。在水表的标准中要求水表要有防静电的功能,所以在IC卡座的设计上,加上TVS管保证在遭受静电后,此IC卡座仍能正常工作。
1.2 E2PROM电路的设计
    采用CAT24WC02芯片,它为2 Kb串行E2PROM,与400kHz I2C总线兼容,1.8~6.0 V工作电压范围,低功耗CMOS技术,具有写保护功能,当WP为高电平时进入写保护状态。页写缓冲器、自定时擦写周期为1 000 000编程/擦除周期,可保存数据100年。8脚DIPSOIC或TSSOP封装,温度范围分为商业级、工业级和汽车级。本系统利用存储芯片对水表中的数据进行存储。E2PROM中存储的数据掉电之后不丢失,这样就避免了由于掉电导致的数据丢失,可靠性较高。
1.3 电源检测电路设计
    电源检测电路主要是用来检测低压,当电源电压过低的时候,通过低压检测电路检测到,进行相应的操作,避免出现不必要的错误。具体工作原理如图3所示,当PWR_CHECK_EN为高电平时,此电路工作,此时,Q9导通,Q8的基极为低电平,VBAT端一直为高电平,Q8导通,WR_ CHECK脚的电压为R17和R20分压得到。之后,PWR_CHECK端的电压作为MSP430内部ADC的输入端,和1.5 V的电源相比较得到比较结果,确定是否为低压。电容的作用是防止电压突变引起的AD采样错误。PWR_CHECK_EN端口设置主要是为了低功耗设计,低压检测需要一定的时间间隔,当不需要检测的时候此端口置高,以节省功耗。

1.4 脉冲检测电路的设计
    MSP430F149单片机最多可以提供1路数字I/O接口,即P1~P7。MSP430单片机的I/O端口有8个管脚。每个I/O管脚都可以独立地设置为输入或者输出方向,并且每个I/O接线都可以被独立地读取或者写入。所有接口的寄存器都可以被独立地置位或者清零。MSP430系列单片机具有丰富的I/O口资源和中断资源,其中P1,P2端口是有中断能力的。本设计中可以利用P1,P2端口的中断能力来实现对脉冲的计量。利用中断来完成计量有利于节省单片机资源。

    脉冲检测电路如图4所示。利用4个呈环形均匀分布的干簧管进行脉冲计数,当有磁铁靠近干簧管时,**吸合。此时只要将干簧管的一端接地,一端接入单片机的I/O口,将单片机的I/O口设置为中断允许,随着叶轮的转动,基表中的磁铁也跟着转动,转过一圈之后,四个干簧管分别吸合,I/O口通过中断来完成4个计数,这样即可完成脉冲的计数。

2 软件设计
    软件主要涉及系统时钟配置、IC卡与单片机通信、低压检测程序、E2PROM相关程序、报警程序、阀门控制程序、液晶显示程序等,这里主要介绍脉冲检测和通信模块的程序设计。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。