首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年10月5日星期六
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
IC卡校园收费系统设计

Design of IC Card in the Campus Charged System

辽宁机电职业技术学院 刘


摘 要: 采用Philips的基于射频技术为核心的非接触IC卡Mifare ones50,加上 AT89C52单片机为控制器的IC卡读写器,可以构成学校机房自动收费系统。IC卡读写器可以实现写卡、读卡等功能,具有安全、实用、方便、快捷、可靠性高的特点,解决了校园机房的收费管理问题,在类似场合也有广泛的应用前景。

关键词: 单片机;非接触IC卡;读写器


IC卡及IC卡读写器概述

目前常用的IC卡有两种:接触式和非接触式IC卡。接触式IC卡通过机械触点从读写器获取能量和交换数据;非接触式IC卡通过线圈射频感应从读写器获取能量和交换数据,所以又称射频卡。本系统使用的是非接触式IC卡,它具有存储量大,成本低等特点。接触式IC卡虽得到了大量应用,但因本身的特点制约了其发展,如在许多情况下机械触点接通不可靠,且触点对腐蚀和污染缺乏抵抗能力,在有些领域应用不方便。非接触识别已经逐步发展成为一个独立的跨学科的专业领域,它将大量来自不同专业领域的技术综合在一起,如高频技术、电磁兼容性、半导体技术、数据保护和密码学、电信、制造技术和许多专业应用领域。

随着非接触IC卡的大量使用,它的成本也会越来越低,可以自己用单片机开发读写器,一般设计为两种类型:一种是通过串行口与PC机相连,在设计时,电路可以主要由非接触IC卡读写器芯片、单片机、天线和监控电路以及与PC机通信的TC232串行通信接口电路等部分组成。这种读写器除了编写单片机程序外,还需要用VB、DELPHI等语言进行软件开发。

另一种读写器是放在收费现场的,电路主要由非接触式IC卡读写芯片、单片机、键盘、显示、存储器、天线和监控电路等部分组成。 这种读写器的软件在编写时,只允许用户读卡片,并具有自动收费的功能。


系统设计原理

Mifare one s50的功能

容量为8K位EEPROM;

分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位;

每个扇区有独立的一组密码及访问控制;

每张卡有唯一序列号,为32位;

具有防冲突机制,支持多卡操作;

无电源,自带天线,内含加密控制逻辑和通讯逻辑电路;

数据保存期为10年,可改写10万次,读无限次;

工作温度: 20℃~50℃(温度为90%);

工作频率:13.56MHz;

通信速率:106KBPS;

读写距离:10mm以内(与读写器有关)。

Mifare one s50的工作原理

卡片的电气部分由一个天线和ASIC组成。天线:卡片的天线是只有几组绕线的线圈,适于封装到IS0卡片中。ASIC:卡片的ASIC由一个高速(106KB波特率)RF接口,一个控制单元和一个8K位EEPROM组成。

卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,将16个扇区的64个块按绝对地址编号为0~63,存贮结构如图1所示。

图(略)

第0扇区的块0(即绝对地址0块),用于存放厂商代码,已经固化,不可更改。

每个扇区的块0、块1、块2为数据块,可用于存贮数据,可以进行初始化值、加值、减值、读值等操作。

每个扇区的密码和存取控制都独立,可以根据实际需要设定各自的密码及存取控制。

读写器向卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内产生电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容的电荷送到另一个电容储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或接收读写器的数据。

读写器

与PC相连的读写器

硬件图如图2。

图2 主要由IC卡微模块、单片机、天线以及与PC机通信的TC232串行通信接口电路等部分组成(略)

单片机系统

硬件中的核心是ATMEL公司生产的AT89C51/LV51单片机,它是一种低功耗/低电压、高性能的8位单片机,片内带有一个4K字节的Flash可编程可擦除只读存储器,采用CMOS工艺和高密度非易失性存储器技术,输出引脚和指令系统都与MSC-51兼容。

IC卡微模块

采用JMY-502射频读写模块,该模块是基于Philips公司的非接触技术设计的微型嵌入式非接触式IC卡读写模块。内嵌MF RC500 或MF RC531 射频基站,用户不必关心射频基站复杂的控制方法,只需要简单地通过选定的UART 或I2C 接口发送命令就可以对卡片进行操作。JMY-502 支持Mifare One S50,S70,Ultra Light & Mifare Pro,当仅用于Mifare One 时可以设定自动寻卡。该模块内置512 字节的EEPROM,用户可以存储应用数据。每次写入和读取的字节数为1~16 字节,按字节的方式进行操作,Mifare 1 专用,默认为自动寻卡。在本实例中采用I2C通信方式,可以将单片机的串行口留给计算机使用。

读写芯处的引脚及说明如表1。

表1(略)

通信接口

与PC机的串行通信一般采用RS-232、RS-422或RS-485总线标准接口,或采用非标准的20nnJL电流环。为保证通信的可靠,在选择接口时必须注意:(1)通信的速率;(2)通信距离:(3)抗干扰能力;(4)组网方式。

目前有很多为RS-232C标准生产的专用驱动芯片,如MAX232系列、TC232、ICL232、AD232等。它们在单5 V供电条件下,将0/5 V(TTL电平)转换为 10V(RS-232电平),将 10V(RS-232电平)转换为0/5 V(TTL电平)。本实例中采用RS-232方式,使用的是TC232芯片。

一般用户读写器

用户读写器主要由IC卡微模块、单片机、天线、显示电路及时钟电路等部分组成,时钟电路采用DS1302芯片,使用I2C总线与单片机进行通信,提供实时实钟和日历(秒、分、时、日、周、月和年等信息,可以在收费现场按时间进行计时收费,电路图如图3所示。

图3 (略)

软件设计

读写器的程序流程如图4。

图4 主程序的流程图(略)

程序设计中涉及到对数据块的操作,采用中断方式:

读 (Read):读一个块;

写 (Write):写一个块;

加(Increment):对数值块进行加值;

减(Decrement):对数值块进行减值;

存储(Restore):将块中的内容存到数据寄存器中;

传输(Transfer):将数据寄存器中的内容写入块中;

中止(Halt):将卡置于暂停工作状态;

程序中涉及到串行口程序,通信格式设置为:采用串行工作方式1,波特率为9600baud, 1个起始位,8位数据位,1个停止位,采取和校验方式。程序中的显示部分可以使用专用的LCD,按相应要求书写程序。

其中数据库部分的联VB与SQL数据库连接程序可以参考如下程序:

Set conn = New ADODB.Connection

conn.Open "driver={sql server};server=" & usern & ";database=ic"

Set order = New ADODB.Command

order.ActiveConnection = "driver={sql server};server=" & usern & ";database=ic"

oder.CommandText = "use master declare @xm char(10) set @xm='" & xm & "' declare @snr bigint set @snr=" & Snr & " declare @outvalue int set @outvalue=" & outvalue1 & " insert into sp_values (卡号,姓名,金额) values (@snr,@xm,@outvalue)"

cmd1.Execute

以上语句向数据库中插入一个写卡记录,其它操作省略。

PC机软件

可以使用VB和SQL进行人机画面的开发及数据管理等。下面是开发的界面,如图5、6。

图5(略)

图6(略)



结束语

相信随着非接触性IC卡的大量使用,成本的降低,这种卡系统会越来越多地使用于如校园收费中、门禁系统、考勤系统等各种场合。

         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com