智能卡门禁系统设计
- 格式:docx
- 大小:644.46 KB
- 文档页数:22
智能卡门禁系统设计
1 设计要求
智能卡的应用并不是简单的读写卡操作,而是一个综合性的工程项目。它不仅包括卡 和读写模块的选择,还涉及到读写模块的控制、数据的传输、数据的处理和存储;既需要 有硬件应用的知识、也还必须具有软件方面的能力。下面我们以一个完整的应用系统为例, 详细地描述了各组成部分的设计要求、完成的功能及具体的实现方法。
智能卡门禁系统设计任务:
1. 智能卡门禁系统——门禁机模块的设计
(1) 非接触式 IC 卡读写头部分
主要内容:读头部分采用非接触智能卡读写模块,由读卡器读入数据并加以保存,智
能卡按常规要具有加密和数据分区存储功能,读写头的读写距离在 5-10 厘米左右,必须具
有掉电保护、精确时间记时和显示,3K—5K 的临时数据存储。
(2) 门禁机主控模块
主要内容:智能门禁机主控模块是智能门禁机系统的核心部分,主要包括 MCU、键盘、
显示、电子时钟、外部数据存储器及掉电保护和看门狗电路,有精确时间记时和显示。
2. 智能卡门禁系统——系统管理模块的设计
(1) 系统管理主控模块设计
主要内容:设计门禁上层软件的主控模块,其主要实现的功能是最高权限卡对管理员 和一般用户发卡,管理员对一般用户发卡。能对丢失的卡进行挂失,对找回的卡进行解挂, 同时还要具备查找功能。
(2) 系统管理的数据库管理软件设计
主要内容:运用高级语言编程,制作数据库管理软件。采集下位机的数据并保存,然
后管理采集到的数据,具有采集、数据更新、查询统计和报表的打印功能
3. 智能卡门禁系统——数据传输模块的设计
主要内容:完成中央控制电脑与门禁读写器之间的数据传输协议的设计,能实现主、
从机的双向数据传输及一对一、一对多的数据传输。
2 总体方案
根据设计要求,整个智能卡门禁系统分为三大部分:其一是读写器部分,包括 MCU、
复位电路、时钟电路、显示电路、键盘、数据存储等主控模块及非接触 IC 卡读写模块和电
锁驱动部分;其二是中央控制电脑的软件管理系统模块;其三是中央控制电脑与读写器之
间的数据传输模块。其总体方案见图 5.1。
图 1
非接触式 IC 卡门禁系统框图
3 非接触式 IC 卡门禁机的设计
系统采用 Philips 公司的非接触智能 IC 卡 Mifare 1 卡,以 M1 卡作为用户卡,以用户
卡的序列号 SN(全球唯一)为依据控制门的开启。因为它是一个高频卡(工作频率为
13.5MHZ),有较强的抗干扰能力、读写距离远(5MM—10MM)。
首先,在发卡系统(中央控制 PC 机)里把用户的卡号及个人信息输入系统数据库,并
将该卡号作为合法卡号下载给所有门禁机。当有一张 M1 卡在门禁机的有效工作范围内时,
系统会自动向卡发出命令,卡接收到命令后向门禁机反馈其 SN, 门禁机判断收到的卡号是
否合法,合法则驱动电磁门锁开门,并实时上传其开门记录;如果是非法卡(未经授权 或已挂失的卡)则拒绝开门并上传报警信息。只有最高授权者(掌握授权密码)才可以 发管理员卡,管理员必须用管理员卡方可登录发卡系统进行发卡 /下传合法卡号、挂失、 解挂、下传黑名单等操作。
附录二 门禁机硬件原理图
由于采用了 Philips 公司的非接触式 Mifare 1 卡,所以卡的读写模块也采用了以
Philips 公司最新推出的 Mifare 读写芯片 MF RC500 为核心开发的 ZLG500A 读写模块。
门禁机模块的硬件原理图见附录二。
通过 AT89C52 对 ZLG500A 的控制达到对卡的读写。系统结构简单,成本较低且具有信息
量大和安全保密性好等特点。外围配有 RS232 转 RS485 接口能与 PC 机互连成网络,可以完
成读卡、显示卡号和出入时间、身份识别、开锁以及保存和上传出入记录、下载黑名单、
设置开门权限等功能。
门禁机模块的主控软件主要完成门禁机模块的初始化、卡的识别、开启门锁及保存有
关数据和数据的传输等五大功能。其总体工作流程如图 5.2 所示:
初始化
寻卡
合法吗?
计录满否?
执行报警
图 3 非接触式 IC 卡门禁机总体工作流程
在完成整个门禁机模块的设计和制作前, 首先必须明确非接触式 IC 卡读写模块的
功能特性、接口规范和控制方式。本系统选用 MIFARE 1 卡作为门禁钥匙,相应地,选用广
州周立功公司的 ZLG500A 读写模块作为卡与门禁机交换数据的接口模块。
1. ZLG500A 读写模块特性
1)功能特性
图 5.3 为 ZLG500A 非接触式 IC 卡读写模块,该模块采用最新 PHILIPS 高集成 装载权限
显示日历
执行开门 比较权限
开放键盘
设置时间
设置权限 执行开门
取时间+卡号+BCC码 寻卡
写入24C64中数
据指针加12
计录数加1 发送数据
发送记录数
清空24C64
数据指针=0
计录数=0
ISO14443 读卡芯片—MF RC500,能读写 RC500 内 EEPROM,提供三线 SPI 接口,并具有控制
线输出口,能与任何 MCU 接口。此外,该模块四层电路板设计,双面表贴,EMC 性能优良;
并自带无源蜂鸣器信号输出,能用软件控制输出频率及持续时间。
J1
J2
图 4 ZLG500A 模块实物图
如图 5.3 所示 J1 为与天线的接口 J2 为与 MCU 的接口,J1、J2 的管脚排列和功能说明
见表 5.1:
表 5.1 ZLG500A 非接触式 IC 卡读写模块管脚说明(一)
管脚 符号 描述
J1-1 GND 地
J1-2 TX1 天线发送 1
J1-3 GND 地
J1-4 TX2 天线发送 2
J1-5 GND 地
J1-6 RX 天线接收
表 5.1 ZLG500A 非接触式 IC 卡读写模块管脚说明(二)
管脚 符号 类型 描述
J2-1 SCLK 输入 三线 SPI 接口时钟线总是由外部 MCU 产生
J2-2 SDATA 双向 数据线可双向传输
J2-3 SS 双向 传输启动线接 MCU 外部中断
J2-4 VCC PWR 电源正端
J2-5 RST 复位 内部 MCU 复位端高电平有效
J2-6 GND PWR 电源负端
J2-7 CTRL 输出 控制线输出
J2-8 BZ 输出 蜂鸣器信号输出
ZLG500 模块可方便地与任何 MCU 进行接口,如图 5.4 所示为 ZLG500 与 MCS-51 单片
P1.0
P1.1
MCS51 P1.2
P3.3
机
图 5.4 ZLG500 与 MCS-51 单片机接口图 SCLK
SDATA
SS
RST
CTRL
BZ ZLG500
的典型接口。SCLK、SDATA、SS 为 ZLG500A 与 MCU 相联接的控制线,分别为片选 SS、时钟
线 SCLK 和数据线 SDATA。主控制器的 MCU 和读卡模块内的 MCU 通过此三线相连,三根线
上的实际电平是双方口线状态逻辑线与的结果。
2) ZLG500 三线串行读卡模块接口规范
(1) 接口原理
接口空闲时主机SS=1 SCLK=0 SDATA=0 从机SS=1 SCLK=1 SDATA=0 。其中SS和DATA是
双向的而时钟线SCLK是单向的,即时钟只能由主控制器产生,该信号必须严格遵守时序规
范,否则将出现通信错误读卡模块必须释放该线。
SS为数据发送使能,若一方有数据要发送给另一方,则该方控制SS线为低并在发送结
束后将该线置高,接收数据方不得控制该线,双方必须遵守通信协议不得同时控制该线。
SDATA为数据线,由数据发送端控制数据,接收端必须释放该线。该线在一次传输开始
时还同时作为数据接收端的响应信号。
(2)时序图
如图 5.5 所示,无论数据传输的方向如何,SPI 线上信号的波形总是如下;
Start from sender
SS
t1 tH Stop from sender
t2 t3
SCLK
SDATA
tL
Ack from receiver Sender and receiver
图 5 ZLG500 时序图
由图中可以看出,在SS为低的情况时,时钟和数据线上的信号才有效。且在SCLK为低
时SDATA变化,在SCLK为高时SDATA应保持稳定。
以上传输中从数据发送器请求开始至数据接收器响应的时间是不确定的,取决接收器 内的MCU 是否忙,有必要设置一个看门狗定时器对数据接收器的响应进行监视,一旦接收 器响应,则MCU 必须根据数据传输的方向,严格控制以下几个时间,以确保数据传输无误。
t1—数据接收器响应至MCU 产生第一个SCLK 上升沿的时间。
t2—两个字节传输之间SCLK 低电平的持续时间。
t3—传输最后一个字节的最后一位的SCLK 信号的上升沿至SS 上升沿的时间。
tH—SCLK 信号的高电平持续时间。
tL—SCLK 信号的低电平持续时间。
在数据传输的方向不同时,对时间t1— t3 tH 和tL 都有各自不同的要求。
(3) 通信协议
MCU与ZLG500的通信必须先由MCU发送命令和数据给ZLG500,ZLG500执行命令完毕后,
将命令执行的状态和响应数据发回MCU。
开始通信前,收发双方必须处于空闲状态。首先由MCU发出SS下降沿信号,然后等待
ZLG500载SDATA线上的响应,若在50ms内为检测到此信号,则退出本次传输。若正确响应,
则MCU可将命令和数据发送出去。
然后MCU等待ZLG500发回的状态和响应数据。也即等待SS线上的下降沿信号,若在50ms
内为检测到此信号,则退出本次传输,若正确检测到SS信号,则可以接收状态和数据。