打印

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

[复制链接]
2078|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
51xlf|  楼主 | 2012-10-20 22:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要:介绍了一种以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相关程序、报警程序、阀门控制程序、液晶显示程序等,这里主要介绍脉冲检测和通信模块的程序设计。

相关帖子

沙发
51xlf|  楼主 | 2012-10-20 22:30 | 只看该作者
2.1 脉冲检测程序
    脉冲检测部分是水表的重要组成部分,主要用作流量的计量,水表的整个换算体系都是以此为基础的,流量汁量是衡量水表性能的重要标志。脉冲检测的原理是:当有磁铁靠近干簧管的时候,干簧管的**吸合。根据当四个干簧管分别吸合一次,即表示水流过一圈(在本程序中设定当流过五圈表示1 m3水量),由此可以得到用水量。此时将累计用水量加1,并存入到E2PROM中。具体流程图如图5所示。

2.2 通信模块程序设计
    SLE 4442卡主要包括三个存储器:256×8位E2PROM型主存储器(地址0~31为保护数据区、32~255后24字节为应用数据区,该区数据读写不受限制,擦除和写入受加密存储器数据校验结果影响)、32×1位PROM型保护存储器(一次性编程以保护主存储器保护数据区,防止一些固定的标识参数被改动,保护存储器同样受加密存储器数据校验结果的影响)、4×8位E2PROM型加密存储器。读卡和写卡流程如图6和图7所示。


3 结论
    本文讨论了以MSP430单片机为控制核心的IC卡智能水表控制器的设计方案,该控制器具有水量计量、换算充值、各种异常的检查等功能,并带有RF和M-Bus抄表的扩展接口。该系统实现了用水收费的电子化和智能化,改变了先用水后收费的不合理状况,促进了用水计量、收费的科学化管理。该装置具有操作简单、低功耗、方便、可靠等特点,具有良好的推广使用前景。

使用特权

评论回复
板凳
shenmu2012| | 2012-10-22 18:37 | 只看该作者
以MSP430单片机为控制核心的IC卡水表控制器的设计方案虽说网上也很多的,在这我还是好好的学习下啊

使用特权

评论回复
地板
lasbell2012| | 2012-10-22 20:22 | 只看该作者
我也可以好好学习了

使用特权

评论回复
5
NJUPT0902| | 2012-10-24 15:20 | 只看该作者
不知是否可以分享一下代码

使用特权

评论回复
6
NJUPT0902| | 2012-10-24 15:21 | 只看该作者
不知是否可以分享下代码

使用特权

评论回复
7
gibenlin| | 2012-10-24 17:42 | 只看该作者
求代码

使用特权

评论回复
8
vivilzb1985| | 2012-10-25 16:16 | 只看该作者
单片机做这个水表的,资源还是够用的啊

使用特权

评论回复
9
fighting12| | 2015-5-30 20:21 | 只看该作者
请问会不会msp430的hx711程序????求指点

使用特权

评论回复
10
玛尼玛尼哄| | 2015-5-30 21:58 | 只看该作者
单片机做这个水表的,资源还是够用的啊

使用特权

评论回复
11
598330983| | 2015-5-31 23:04 | 只看该作者
如果水流的很慢可以测出来那?比如滴水

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

535

主题

9633

帖子

23

粉丝