ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:284.83KB ,
资源ID:8647069      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8647069.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新门禁系统设计uuiu.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最新门禁系统设计uuiu.docx

1、最新门禁系统设计uuiu智能卡门禁系统设计 11设计要求智能卡的应用并不是简单的读写卡操作, 而是一个综合性的工程项目。 它不仅包括卡和 读写模块的选择,还涉及到读写模块的控制、 数据的传输、数据的处理和存储;既需要有硬 件应用的知识、 也还必须具有软件方面的能力。 下面我们以一个完整的应用系统为例, 详细 地描述了各组成部分的设计要求、完成的功能及具体的实现方法。智能卡门禁系统设计任务:1 智能卡门禁系统门禁机模块的设计(1) 非接触式 IC 卡读写头部分主要内容: 读头部分采用非接触智能卡读写模块, 由读卡器读入数据并加以保存, 智能 卡按常规要具有加密和数据分区存储功能,读写头的读写距离

2、在 5-10 厘米左右,必须具有 掉电保护、精确时间记时和显示, 3K 5K的临时数据存储。( 2) 门禁机主控模块 主要内容:智能门禁机主控模块是智能门禁机系统的核心部分,主要包括 MCU、键盘、显示、电子时钟、外部数据存储器及掉电保护和看门狗电路,有精确时间记时和显示。2 智能卡门禁系统系统管理模块的设计( 1) 系统管理主控模块设计主要内容: 设计门禁上层软件的主控模块, 其主要实现的功能是最高权限卡对管理员和 一般用户发卡, 管理员对一般用户发卡。 能对丢失的卡进行挂失, 对找回的卡进行解挂,同 时还要具备查找功能。( 2) 系统管理的数据库管理软件设计 主要内容:运用高级语言编程,制

3、作数据库管理软件。 采集下位机的数据并保存,然后 管理采集到的数据,具有采集、数据更新、查询统计和报表的打印功能3 智能卡门禁系统数据传输模块的设计主要内容: 完成中央控制电脑与门禁读写器之间的数据传输协议的设计, 能实现主、 从 机的双向数据传输及一对一、一对多的数据传输。2总体方案根据设计要求,整个智能卡门禁系统分为三大部分:其一是读写器部分,包括 MCU、复位电路、时钟电路、显示电路、键盘、数据存储等主控模块及非接触 IC 卡读写模块和电锁 驱动部分; 其二是中央控制电脑的软件管理系统模块; 其三是中央控制电脑与读写器之间的 数据传输模块。其总体方案见图 5.1 。图 1 非接触式 IC

4、 卡门禁系统框图3非接触式 IC 卡门禁机的设计系统采用 Philips 公司的非接触智能 IC 卡 Mifare 1 卡,以 M1卡作为用户卡,以用户 卡的序列号 SN(全球唯一)为依据控制门的开启。因为它是一个高频卡(工作频率为 13.5MHZ),有较强的抗干扰能力、读写距离远( 5MM 10MM)。首先 ,在发卡系统 (中央控制 PC机)里把用户的卡号及个人信息输入系统数据库, 并将该卡号作为合法卡号下载给所有门禁机。 当有一张 M1卡在门禁机的有效工作范围内时 , 系统 会自动向卡发出命令 , 卡接收到命令后向门禁机反馈其 SN, 门禁机判断收到的卡号是否合法,合法则驱动电磁门锁开门,

5、并实时上传其开门记录;如果是非法卡(XX或已 挂失的卡)则拒绝开门并上传报警信息。只有最高授权者(掌握授权密码)才可以发管 理员卡, 管理员必须用管理员卡方可登录发卡系统进行发卡 / 下传合法卡号、 挂失、 解挂、 下传黑名单等操作。附录二 门禁机硬件原理图由于采用了 Philips 公司的非接触式 Mifare 1 卡,所以卡的读写模块也采用了以Philips 公司最新推出的 Mifare 读写芯片 MF RC500为核心开发的 ZLG500A读写模块。 门禁机模块的硬件原理图见附录二。通过 AT89C52对 ZLG500A的控制达到对卡的读写。系统结构简单 , 成本较低且具有信息量大和安全

6、保密性好等特点。外围配有 RS232转 RS485接口能与 PC机互连成网络,可以完成读卡、显示卡号和出入时间、身份识别、开锁以及保存和上传出入记录、下载黑名单、设 置开门权限等功能。门禁机模块的主控软件主要完成门禁机模块的初始化、 卡的识别、 开启门锁及保存有关 数据和数据的传输等五大功能。其总体工作流程如图 5.2 所示:图 3 非接触式 IC 卡门禁机总体工作流程 在完成整个门禁机模块的设计和制作前, 首先必须明确非接触式 IC 卡读写模块的 功能特性、接口规范和控制方式。本系统选用 MIFARE 1 卡作为门禁钥匙,相应地,选用广 州周立功公司的 ZLG500A读写模块作为卡与门禁机交

7、换数据的接口模块。1. ZLG500A读写模块特性1)功能特性图 5.3 为 ZLG500A非接触式 IC 卡读写模块, 该模块采用最新 PHILIPS 高集成 ISO14443读卡芯片 MF RC500,能读写 RC500内 EEPRO,M提供三线 SPI 接口,并具有控制线输出口,EMC性能优良;并自带无源能与任何 MCU接口。此外,该模块四层电路板设计,双面表贴, 蜂鸣器信号输出,能用软件控制输出频率及持续时间。J1图4 ZLG500A 模块实物图如图 5.3 所示 J1 为与天线的接口 J2 为与 MCU的 接口 ,J1 、J2 的管脚排列和功能说明 见表 5.1 :表 5.1 ZLG

8、500A 非接触式 IC 卡读写模块管脚说明 ( 一 )管脚符号描述J1-1GND地J1-2TX1天线发送 1J1-3GND地J1-4TX2天线发送 2J1-5GND地J1-6RX天线接收表 5.1 ZLG500A 非接触式 IC 卡读写模块管脚说明 ( 二 )管脚符号类型描述J2-1SCLK输入三线 SPI 接口时钟线总是由外部 MCU产 生J2-2SDATA双向数据线可双向传输J2-3SS双向传输启动线接 MCU外 部中断J2-4VCCPWR电源正端J2-5RST复位内部 MCU复 位端高电平有效J2-6GNDPWR电源负端J2-7CTRL输出控制线输出J2-8BZ输出蜂鸣器信号输出ZLG

9、500 模块可方便地与任何 MCU进 行接口,如图 5.4 所示为 ZLG500与 MCS-51 单片机P1.0SCLKP1.1SDATAP1.2SS ZLG500MCS51P3.3RSTCTRLBZ图 5.4 ZLG500 与 MCS-51 单片机接口图的典型接口。 SCLK、SDATA、SS 为 ZLG500A与 MCU相联接的控制线,分别为片选 SS、时钟线SCLK 和数据线 SDATA。主控制器的 MCU和 读卡模块内的 MCU通 过此三线相连,三根线上的 实际电平是双方口线状态逻辑线与的结果。2) ZLG500 三线串行读卡模块接口规范( 1) 接口原理接口空闲时主机 SS=1 SC

10、LK=0 SDATA=0从 机SS=1 SCLK=1 SDATA=0。 其中 SS和DATA是双 向的而时钟线 SCLK是单向的,即时钟只能由主控制器产生,该信号必须严格遵守时序规范, 否则将出现通信错误读卡模块必须释放该线。SS为数据发送使能, 若一方有数据要发送给另一方, 则该方控制 SS线为低并在发送结束 后将该线置高,接收数据方不得控制该线,双方必须遵守通信协议不得同时控制该线。SDATA为数据线,由数据发送端控制数据,接收端必须释放该线。该线在一次传输开始 时还同时作为数据接收端的响应信号。( 2)时序图如图 5.5 所示,无论数据传输的方向如何, SPI 线上信号的波形总是如下;

11、Start from sender Stop from senderSSSCLKt1 tH t2 t3tLtH t2 t3SDATAAck from receiverSender and receiver图5 ZLG500 时序图且在SCLK为低时取决接收器内 一旦接收器响由图中可以看出, 在 SS为低的情况时, 时钟和数据线上的信号才有效。 SDATA变化,在 SCLK为高时 SDATA应保持稳定。以上传输中从数据发送器请求开始至数据接收器响应的时间是不确定的,的MCU 是否忙,有必要设置一个看门狗定时器对数据接收器的响应进行监视, 应,则 MCU必 须根据数据传输的方向,严格控制以下几个时

12、间,以确保数据传输无误。t1 数据接收器响应至 MCU产 生第一个 SCLK 上升沿的时间。t2 两个字节传输之间 SCLK 低电平的持续时间。t3 传输最后一个字节的最后一位的 SCLK 信号的上升沿至 SS 上升沿的时间。 tHSCLK 信号的高电平持续时间。tL SCLK 信号的低电平持续时间。 在数据传输的方向不同时,对时间 t1 t3 tH 和 tL 都有各自不同的要求。( 3) 通信协议MCU与 ZLG500的通信必须先由 MCU发送命令和数据给 ZLG500,ZLG500执行命令完毕后, 将 命令执行的状态和响应数据发回 MCU。开始通信前,收发双方必须处于空闲状态。首先由 MC

13、U发出 SS下降沿信号,然后等待ZLG500载 SDATA线上的响应,若在 50ms内为检测到此信号,则退出本次传输。若正确响应, 则MCU可将命令和数据发送出去。然后 MCU等待 ZLG500发回的状态和响应数据。也即等待 SS线上的下降沿信号,若在 50ms 内为检测到此信号,则退出本次传输,若正确检测到 SS信号,则可以接收状态和数据。ZLG500初始化的子程序如下:SCLK BIT P1.0; ZLG500 内部复位处于空闲状态MOV 58H,#11HMOV59H,#11HMOV5AH,#11HMOV5BH,#11HLCALLCONFIGLCALLREQUESTLCALLANTICOL

14、L; * IF HAVE CARD *配置 发送请求; 防碰撞SDATA BIT P1.1SS BIT P1.2RST BIT P3.3Zlg500:SETB RSTLCALL DELAY_50MS CLR RSTLCALL DELAY_50MS SETB SS CLR SDATACLR SCLKMOV A,52H; A=04 IS NO CARDCJNE A,#04H,SA123LJMP SA234SA123:RET从存储器中读取数据SA234:LCALL READ_BLOCKLCALL DELAY_100MSMOV R2,#20MOV R0,#58H进行卡号的比较和验证MOV R1,#80

15、HLCALL COMPAREREL13:SETB FLAGLCALL REL123JB FLAG,REL13RET是由 MCU向 ZLG500发出的不带数主要是检REQUES命T令上述程序中 CONFIG子程序为 RC500的复位和配置子程序,据的命令程序; REQUES子T程序是 MCU向 ZLG500发出的带一个字节数据的命令程序, 查在有效范围内是否有卡存在; ANTICOLL子程序是防冲突操作,必须在执行了 后立即执行。MCU与 ZLG500之间的通信一般遵循如下的数据格式MCU向 ZLG500发出的命令模式的格式如下:SeqNrCommandLenData0 NBCC其中 : Seq

16、Nr: 1 Byte 是数据交换包的序号Command: 1 Byte 是命令字符Len: 1 Byte 是数据的长度Data Len Byte 是数据字节BCC: 1 Byte 是一个字节的 BCC效验SeqNrStatusLenData0 NBCCINFO0 INFOn 其中: SeqNr: 1 Byte 是数据交换包的序号status: 1 Byte 是状态字符Len: 1 Byte 是数据的长度 Data Len Byte 是数据字节 BCC: 1 Byte 是一个字节的 BCC效验 按照上述数据格式传输编制的 CONFIG、 REQUEST和 ANTICOLL子程序清单如下:* CO

17、NFIG *CONFIG:MOV60H,#00H; 数据交换包的序号MOV61H,#52H; 配置命令字符代码MOV62H,#00H; 数据的长度为 0LCALLBCC_SUM0; BCC 效验子程序MOV63H,A; BCC_SUMMOV A,#00HMOV R2,#04HMOVR0,#60H; 发送首地址LCALLSPI_SENDMOV R0,#30H; 接收起始地址LCALL_SPI_RCVRET* REQUEST *REQUEST:MOV60H,#00H; 数据交换包的序号MOV 61H,#41H; 请求命令字符代码MOV62H,#01H; 数据的长度为 1MOV63H,#01H; 请

18、求模式的数据 mode=01HLCALLBCC_SUMMOV64H,AMOVA,#00HMOVR2,#05H; 发送 5 个字节数MOVR0,#60H; 60H_64H 的数据发送LCALLSPI_SEND;MOV R0,#40H; 接收起始地址LCALLSPI_RCVRET* ANTICOLL *MOV60H,#00; 数据交换包的序MOV61H,#42H; 防碰撞命令字符代码MOV62H,#01; 数据的长度为 1MOV63H,#00H; 数据值为 0LCALLBCC_SUMMOV64H,AMOVA,#00HMOVR2,#05H; 发送 5 个字节数MOVR0,#60H; 60H_64H

19、的数据发送LCALLSPI_SENDMOVR0,#50H; 存放数据ANTICOLL:LCALL SPI_RCVMOV A,52HCJNE A,#04H,L0MOV 58H,53HMOV 59H,54HMOV 5AH,55HMOV 5BH,56HMOV A,58HXRL A,59HXRL A,5AHXRL A,5BHMOV 5CH,AMOV A,#00HCLRP3.4LCALLDELAY_50MSLCALLDELAY_50MSLCALLDELAY_50MSLCALLDELAY_50MSSETBP3.4L0: RET3)写数据 MCU ZLG500除响应信号外,三根线上的信号全由MCU产 生。

20、MCU 在 SS 线上产生一个下降沿,发出 请求数据传输的信号,等待 ZLG500 响应后本次数据传输开始, ZLG500 将在 SCLK 为高时读 取SDATA线上的数据,传输完毕后 MCU应在 SS 线上产生一个上升沿结束本次传输。写数据的具体步骤可见表 5.2 。表5.2 ZLG500A读写模块写数据步骤序号动作发出者动作动作接收者动作说明1MCUSDATA=1 SCLK=0 SS=下降沿ZLG500本次数据传输开始请求2ZLG500SDATA=上升沿MCU本次数据传输响应3MCUSDATA=串行数据ZLG500数据传输4MCUSCLK=上升沿、延时、下降沿ZLG500产生时钟 ZLG5

21、00 读数据5MCU重复动作 3、4 传送N 8 位ZLG500数据传输 N 字节6MCUSS=上升沿 SDATA=0 SCLK=0ZLG500本次数据传输结束传输过程中必须严格遵守以下时间要求: t17s ,t214s ,tH7s,tL9s ,t3= 任意面是 MCU向 ZLG500写入数据的子程序 , 为满足上述时间要求,可通过加入空操作来实现。SPI_SEND:ANL P3,#0F7H求DEC R0SETB SDATA CLR SCLKJB SDATA,$CLR SSMOVR5,#100DL33:MOVR6,#7DHDL44:JBSDATA,ASDFDJNZ R6,DL44DJNZ R5

22、,DL33AJMPSPI_SENDASDF:ANLP1,#0FDHSENDBYTE:NOPINCR0NOPNOPMOV A,R0MOV R3,#8NOPNOPSENDBIT: NOPRLC AMOV SDATA,CNOPNOPSETB SCLK: NOP; 恢复 SS 的输出功能, 传输开始请; 发送数据的首地址; SADATA仍为高则等待; MCU 等待 SDATAD的上升沿; STADA 恢复输出设置一个字节的位数发送数据位NOPCLR SCLKDJNZ R3,SENDBITDJNZ R2,SENDBYTESETB SS ; 本次数据传输结束CLR SDATANOPJB SS,$RET4)

23、读数据 ZLG500 MCU响应信号 SCLK信号由 MCU 产生,SS 信号和 SDATA信号由 ZLG500 产生。ZLG500会在SS 线 上产生一个下降沿发出请求数据传输的信号,等待 MCU响应后本次数据传输开始, MCU 将在SCLK 为高时读取 SDATA 线上的数据,传输完毕后 ZLG500 将会在 SS 线上产生一个上升沿结 束本次传输。读数据的具体步骤可见表 5.3传输过程中必须严格遵守以下时间要求 t114s, t216s, tH6s, tL6s, t39s下面是 MCU从 ZLG500读取数据的子程序 作来实现。SPI_RCV:ORL P3,#08HANL P1,#0FD

24、HDEC R0 CLR SCLK SETB SDATA NOP ORL P1,#02NOPNOPRCVBYTE:MOV R3,#8INC R0RCVBIT:NOPNOPSETB SCLK NOPNOP MOV C,SDATA RLC A NOPNOPCLR, 同理,为满足上述时间要求, 可通过加入空操; SS 设置为输入; SDATA设置为输出; SDATA 设置为输入读取一位SCLK表5.3 ZLG500A读写模块读数据步骤动作 序号动作 发出者动作动作 接收者动作说明1ZLG500SDATA=1 SS=下降沿MCU本次数据传输开始请求2MCUSDATA=上升沿ZLG500本次数据传输响应3

25、ZLG500SDATA=串行数据MCU数据传输4MCUSCLK=上升沿、延时、下降沿ZLG500MCU产生时钟,且读取数据5双方重复动作 3、4 传送 N 8 位双方数据传输 N 字节6ZLG500SS=上升沿 ,SDATA=0MCU本次数据传输结束NOPNOPDJNZ R3,RCVBITMOV R0,A ; 读取的一个字节存入指定地址NOPNOPJNB SS,RCVBYTEANL P1,#0FDH ; SDATA设置为输出CLR SDATARET2 门禁机主控模块上面我们对 ZLG500A读写模块的功能特性、接口规范和控制方式作了比较详细地讲解, 在此基础上, 可以进一步完成 MCU对 ZL

26、G500A的读写和控制, 如果附加上周边的辅助功能和 驱动控制,就可以形成一个完整的智能卡读写器。首先,我们看一下 MCU部分的设计和控制的实现。 图 5.6 是MCU控制框图, 从图中可以 看出 MCU除了完成对 ZLG500A读写模块的控制外, 还要承担其它功能的控制, 主要包括四大 部图 6 门禁机控制框图分:键盘和显示部分、 实时时钟和掉电保护部分、 数据存储和数据传输部分、 驱动控制部分。1) 键盘和显示部分键盘和显示是一般智能化仪器仪表均须具有的功能, 是人机交互最主要的方式。 不同的 智能仪器,随着其功能、 MCU资源的占用、使用环境等各种条件的不同,可采用多种键盘和 显示方案。

27、本应用系统中,由于外围部件较多, MCU资源占用较大,为了尽可能的减少 MCU输入输出 I/O 的占用,键盘的设计采用串入并出的方式,利用一片 74LS164,占用 MCU的四根 I/O 口,就可以实现 16 个键的全部功能。具体电路见图 5.7 :图7 串行口扩展的行列式键盘从系统监控软件的角度来看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的, 还有不少问题需要解决,否则,在操作键盘时就容易引起误操作、失控等现象。首先是去抖动处理。 按键的触点在闭合和断开时均会产生抖动, 这时触点的逻辑电平是 不稳定的, 如不妥善处理, 将会引起按键命令的错误执行或重复执行。 最常用的一种方法是 软件

28、延时的方法来避开抖动阶段,延时过程一般取 10ms50 ms。其次是连击的处理。当按下某个键时,键盘处理程序便查找相应的功能号 , 并转到相应 的功能模块程序去执行,如果这时操作者还没有释放按键, MCU就会反复执行该按键对应的功能, 好像操作者在连续操作该键一样。 本系统中需要按键去改变系统的实时日历, 如果出 现连击现象, 操作者就很难设定时间。 要解决连击的问题最关键是一次按键只让它响应一次, 该键不释放就不执行第二次。 为此要分别检测到按键按下的时刻和释放的时刻。 有两种程序 结构都可以解决连击的问题, 一是按下键盘就执行, 执行完成后等待操作者释放按键, 在末 放前不再执行指定的功能, 从而避免了一次按键重复执行的现象。 二是在按键释放后再执行 指定的功能,同时可以避免连击,但与前一种相比,给人一种反应迟钝的感觉。具体采用哪 种结构,可根据实际情况而定。关于键盘控制的具体编程,可参考有关的书籍和应用说明,在此就不再说明。 显示是人与计算机系统

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1