非接触式IC卡节水控制器的设计与实现
扫描二维码
随时随地手机看文章
1.引言
非接触式IC卡节水控制器(简称水控器或水控机),就是采用非接触式IC卡读写器控制出水,对用水实行无人收费管理]。它是一种集计量功能及控制功能为一体的装置,是一种利用现代微电子技术、现代传感技术、非接触式IC卡技术对用水量进行计量并能进行用水数据传递及结算交易的新型装置。有水龙头流水的场所都可以利用控制器达到节水的目的。如:浴室、集体和个人公寓、开水房等场所。该装置采用国内最常见的Philips公司生产的Mifare1 S50非接触式IC卡作为通讯卡,具有体积小、携带方便、防水防潮、坚固耐磨等优点,并且能方便的配合售饭机、门禁系统、考勤系统等一起使用,构成校园一卡通、企业一卡通系统。
2.基于非接触式IC卡的节水控制器总体方案及硬件设计
2.1 总体方案
由图1的系统框图可以看出,水控器主要以AT89C51主控MCU为核心,辅以射频接口模块、流量计量模块、水控接口模块、开关电源电路、数码显示电路、数据存储电路、蜂鸣器报警电路等组成。
图1非接触式IC卡节水控制器系统框图
只要在读卡器读卡范围内有IC卡,则通过单片机控制射频接口电路对IC卡进行操作,判断IC卡的类型(用户卡或管理员卡),根据卡内的信息内容进行相应的处理,并根据需求通过水控接口电路来控制电磁阀的状态(开或关),系统运作过程中的有关信息通过数码显示电路显示出来或将有关数据记录到数据存储器中。另外水表在用水的过程中通过流量传感器发出脉冲信号,单片机接收脉冲信号进行运算和处理然后对IC卡进行相应的扣款处理并通过数码显示电路显示有关信息,并在用水的过程中进行实时监控,若IC卡的余额过低则通过蜂鸣器发声报警。水控器的各部分协调运作从而可以实现用水的自动化管理。
2.2 水控器硬件设计
2.2.1 MCU模块
水控器的核心MCU模块选用内置功能强大,且具有高性价比的AT89C51单片机,它是一个低电压、高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),采用ATMEL公司的高密度、非易失性存储技术,兼容标准MCS-51指令系统。另外MCU的外接电路,如:数据存储器采用AT24C01A作为非易失的数据存储(用于存储设置参数和消费数据,如水价、累计消费等)。
数码显示电路可采用74HC164驱动数码显示。为了降低装置的功耗和发热,采用了开关电源作为供电电源,可选用L4962E/A的降压型PWM控制开关稳压集成电路,它具有输出电压可调、过流保护、过热保护和软启动功能。报警电路将蜂鸣器与MCU基本I/O口相连主要实现余额不足报警等功能。水控接口电路利用AT89C51单片机的基本I/O口输出控制信号,经放大后用以控制电磁阀的开启与关闭。来自流量传感器的水流信号经前置电路处理后,转换为一系列可供测量的电压脉冲信号,这些脉冲信号可由单片机的定时器进行捕获并由中断服务程序实时记录,经过计算处理可以准确转换成用户的耗水量,进而通过将耗水量转换成用户所要支付的金额并控制射频接口模块对IC卡进行扣款操作。
2.2.2射频接口模块
该模块主要由MFRC500芯片及其天线电路组成。
1)MFRC500简介
MFRC500是Philips公司于2000年给出的应用于13.56MHz非接触式通信中高集成读卡IC系列中的一员。利用了先进的调制和解调概念,符合ISO/IEC1443标准中TYPE A协议的规定,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。它具有以下一些特点:
·内部的发送器部分不需要增加有源电路就能够直接驱动近操作距离的天线(可达100mm)。
·接收器部分提供一个坚固而有效的解调和解码电路,用于ISO14443A兼容的应答信号。
·数字部分处理ISO14443A帧和错误检测(奇偶&CRC);此外,它还支持快速CRYPTO1加密算法用于验证MIFARE系列产品。 方便的并行接口可直接连接到任何8位微处理器,这样给读卡器/终端的设计提供了极大的灵活性。
射频接口模块的硬件电路设计图如下图2所示。
图2 射频接口模块硬件电路图
2)单片机与MFRC500接口电路设计
单片机与MFRC500的接 口采用 了独立 读/写选通 复用地 址总线 的接口模式,将MFRC500的并口(P0~P7)与单片机的P0口连接,片选信号NCS与P2.7相连,MFRC500的中断与单片机的INT1相连,复位脚 RSTPD与单片机的P1.2相连。另外该模式下MFRC500的A2、A1、A0分别与GND、VCC、VCC相连,保证 A2、A1、A0的输入电平分别为低、高、高。
3)天线电路设计
天线电路由4个部分组成,即EMC(电磁兼容性)低通滤波器、接收电路、天线匹配电路和天线。
EMC低通滤波器由L0和C0组成。Mifare系统在13.56MHz频率下操作。该频率由一个石英晶振产生用于驱动MFRC500以及作为驱动天线的13.56MHz能量载波的基频。这样除了产生13.56MHz的发射功率而且会发射更高的谐波。国际EMC条例定义了在广播频段中发射功率的幅值。因此,必须对输出信号进行适当的滤波。接收电路由R1、R2、C3、C4组成。使用了内部产生的VMID电势作为RX脚的输入电势。为了提供一个稳定的参考电压,还必须在VMID脚接一个对地的电容C4。读卡器的接收部分在RX和VMID脚之间连接了一个分压器。天线线圈和分压器之间使用了一个串接电容。 EMC低通滤波器和接收电路的元件取值见下表1:
天线匹配电路由C1、C2a、C2b组成,这里设计成一个直接匹配天线的匹配电路,各元件的取值决定于天线的电气特性和环境的影响。
对天线线圈的电感量的精确计算是不可行的。可以通过下面的公式来估算,天线一般设 计成环形或者矩形。
表1 EMC滤波器和接收电路元件的取值
式中,I1为导体环一圈的长度;D1为导线直径或者PCB板上导体的宽度; K为天线形状因素(环行天线K=1.07,矩形天线K=1.47);N1为圈数。
3. 软件设计方案
控制器采用的是Mifare 1 S50型非接触式IC卡,这里将IC卡设置成用户卡和管理员卡两种。用户卡即为买水用卡;而管理员用卡用于对水控器进行参数设置和读取消费额。管理员卡在使用前要在装有系统管理软件的PC机上进行设置,在IC卡的一个分区内写有管理员特征码,用于区分卡类型。
3.1 水控器总体流程
水控器总体流程图如图3所示。
图3 水控器总体流程图
系统初始化包括了单片机的初始化、读24C01A操作、显示处理、以及MFRC500初始化。其中读24C01A操作是为了显示单价的需要, MFRC500的初始化即对MFRC500的内部寄存器进行设置。当有IC卡靠近读写器时,先读取系统识别码(判断该卡是否适用于该系统),然后判断卡类型并进入相对应的用户卡或管理员卡处理流程。在用户卡以及管理员卡处理流程中考虑长期使用可能出现坏卡,因而设置有写卡累计次数限制流程,如果写卡累计6 次仍不能成功则退出并报警。
3.2 读写器与IC卡通讯流程
读写器与IC卡通讯流程图如下图4所示。
图4读写器与IC卡通讯流程图
首先上电对MFRC500进行复位与初始化,当有IC卡靠近读写器的读写范围之内时,读写器向IC卡发出请求命令,此时IC卡的ATR(复位应答信息)将启动,并将IC卡中的2BIC卡类型传送给读写器,建立IC卡与读写器的第一步通信联络。如果读写器天线工作范围内有多张IC卡,防冲突模块将启动。读写器首先与每一张卡进行通讯,取得每一张卡的序列号,卡的序列号都是唯一的,根据IC卡的序列号来选定一张IC卡进行操作,未被选择的IC卡处于等待状态。序列号存储在IC卡的block0中,共5B,其中有1B为序列号的检验字节(CRC码)。完成了上述两个步骤以后,读写器还必须对IC卡进行选择,读写器将收到从被选中的IC卡传送出的容量字节(存储于block0)。当读写器收到这一字节后,就可以对IC卡进行密码认证操作。非接触式IC卡的密码认证分为三个步骤进行,称为三重认证,只有三重认证通过以后才可以对IC卡的这一分区进行读、写等操作。Mifare1型IC卡共有16个分区,每个分区都可分别设置各自的密码,互不干涉。如果改变分区还必须用该分区的密钥重新完成三重认证。
4. 结论
本文介绍了一种非接触式IC卡节水控制器的设计方案,进行了系统方案的整体设计,并且对射频读写模块进行了较详细的设计,给出了射频读写模块的硬件电路图,同时给出了系统的软件设计流程,以及对电子标签与读写器的通讯流程进行了说明。非接触式IC卡节水控制器作为构成校园一卡通、企业一卡通系统的一部分,越来越深入人们的生活,提供了人们对水资源的利用与管理的自动化服务,为人们的生活带来了便利。