设为首页   在线评论   推广技巧   发布求购   免费注册   激活帐号
一卡通世界
当前位置:一卡通世界 >> 技术文章 >> 节能控制 >> 非接触IC卡远传燃气表设计与实现

非接触IC卡远传燃气表设计与实现

来源:一卡通世界网      作者:吴叶兰 郑淑芳 陈红军 赵瑾      2014-6-30 16:26:27

  摘要:针对接触式IC卡智能燃气表存在的问题,根据燃气计量收费的要求和特点,设计了以低功耗单片机为控制核心,以非接触式IC卡为信息载体的IC卡预付费智能燃气表.系统针对传统预付费燃气表只具有单一IC卡数据传输功能,增加了数据远传通信方式;在计量方式上给出了气量计量和金额计量两种方式,有效克服了燃气计量管理中存在的弊端.分析了系统工作原理,利用低功耗设计原则给出了系统的软硬件设计,并设计了数据通信协议.本设计已在实际产品中得到成功应用.

  随着信息化时代的到来,城市管道燃气计量仪表的发展相对落后,大部分地区仍然采用传统的容积式燃气表,只能显示用户累计用气量;同时,我国燃气收费管理多数仍采用人工抄表方式,此方法工作量大、人力浪费严重、居民交费不方便、收费也不易管理、效率低、对欠费者难以限制.因此,预付费IC卡燃气表的研制成为一个研究热点[1-2].目前应用较为广泛的接触式IC卡智能燃气表存在的问题是IC卡卡槽不能做到完全封闭,容易受到厨房环境的污染,也容易受到外部攻击,影响燃气表的正常工作;同时数据传输仅靠IC卡来完成,存在一定的滞后现象[3-4].文献[5-6]保证了数据传输的实时性,但没有考虑当燃气价格变动时做到价格的实时调整.因此,本文在分析IC卡燃气表研究现状的基础上,针对当前燃气计量收费的要求和特点,设计了一种采用预付费机制的非接触IC卡智能燃气表,该设计能有效解决传统预付费IC卡燃气表数据传递实时性差、囤气现象、接触式IC卡槽易受攻击等问题,做到了燃气价格的实时更新.

  1 系统工作原理

  预付费燃气表收费系统主要由燃气表、数据传输网络以及数据中心组成.燃气表实现对用户用气量的计量、存储和传输.数据中心对接收的用户数据进行分析处理,实现数据的管理功能.为实现燃气表实时数据传输功能,本系统设计了两种数据传输方式:第一种是燃气表通过IC卡把用户数据传递给工作站数据库,工作站通过通信网络将数据传输到数据中心;第二种是燃气表可以采用RS-485总线与数据集中器相连,通过通信网络将数据传输到数据中心,该方式实现了燃气公司对燃气表的实时数据传输.本文主要讨论IC卡远传燃气表的设计及通信协议的设计.

  IC卡远传燃气表工作原理如图1所示.它以机械式燃气表为基表,由光电或霍尔元件采样将基表的气体流量信号送给单片机进行处理,单片机将该信号与表内燃气量或金额进行计算,并与设定报警值进行比较,当减至设定报警值后,将发出提示信号并关阀一次以提醒用户提前购气;当用户再次插入空卡时气表会重新恢复供气,直到剩余气量(或金额)为零关闭阀门.如果燃气公司设置该系统具有透支功能,则即使剩余气量(或金额)减为负数后,只要未达到系统设定的透支值,用户可继续用气,当用户重新购买燃气后,系统会自动减去已透支部分.由于在设计中加入了对金额的扣除功能,随着燃气供需关系的变化,可以在表内对用户的用气量进行费用阶梯计价,以及实时更新价格,有利于燃气资源的合理、有效使用.

 IC卡远传燃气表

图1 IC卡远传燃气表工作原理图

  2 系统硬件设计

  系统硬件电路包括低功耗单片机、计量传感器电路、阀门控制电路、卡座控制电路、电压测试电路、液晶显示屏、声音报警电路及通讯接口模块等.如图2所示.本系统低功耗单片机采用的是NEC公司的u78F0451[7],它是一款常用于家用电器、仪器仪表的高性价比单片机;电源模块采用3节碱性电池串联方式提供4.5 V 的电压,通过稳压芯片将4.5V的电压稳压到3.3V;计量模块采用双干簧管作为脉冲采集器件;低功耗单片机通过外围的计量模块、RF接口电路、阀门控制模块以及RS-485通讯接口模块等了解燃气表的运行状态,判断事件的发生并执行相应的动作,从而实现系统功能.

 IC卡燃气表

图2 系统硬件框图

  2.1 卡座控制电路设计

  由于接触式IC卡电路留有IC卡卡槽,不可能做到完全密封,很容易受到破坏;并且IC卡卡槽也容易受到厨房环境的污染,从而影响燃气表的正常工作.因此,本设计采用非接触IC卡作为数据载体,具有控制器全密封、实现耐环境、抗恶意攻击等优势.

  卡座控制电路采用MFRC522芯片[8]来实现.MFRC522是高度集成的非接触式(13.56MHz)读写卡芯片,支持ISO 14443A/MIFARE卡,可实现与各种不同主机的接口功能,如SPI,UART及I2C等.卡座电路如图3所示.

 非接触IC卡

图3 非接触IC卡接口电路

  MFRC522芯片与单片机采用SPI接口,单片机作为主机,MFRC522作为从机.单片机引脚P1.1(SCK),P1.2(MISO),P1.3(MOSI),P4.4(NSS)与MFPC522芯片的SPI引脚相连.为了降低系统功耗,电路采用了分时供电的方法:只有当检测到有IC卡靠近时,控制单片机引脚P2.1输出低电平,导通U7,为MFRC522芯片提供电源,其它情况下不为其提供电源.另外,该电路部分中的RF接口也通过控制单片机引脚P4.3的电平采用分时供电的方法,只有当需要检测是否有IC卡靠近时才为其提供电源,P1.4用来采样IC卡到位信号.

  2.2 阀门控制电路设计

  由于燃气表采用电池供电,对阀门的控制要求做到低功耗.阀门控制电路如图4所示,它由阀门驱动与反测阀门到位信号两部分构成.其中,Driv1和Driv2分别作为驱动阀门开和关的信号脚;单片机引脚P4.0和P4.1则用来控制电机接口中Driv1和Driv2的信号,实现阀门的开关;P2.4和P2.5分别作为阀门开和关到位信号输入引脚;P3.4为阀门控制模块供电,该模块同样采用了分时供电的方式,以降低功耗.

 阀门控制电路

图4 阀门控制电路

  对阀门控制电路的测试包括:测试当控制阀门打开或关闭的引脚有信号输出时,电机接口是否有电压;测试当阀门打开或关闭后是否有到位信号.

  3 数据通信协议设计

  本系统中数据的传输可以通过非接触式IC卡和RS-485总线两种方式来实现,要分别对这两种方式进行数据通信协议设计.

  3.1 IC卡通信协议设计

  IC卡片采用MIFARE 1卡,该卡有8kbit存储容量,16个扇区,每个扇区有4个数据块.每一块燃气表占用4个扇区,其中,第1、第2个扇区为指令区,第3、第4个扇区为返写区,如表1所示(见下页).卡片数据的读写都需要进行密码认证,使用KEY A进行密码校验,为6字节密码.

表1 卡片数据结构说明

卡片数据

  一套预付费燃气系统中卡的种类有很多种,主要有两大类:用户卡和管理卡.用户卡是消费者使用的卡片;管理卡是燃气公司管理时使用的卡片,一般包括参数设置卡、检查卡、退气卡、转移卡、校时卡、密钥修改卡等.每种卡片都有其用途,需要进行数据项定义,现以用户卡为例进行描述.

  用户卡由用户持有,用来完成缴费购气,首次购气的称为开户卡,购气卡中包含的数据有:分区号、用户号、报警值、充值限额、透支限额、最低消费额、购买值,如表2所示(见下页).通过购气卡返回的数据有:燃气表表号、剩余值、累计用气量、气表工作状态字及月用气量等.

表2 用户卡指令区数据项定义

用户卡指令区数据

  3.2 RS-485通信数据帧定义

  RS-485通信协议按照DLT645-1997通信协议执行,其传输帧格式为:帧起始符+控制码+数据长度域+数据域+校验码+结束符.

  在系统中,485通信帧包括抄收数据帧、参数设置帧、冻结指令帧、冻结数据抄收帧及阀门控制帧等.集中器在向燃气表发送命令帧前,首先发送三字节的EFH,用来唤醒燃气表中的单片机,之后接着发送命令帧.如果在20s之内没有收到燃气表的应答帧或接收到的应答帧错误,则集中器将再次发送命令帧.如果连发3次没有得到应答或应答错误,说明通信错误,集中器停止和此燃气表的数据通信.表3为抄表命令帧的数据项定义.

表3 命令帧数据项定义

 命令帧数据

  4 系统软件设计

  4.1 系统软件功能设计

  目前单片机的主流编程语言有汇编语言和C语言.这两种语言在嵌入式开发中可以单独使用,也可以混合使用.由于本系统的主控芯片u78F0451的RAM 和FLASH 容量相对较少,为节省代码空间,实现对资源的合理利用,本系统软件采用汇编语言,在PM+开发环境下,采用模块化思想进行设计.系统软件功能分为主程序模块、电源管理模块、IC卡通信模块、RS-485通信模块和燃气表功能模块5大部分,如图5所示.系统的软件程序固化在u78F0451单片机的内部FLASH存储器中.

软件功能 

图5 软件功能模块图

  4.2 主程序设计

  系统主程序由初始化和主循环两大部分组成.其中,主循环是程序的主体,具体功能则通过调用相应的子程序来实现.当系统上电后,首先进行系统初始化,然后将FLASH 中的本机数据读出,判断是否满足打开阀门的条件,满足条件后打开阀门,在液晶屏(LCD)上显示本机参数,最后系统进入低功耗模式,等待气流脉冲、插卡等中断唤醒.主程序流程图如图6所示.

 系统主程序

图6 系统主程序流程图

  主体循环程序主要实现485通信、磁干扰、IC插卡、电池电压检测、开关阀以及更新FLASH 的检测和处理.

  由于系统采用电池为电源,故具有低功耗的特点.低功耗有两种模式:HALT模式和STOP模式.在HALT模式中,CPU操作时钟停止,但高速系统时钟振荡器、内部高速振荡器、内部低速振荡器或副系统时钟振荡器可以继续使用,所以,其工作电流不如STOP模式下降得多;而在STOP模式中,高速系统时钟振荡器和内部高速振荡器停止操作,整个系统的操作停止,这样CPU 的工作电流将会大幅下降(比HALT 模式小得多).在本系统中,采用STOP模式,主循环程序结束后,进入STOP模式,等待中断唤醒.

  5 系统测试

  系统总体测试包括功能测试、低功耗测试和强度测试三大部分.其中,低功耗测试是对系统中各模块能耗进行测量,如表4所示.从表4中可以看出,电源电压检测模块能耗由两部分组成:一是实时检测电池电压,以检测电池是否被取出;二是每12天对电池进行放电检测,能耗约为60mA,但该模块大部分时间都处于休眠状态;卡座和阀门模块能耗约为47~48mA,它们只在需要时才处于工作状态,其余大部分处于休眠态;蜂鸣、LCD 显示模块等也仅在需要的情况下才使用.因此,在正常工作状态下,系统大部分时间的电流消耗约为Ia ≈13+ (8 +14)/2+400=425μA (1)

表4 系统中各模块的能耗测试

系统模块的能耗

  本系统采用3节碱性电池串联方式来提供电源,通过分析系统的整体功耗,假定单节电池放电到1.2V左右时系统就不能正常工作了,计算出燃气表工作时间可达到3~6年.

  6 结束语

  设计了一个以预收费为目的的非接触IC卡智能燃气表,论述了智能IC卡燃气表的设计方案、工作原理、系统软硬件设计及数据通信协议等内容.通过软硬件联合调试,对系统进行了总体测试,结果表明,该设计各项指标都达到了预定要求,具有功能全面、运行稳定及可靠性高等优点,适应燃气表市场的需求.本设计的特色及创新之处在于:改进了传统IC卡燃气表数据通信方式,增加了RS-485数据远传通信方式;在软硬件设计中采取了分区供电、分时供电的方式,实现了系统低功耗,延长了电池使用寿命;在计量方式上进行了创新,克服了传统表只能对用气量进行计量的局限性,设计了对金额的计量,能有效避免囤气现象,以更有效地利用资源.本设计已在实际中得到很好的应用,其方法对其它流量计的设计具有很强的借鉴性.(作者:吴叶兰,女,副教授.研究方向:仪器仪表、嵌入式技术应用.E-mail:wyl315@sina.com.cn)

分享到新浪微博      分享到腾讯微博         责任编辑:苏洁   投稿邮箱:editor@yktworld.com
关于 IC卡燃气表  智能燃气表  非接触IC卡 的文章
  • 印刷天线式非接触IC卡的制造技术
  • IC卡智能燃气表的低功耗设计
  • 提高非接触有值IC卡操作的可靠性研究
  • 中国城市公共交通收费系统一卡通技术与实践
  • IC卡燃气表应用探讨
  • 低功耗IC卡燃气表的研究与开发
  • 基于MSP430F41的IC卡式智能水表的研制
    基于MSP430F41的IC卡式智能水表的研制
    智能分时计费电度表的单片机实现
    智能分时计费电度表的单片机实现
    基于Mifare1射频卡的非接触式淋浴器的硬件设计
    基于Mifare1射频卡的非接触式淋浴器的硬件设计
    IC卡预付费采暖购热系统的设计
    IC卡预付费采暖购热系统的设计
    一周点击热点
    相关产品
    最新收录
    新闻   产品   企业   招标   求购
    技术   方案   下载
    关于我们
    网站介绍   广告服务   会员分类   联系方式
    企业推广   产品推广
    Copyright © 一卡通世界网 (粤ICP备11061396号)