打印

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

[复制链接]
1471|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
51xlf|  楼主 | 2013-3-5 23:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 51xlf 于 2013-3-5 23:35 编辑

摘要:本文介绍了一种以MSP430单片机为控制核心的IC卡水表控制器的设计方案。将微控制器和4442卡技术、I2C总线技术、流量计量技术及低压检测技术等相结合,实现了水表管理的高效率和智能化。
  
  引言
  
  随着IC卡应用的普及,利用IC卡实现“预付费方式”的水费管理成为可能。目前的电子水表按照抄表的方式主要可以分为网络式和分立式。由于在某些场合需要对旧的水表系统改造,如果采用网络式抄表方式需要进行抄表线路的铺设,这给施工带来很大的问题。而分立式的IC卡水表收费系统则无需考虑这一问题,这为管理部门和用户提供了极大的便利。
  
  1、硬件电路设计
  
  本控制器以MSP430单片机为控制核心。MSP430系列单片机是美国TI公司从1996年开始推向市场的一种16位RISC架构、超低功耗的混合信号处理器。电源采用1.8~3.6V低电压、RAM数据保持方式下耗电仅0.1μA,活动模式下耗电250μA/MIPS,IO口漏电流仅为50nA(一般单片机为1~10μA)。非常适合水、燃气、热、电表等电池供电设备的设计。单片机系统图如图1所示。系统整体电路方案如图2所示。

  
  1.1IC卡接口部分电路设计
  
  利用德国西门子SLE4442卡与单片机进行通信,来完成对水表的控制、用户充值和查看水量等功能。IC卡接口电路便是IC卡与单片机连接的枢纽。本设计可兼容4442卡和T5557卡两种卡片。电路预留了单片机与IC卡的接口。可根据设计需要灵活选择卡片种类。SLE4442卡遵循I2C协议,读写时序与I2C相类似。
  
  一般说来,IC卡只要直接和单片机相连即可以应用,但是为了使设计更加稳定,在IC卡与单片机之间增加一些电阻以达到保护的目的。另外IO口和卡到位检测需要上拉电阻,以保证其可以正常操作。在水表的标准中要求水表要有防静电的功能,所以在IC卡座的设计上,加上TVS管保证在遭受静电后,此IC卡座仍能正常工作。
  
  1.2E2PROM电路的设计
  
  采用CAT24WC02芯片,它为2Kb串行E2PROM,与400kHzI2C总线兼容,1.8~6.0V工作电压范围,低功耗CMOS技术,具有写保护功能,当WP为高电平时进入写保护状态。页写缓冲器、自定时擦写周期为1000000编程/擦除周期,可保存数据100年。8脚DIPSOIC或TSSOP封装,温度范围分为商业级、工业级和汽车级。本系统利用存储芯片对水表中的数据进行存储。E2PROM中存储的数据掉电之后不丢失,这样就避免了由于掉电导致的数据丢失,可靠性较高。
  
  1.3电源检测电路设计
  
  电源检测电路主要是用来检测低压,当电源电压过低的时候,通过低压检测电路检测到,进行相应的操作,避免出现不必要的错误。具体工作原理如图3所示,当PWR_CHECK_EN为高电平时,此电路工作,此时,Q9导通,Q8的基极为低电平,VBAT端一直为高电平,Q8导通,WR_CHECK脚的电压为R17和R20分压得到。之后,PWR_CHECK端的电压作为MSP430内部ADC的输入端,和1.5V的电源相比较得到比较结果,确定是否为低压。电容的作用是防止电压突变引起的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|  楼主 | 2013-3-5 23:34 | 只看该作者
2 软件设计  软件主要涉及系统时钟配置、IC卡与单片机通信、低压检测程序、E2PROM相关程序、报警程序、阀门控制程序、液晶显示程序等,这里主要介绍脉冲检测和通信模块的程序设计。
  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抄表的扩展接口。该系统实现了用水收费的电子化和智能化,改变了先用水后收费的不合理状况,促进了用水计量、收费的科学化管理。该装置具有操作简单、低功耗、方便、可靠等特点,具有良好的推广使用前景。

使用特权

评论回复
板凳
firstblood| | 2013-3-6 20:17 | 只看该作者
只能IC卡水表,很好的项目的,现实中应用也是非常广泛的

使用特权

评论回复
地板
firstblood| | 2013-3-6 20:18 | 只看该作者
脉冲检测部分是水表的重要组成部分,主要用作流量的计量,水表的整个换算体系都是以此为基础的,流量汁量是衡量水表性能的重要标志。然后用单片机来接触采集该脉冲信号并处理的就OK啦

使用特权

评论回复
5
readygo2012| | 2013-3-6 23:29 | 只看该作者
这智能化IC卡水表控制器设计过程说的挺透彻的,这设计有前景

使用特权

评论回复
6
雁舞白沙| | 2013-3-8 16:43 | 只看该作者
4442?

好像听说不让用了,应该更换卡类型了!

使用特权

评论回复
7
770907690| | 2013-3-8 17:44 | 只看该作者
MSP430F149、MSP430F147都是很常用、主流的表类主芯片

使用特权

评论回复
8
comeon201208| | 2013-3-9 16:12 | 只看该作者
利用4个呈环形均匀分布的干簧管进行脉冲计数,当有磁铁靠近干簧管时,**吸合。此时只要将干簧管的一端接地,一端接入单片机的I/O口,将单片机的I/O口设置为中断允许,随着叶轮的转动,基表中的磁铁也跟着转动,转过一圈之后,四个干簧管分别吸合,I/O口通过中断来完成4个计数,这样即可完成脉冲的计数。

使用特权

评论回复
9
comeon201208| | 2013-3-9 16:13 | 只看该作者
智能IC检测水表的设计难点应该在脉冲检测电路的设计及信号处理上的

使用特权

评论回复
10
tianm| | 2013-3-9 17:16 | 只看该作者
还有低功耗设计

使用特权

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

本版积分规则

534

主题

9374

帖子

20

粉丝