设为首页 | 成都一卡通
当前位置: 首页 > 考勤管理 >
考勤管理
非接触IC卡在考勤机上的应用
发布时间:2013-11-11 来源:成都一卡通

本文所设计的非接触ic卡考勤机,是在参考传统机械式考勤机的基础上所作出的进一步的改进。传统的机械式考勤机虽然较可靠,但由于其将考勤数据记录在纸片上,大量的考勤数据需要人工统计,既费时又费力,而且容易出错。本文所介绍考勤机采用电子时钟,计时准确,操作方便,考勤数据通过rs485总线上传给计算机,统计快捷又准确。

1、 系统工作原理

本考勤机以完全兼容与mcs-5l系列微处理机的atmel公司的at89c52单片机作为微控制器,采用i2c总线的pcf8583作为考勤机时钟,以i2c总线的多片(可选)at24c64作为考勤机的不掉电存储器,采用大屏幕点阵lcd显示,并以rs485接口和计算机通信。组成了一套功能齐全的非接触ic卡考勤系统。当ic卡在天线区域经过时,单片机自动把ic卡里边的相关信息读到考勤机上,再把打卡时间一起存到存储器里边,计算机可以通过rs485串口把相关打卡信息读到计算机上,再进行统计、报表和打印输出等。其基本原理框图如下:

2、非接触ic卡数据编码格式

mifarel ic卡的核心是philips公司的mifarel ic s50系列微模块,内建高速cmos eeprom和mcu,并自带一副高效率射频天线。它总共有1 kbytes的容量,其中又分为16个扇区(sector),每个扇区分为4个块(block),每块16bytes,考勤卡只需要使用其中的一个扇区(1扇区),地址编码如下:

block0
地址0-3:自定义员工工号
地址4-7:员工工号的反码
地址8-15:备用
blockl和block2地址备用
block3
地址0-5:密码a(keya)
地址6-9:状态字节
地址工0-15:密码b(keyb)

3、非接触ic卡读写的硬件实现

非接触ic卡的读写采用philips公司的读写模块mfcm200。此模块自带天线接口,通过天线接口连接读写天线,直接从ic卡读写数据。单片机直接从数据总线读写天线区域的ic卡数据。ic卡读写的硬件原理如下图所示:

4、非接触ic卡读写的软件实现

mfcm200能执行有限的一些指令,并将这些指令传输到mifarel卡片上。

每一个指令包含7个独立的步骤,每一个步骤在不同的指令执行中有不一样的时序。以下是mfcm200通信基本指令集。

request:寻卡
anticoll:防重叠(碰撞)
select:选卡片
authentication:密码认证
loadkey:力口载密码
read:读数据
write:写数据
increment:土曾值
decrement:减值
restore:存储
transfer:传送
halt:停止

在每一次读写ic卡数据时,必须按顺序先执行request、anticoll、select、authentication等指令,然后才能执行read和write指令,下面重点介绍read和write指令的使用。

(1)''read"读数据指令

read指令允许单片机通过mfcm200来读取mifarel卡片上完整的16个bytes的数据块(data blocks)。

只有在预先"authentication"认证指令完成后,才允许进行对mifare l卡片上的某一数据扇区进行read指令操作。

read指令操作只能一个块(b1ock)一个块地读,即只能16个字节一次性地读取。如果只要求某block中的几个字节的数据,也只能一个整块16个字节一起读取,由程序员选取指定的字节。

从卡片上读到的数据必须由单片机进行校验,以确保数据的有效性。

子程序清单如下:


(2)"write"写数据指令
write指令允许用户写数据到mifare l卡片上(完整的16个bytes的数据块(data blocks))。只有在先"authentication"认证指令完成后,才允许进行对要求的数据扇区或数据块(block)进行write指令操作。

子程序清单如下:

结束语

近几年来,随着ic智能卡中的非接触ic卡(射频卡)的高度稳定性和高度安全保密性,使之在ic智能卡领域中异军突起,成为当今智能卡中的流行宠物。做为非接触工c卡中的主流,mifare技术已经被制定为较好的标准:is0/iec14443 type a标准。此卡在考勤系统中使用,是ic卡还不错典型的应用之一,此卡同时也支持一卡多用,如考勤、门禁、售饭等,应用前景非常广阔。