产品新知 您所在的位置:电子展览网 > 行业资讯 > 产品新知

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所示。


图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。

通信接口

与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。


结束语

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


分享到:
收藏 打印
相关新闻
  • 没有相关信息!