随着IC卡技术的不断发展,基于卡证应用的现代化管理模式已日渐普及。目前各大高校内往往凭借一张校园卡就可以完成存款、缴费、就餐、购物和洗澡等电子支付服务,大大提高了学校的管理水平和服务工作的效率。校园一卡通系统消费子系统大部分是基于网络的,连网消费机必须实时把每笔消费记录都发到消费机服务器上。其优点是实时性强,支持消费人群多;缺点是成本高、维护复杂、系统庞大不够灵活,而且消费高峰阶段极易造成消费机服务器的负担,出现拥塞现象。
高校传统的澡堂仍然是粗放式的管理,以人工售票为主,不限制洗澡的时间。这样不但容易造成水和燃料的浪费,还存在不能及时了解澡堂的空闲水龙头数量等问题,极易造成洗浴高峰。
本文的设计是针对校园洗浴的现状开发的校园一卡通单机版计时消费机。它具有脱离网络独立消费记帐功能,所有的消费数据都存储在消费机中,能够与现有按键消费机通信协议兼容,与按键消费机使用的IC卡格式兼容。它采用了射频感应技术,持卡人只需进出门各刷卡,便可达到计时消费的的目,省去了卖澡票和收澡票的麻烦,是高校公共澡堂和集体公寓用水管理的理想解决方案。
消费机系统概述
本设计的目的是开发出以单片机为的基于I2C总线的脱网版计时消费机,能在脱离网络和服务器的情况下独立运行,同时实现计时消费的功能。系统由控制器、读写器、EEPROM、IC卡等组成。单片机STC89C58控制整个系统,并实现对外围芯片的初始化和数据传送。考虑到该系统需要大容量数据存储,这里采用了ATMEL公司生产的24C256 EEPROM存储器。PCF8563是PHILIPS公司生产的低功耗的实时时钟/日历芯片,作用是产生年、月、日、时、分、秒等,用来记录采集数据的时间。
系统按13.56MHz的工作频率以半双工方式在读写器与IC卡之间双向传递数据。读写器将要发送的信号编码后加载在频率为13.56MHz的载波信号上经天线向外发送,进入读写器工作区域的IC卡接收此脉冲信号。一方面卡内芯片中的射频接口模块由此信号获得电源电压、复位信号、时钟信号;另一方面卡内芯片中的有关电路对此信号进行调制、解码、解密,然后对命令请求、密码和权限等进行判断。若为读命令,控制逻辑电路从存储器中读取有关信息,经加密、编码、调制后由卡内天线发送给读写器;若为修改信息的写命令,有关控制逻辑引起内部电荷泵提升工作电压,提供擦写EEPROM时所需的高压;以便对EEPROM中的内容进行改写;若经判断其对应的密码和权限不符,则返回出错信息。
硬件电路的设计
消费机硬件结构框图如所示,微控制器STC89C58负责整个窗口机的监控。RC50为MIFARE卡读写器模块,在MCU控制下,完成对卡片的非接触式读写等多种操作。PCF8563是一款低功耗的实时时钟/日历芯片,实现时钟模块的计时功能。EEPROM模块用于在脱网消费时保存大量的消费记录。
消费机硬件结构框图
在对各模块进行操作的时候由电源模块向其供电,提供电压为+5V。EEPROM模块和读写器模块在没有进行操作的时候不需要外加电源,而时钟模块则需要外加电源供给能量,以保持时钟的持续和正确。各模块是通过I2C总线进行数据交换的,I2C总线主要的优点是简单性和有效性。它由简单的双向通讯的两芯接口为集成电路之间提供有效的控制。一条线路用来传输时钟,另外一条用来传输数据。通过一个带有缓冲区的接口,数据可以被I2C发送或接收。控制和状态信息则通过一套内存映射寄存器来传送。
IC卡读写器硬件电路
本文利用单片机的通用I/O口(P1.7和P1.6)来虚拟I2C总线接口,为了在使用虚拟I2C总线时有一个通用的界面,可设计出一个主方式下的虚拟I2C总线软件包,给出归一化操作指令即可。进行数据传输时则靠识别芯片地址来选择操作芯片。
1 IC卡读写器部分
IC卡读写器的电路如所示,由于采用了PHILIPS公司高集成度的TYPE A读写器芯片MF RC500,天线驱动电路仅需很少的外围元件,有效距离可达10cm。每次上电或硬启动后,芯片会复原其并行接口模式并检测当前的MCU接口类型,MF RC500可支持不同的微控制器接口,一个智能的自动检测逻辑可以自动适应系统总线的并行接口,使用信号NCS选择芯片。要使用独立的地址和数据总线与微控制器相连,必须将ALE引脚连接到DVDD。本设计使用复用的地址和数据总线与微控制器接口,所以必须将MF RC500的ALE引脚连接到微控制器的ALE信号。
2 存储器部分
计时消费机中存储的消费数据要求掉电不丢失,为此选用了ATMEL公司的24C256 EEPROM。24C256是一个256kb的支持I2C总线数据传送协议的串行CMOS EEPROM,可编程自定时写周期(包括自动擦除时间不超过10ms,典型时间为5ms),其地址分配如表1所示。
数据信息写入流程图
串行EEPROM的数据读取正确与否和系统软件的设计紧密相关。系统软件要根据硬件电路确定数据传输位;建立数据区地址指针,按照串行EEPROM的工作时序设定读、写控制主程序。主程序分为以下两个部分。
1)数据端口初始化
根据串行EEPROM数据存取的特点,设立数据端口的工作方式,建立相应的数据指针DPTR,为地址和数据信息的存、取建立各自的子程序,为后一步数据信息的存、取做准备。
2)数据信息写入/读取
如所示,首先设立数据源的入口地址DPTP,然后调用串行EEPROM入口地址服务子程序,选通EEPROM数据区,启动读/写程序传输数据。
3 计时模块
计时模块的电路如所示。PCF8563是低功耗的CMOS 实时时钟/日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过I2C总线接口串行传递。在给PCF8563送入初始的日历信息后,PCF8563中的日历就会自动运行。由于PCF8563为实时时钟芯片,在没有外接电源时仍然要求连续供电,以保持时间的准确无误。因此,这部分电路还加了掉电保护功能,在主供电系统意外断电时,即Vcc为0V时,D1截止,3.6V备用电源通过D2继续给PCF8563供电,保证其正常运行。
4 显示模块
消费机显示部分包括前后面板都有8位LED数码管,全部由74LS164驱动。显示部分采用的是普通的串行静态显示,由STC89C58的P1.6和P1.7构成模拟I2C串行口,通过P89LPC932将驱动信号分别送往前后显示面板。
5 数据通信部分
每台消费机在投入使用前,都可通过串口根据实际情况对消费机进行读写器密钥、消费机号和基准时间等参数进行设置。设置成功后,参数保存在消费机的EEPROM中。
时钟电路
本设计中采用RS232串行通信方式进行数据的传送。数据的采集存储由单片机系统完成,而数据的处理由PC完成,即将PC与单片机组成上位机、下位机分布式控件系统。下位单片机作为前端处理机,深入到现场,负责采集各种数据并记录,在需要时将各种数据传到上位机。
结束语
本文为一卡通系统脱网版提出了模块划分的蓝本,对一卡通系统中脱网版按键、按次等消费机的设计有指导意义,可以借鉴和参考。
这一系统采用了应用开发较为成熟的单片机STC89C58,其他芯片也均是市场上的主流产品,价格比较合理,因此整个系统的性价比较高。此外,本系统还具有以下优势:采用射频感应技术,可靠性高、保密性高、快速方便、使用寿命长;采用I2C总线简化了硬件电路结构;采用电子钱包的方法实现了联网与脱网消费机的并行运行;采用大容量的EEPROM,具有掉电后长期保存功能;具有自动识别非法卡并报警的功能;数据采集灵活。
数据通信方面,本系统采用的是RS232串口通信,在USB接口通信已经广泛使用的今天,根据应用需要还可以再增加USB接口,以大大提高传输速率。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。