门禁专业系统设计.docx
- 文档编号:27545239
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:20
- 大小:1,014.27KB
门禁专业系统设计.docx
《门禁专业系统设计.docx》由会员分享,可在线阅读,更多相关《门禁专业系统设计.docx(20页珍藏版)》请在冰豆网上搜索。
门禁专业系统设计
门禁系统设计
设计内容:
1.门禁系统硬件设计;
2.门禁系统软件设计。
设计目标:
1.经过RFID技术,验证射频门禁卡正当性,控制电子门锁开启;
2.门禁卡信息进行管理。
系统功效:
1.卡片使用模式:
采取13.56MHz非接触式物联网射频卡;
2.刷卡开门:
用户进入门禁管制区域时需刷卡,读卡器读取信息后,将信息传输到主机,主机首先判定信息是否正当,如正当则发出开门指令,不正当则发出报警,同时统计用户刷卡事件;
3.管理控制;对控制器统计进行搜集管理,可增加、删除、更新用户信息;
4.统计存放;系统可将门禁控制器运行产生全部用户刷卡事件、报警时间等进行统计;
5.报警功效:
如发生控制器异常、非法卡开门等事件时系统发出报警信号。
门禁系统设计框图
读卡器:
读射频卡信息。
按键模块:
注册通行卡。
按下设置键,把工作模式切换到注册模式后,刷卡并显示卡号自动注册。
注册完成后液晶显示注册完成。
再次刷这张IC卡时,就能开门。
注销通行卡(清除存放器卡号数据)
按下设置键,把工作模式切换到注销模式后,刷卡并显示自动注销,就把存放里保留卡号数据清除。
清除数据后,IC卡已经处于注销状态
一.硬件设计内容(系统硬件电路图设计)
1.各模块选择硬件介绍
刷卡模块、单片机模块、继电器模块、按键模块和蜂鸣器模块组成。
其用高频读卡器模块FM1702,能读写荷兰Philips企业Mifare非接触式射频卡,读卡距离约10cm。
控制模块采取STC89C52单片机,它含有8K可编程Flash存放器。
单片机和读卡器通信是采取SPI通信。
1.1STC89C52单片机介绍
控制关键选择STC89C52。
其关键性能以下:
1.STC89C52单片机和MCS-51单片机产品能够兼容
2.在系统内可编程Flash存放器8K字节
3.擦写周期可达成100000次
4.程序存放器可做到三级加密
5.可编程I/O口线数量达成32个
6.总共有三个16位计数器
7.中止源数目达成了8个
8.单片机含有全双工UART串行通道
9.不开启是能耗低
10.停电以后中止可复位
(1)功效特征描述
该STC89C52单片机作为低功耗、高性能CMOS8位微控制器,系统可编程Flash存放器拥有8K。
利用Atmel企业独特高密度难丢失存放器技术制造,和工业上80C51产品说明能够和引脚完全兼容。
单片机上Flash做到程序存放器在系统中能够编程,大众化编程器也可进行编程。
在单片机芯片上,有8位CPU和在系统可编程Flash,做到了STC89C52为众多嵌入式控制应用系统提供高灵活、极为有效处理方案。
(2)引脚图以下:
图1.1STC89C52引脚图
(3)引脚介绍:
VCC:
接电源
GND:
接地
P0口:
P0口是一个8位漏极开路双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存放器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0含有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个含有内部上拉电阻8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时能够作为输入口使用。
作为输入使用时,被外部拉低引脚因为内部电阻原因,将输出电流(IIL)。
另外,P1.0和P1.2分别作定时器/计数器2外部计数输入(P1.0/T2)和时器/计数器2触发输入(P1.1/T2EX),具体以下表所表示。
在flash编程和校
验时,P1口接收低8位地址字节。
表1.1P0口第二功效
引脚
第2功效
P1.0
T2(定时器/计数器T2外部计数输入),时钟输出
P1.1
P1.1T2EX(定时器/计数器T2捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
P2口:
P2口是一个含有内部上拉电阻8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时能够作为输入口使用。
作为输入使用时,被外部拉低引脚因为内部电阻原因,将输出电流(IIL)。
在访问外部程序存放器或用16位地址读取外部数据存放器(比如实施MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存放器时,P2口输出P2锁存器内容。
在flash编程和校验时,P2口也接收高8位地址字节和部分控制信号。
P3口:
P3口是一个含有内部上拉电阻8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时能够作为输入口使用。
作为输入使用时,被外部拉低引脚因为内部电阻原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功效(第二功效)使用,以下表所表示。
在flash编程和校验时,P3口也接收部分控制信号。
表1.2P3口第二功效
引脚
第2功效
P3.0
RXD(串行口输入端)
P3.1
TXD(串行口输出端)
P3.2
(外部中止0请求输入端,低电平有效)
P3.3
(外部中止1请求输入端,低电平有效)
表1.3P3口第二功效
引脚
第2功效
P3.4
T0(定时器/计数器0计数脉冲输入端)
P3.5
T1(定时器/计数器1计数脉冲输入端)
P3.6
(外部数据存放器写选通信号输出端,低电平有效)
P3.7
(外部数据存放器读选通信号输出端,低电平有效)
RST:
复位输入。
晶振工作时,RST脚连续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期高电平。
特殊寄存器AUXR(地址8EH)上DISRTO位能够使此功效无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存放器时,锁存低8位地址输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在通常情况下,ALE以晶振六分之一固定频率输出脉冲,可用来作为外部定时器或
时钟使用。
然而,尤其强调,在每次访问外部数据存放器时,ALE脉冲将会跳过。
假如需要,经过将地址为8EHSFR第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在实施MOVX或MOVC指令时有效。
不然,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EHSFR第0位)设置对微控制器处于外部实施模式下无效。
PSEN:
外部程序存放器选通信号(PSEN)是外部程序存放器选通信号。
当AT89S52从外部程序存放器实施外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存放器时,PSEN将不被激活。
EA/VPP:
访问外部程序存放器控制信号。
为使能从0000H到FFFFH外部程序存放器读取指令,EA必需接GND。
为了实施内部程序指令,EA应该接VCC。
在flash编程期间,EA也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路输入端。
XTAL2:
振荡器反相放大器输出端。
1.2FM1702高频读卡器模块介绍
性能参数:
1、输入电压:
5~5.5V
2、输入电流:
刷卡电流<25mA
3、通讯方法:
SPI
4、有效刷卡高度:
3-10cm(视天线、卡和周围环境而不一样)
5、使用环境:
-25~70摄氏度
6、尺寸:
95.8*54.3(单位:
mm)
1.3Mifare射频卡介绍
本设计中采取射频卡为Mifare射频卡,其关键是PHILIPS企业Mifare1ICS50系列微芯片。
卡片上无源,工作时电源能量由卡片读写器天线发送无线电载波信号祸合到卡片上天线而产生电能,通常可达2V以上,供卡片上IC工作。
工作频率13.56MHZ。
Mifare关键指标
容量为8K位EEPROM
分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位
每个扇区有独立一组密码及访问控制
每张卡有唯一序列号,为32位
含有防冲突机制,支持多卡操作
无电源,自带天线,内含加密控制逻辑和通讯逻辑电路
数据保留期为,可改写10万次,读无限次
工作频率:
13.56MHZ
通信速率:
106KBPS
读写距离:
10mm以内(和读写器相关)
(1)卡和读写器通讯
①复位应答Mifare卡通讯协议和通讯波特率是定义好,当有卡片进入读写器操作范围时,读写器以特定协议和它通讯,从而确定该卡是否为M1射频卡,即验证卡片卡型。
②防冲突机制当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中则处于空闲模式等候下一次选卡,该过程会返回被选卡序列号。
③选择卡片选择被选中卡序列号,并同时返回卡容量代码。
④三次相互确定选定要处理卡片以后,读写器就确定要访问扇区号,并对该扇区密码进行密码校验,在三次相互认证以后就能够经过加密流进行通讯。
(在选择另一扇区时,则必需进行另一扇区密码校验。
)
(2)系统工作方法为:
STC89C52控制FM1702,驱动天线对Mifare卡进行读写操作;然后依据所得数据对其它接口器件,如和上位PC机之间进行通信,把数据传给上位机。
和上位机通信采取RS485通信模块,通信距离能够达成1200米左右。
整个系统由5V电源供电。
(3)工作原理:
系统数据存放在无源Mifare中。
读写器关键任务是传输能量给Mifare卡,并建立和之通信。
单片机控制MFRC500,将其接收到信号经过RS485传送给上位PC机。
然后等候上位机传回信号,确定是否控制实施器开门,还是报警。
2STC89C52电路连接
本系统中,STC89C52电路连接图以下图2.2所表示,采取SPI通信方法进行连接,和FM1702模块芯片数据总线相连。
P0口一部分端口线和FM1702sl芯片控制总线相连,在电源和地之间加上一个排阻,上电假如初始化成功,则提醒能够刷卡,如初始化失败,则一直停留在初始化界面。
图2.2刷卡模块接口原理图
图2.3STC89C52接线图
3LCD12864液晶显示器介绍
LCD12864液晶显示器是带汉字字库128X64是一个含有4位/8位并行、2线或3线串行多个接口方法,内部含有国家标准一级、二级简体汉字字库点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活接口方法和简单、方便操作指令,可组成全汉字人机交互图形界面。
能够显示8×4行16×16点阵汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块组成液晶显示方案和同类型图形点阵液晶显示模块相比,不管硬件电路结构或显示程序全部要简练得多,且该模块价格也略低于相同点阵图形液晶模块。
3.1显示器模块模块连接电路图
图3.4显示器模块连接图
单片机和显示器接口电路部分:
液晶显示器数据接口线和单片机P1口相连,P0.0,P0.1,P0.2用于使能和控制对液晶屏读写等操作。
4AT24C02介绍
AT24C02是低电压工作2K位串行电可擦除制度存放器,内部组织为256个字节,每个字节8位,该芯片被广泛应用于低电压及低消耗工商业领域。
4.1AT24C02存放模块模块连接电路图
图3.7存放器模块接口原理图
4.2关键特征:
1.工作电压:
1.8V~5.5V2.输入/输出引脚兼容5V3.应用在内部结构:
128x8(1K),256x8(2K),512x8(4K),1024x8(8K),2048x8(16K)4.二线串行接口5.输入引脚经施密特触发器滤波抑制噪声6.双向数据传输协议7.兼容400KHz(1.8V,2.5V,2.7V,3.6V)8.支持硬件写保护9.高可靠性:
读写次数:
1,000,000次
极限额定参数:
引脚定义:
表3.4引脚定义
引脚名称
引脚功效
A0-A2
器件地址输入
SDA
串行数据输入输出
SCL
串行时钟输入
WP
写保护
VCC
电源
GND
地
引脚描述:
串行时钟信号引脚(SCL):
在SCL输入时钟信号上升沿将数据送入EEPROM器件,并在时钟下降沿将数据读出。
串行数据输入/输出引脚(SDA):
引脚可实现双向串行数据传输。
该引脚为开漏输出,可和其它多个开漏输出器件或开集电极器件线或链接。
器件/页地址脚(A2,A1,A0):
A2,A1和A0引脚为AT24C02硬件地址输入引脚,在一个总线上最一个总线上最多可寻址八个2K器件,A2,A1和A0必需内部链接。
写保护(WP)引脚:
AT24C02含有用于硬件数据写保护功效引脚。
当该引脚接GND时,许可正常读写操作,当该引脚接VCC时,芯片开启写保护功效。
5电子锁控制
电子锁控制采取9012三极管驱动5V继电器,单片机输出OUT经过9012三极管驱动继电器,继电器输出直接接继电器线圈一端,线圈另一端接GND。
继电器公共点和长开点分别接电子锁两跟控制线因为电子锁开关是靠两根控制线是否连通来控制,当两根控制线接在一起时就开门,反之假如两根控制线断开就锁门。
所以当单片机输出端输出高电平时三极管倒通,9012输入端为低电平,因为9012在这电路中起到开关作用,所以9012输出为高电平。
此时继电器线圈上有电流流过,继电器吸合,电子锁两根控制线接通,电子锁开门。
反之,假如单片机输出高电平三极管不倒通,9012三极管输出为低电平,所以继电器线圈没电路,继电器不动作,电子锁控制线保持断开,电子锁锁门。
电路图以下:
图3.8继电器模块电路
6报警电路
报警电路有一个直流蜂鸣器和9012三极管组成,电路图图所表示。
图中Alarm为单片机P2.4脚,当需要蜂鸣器报警时只需要将单片机P2.4管脚置为高电平,三极管倒通,电流从+5V电源经过蜂鸣器和三极管CE极流向地,蜂鸣器有电流流过则发声报警。
当单片机P2.4管脚为低电平时,三极管截止,没有电流从蜂鸣器流过,蜂鸣器停止发声,所以经过控制单片机P2.4管脚高电平时间就能够控制缝鸣器报警时间。
图3.9蜂鸣器模块
7射频卡读卡器块复位电路
射频卡读卡器块采取了按键复位电路,当系统发生故障,可经过按下复位按键,系统将复位,让系统重新初始化运行。
图3.10单片机复位模块
8按键模块
射频卡读卡器在系统初始化后进入工作模式,经过按键来切换多种模式。
工作模式按下K1即进入注册模式,再次按下K1进入注册模式,接着按K1循环到工作模式。
图3.11按键模块
9LED显示模块
图3.12LCD显示模块
射频卡读卡器工作模式下刷卡,当PowerLed为低电平D1亮,则表示刷卡成功此卡为正当卡许可进入。
当LED为低电平时D2亮,说明此是所刷卡编号并未存放在存放器中进入报警状态。
二.射频卡读卡器软件设计
现在单片机编程使用语言大多为汇编语言和C语言。
利用汇编语言编程好处是代码生成效率高,程序运行速度快;不足是程序可读性和可移植性比较差,用汇编语言编写单片机应用系统程序周期长,调试和排错相当困难。
C语言是一个通用计算机程序设计语言,它既可用来编写计算机系统程序,也可用来编写通常应用程序,用它编写程序,含有很好可读性和可移植性。
所以在本设计中利用C语言进行射频卡读卡器程序设计。
1系统步骤及主程序介绍
系统工作是按固定次序实施,关键步骤图
系统工作步骤图
2读卡器
读卡器主程序内用要完成系统初始化,读卡器和高频频FM1702模块中止处理程序,和和PC机通信中止处理程序等操作.
3读卡过程及程序设计介绍
读卡器软件编程来进行对射频卡一系列操作,关键有:
防冲突程序、卡片读写程序和对卡片数据块操作等。
读卡程序设计思绪是在系统初始化后,射频场检测有Mifare1卡进入射频天线有效范围,读卡程序按顷序开启防冲突程序和认证程序,验证成功后最终操作卡片读写程序。
程序步骤图见图所表示,下面介绍其中多个关键过程。
3.1寻卡过程
Mifare1卡是一个以被动方法工作卡,进入射频区Mifare1卡上电后进入IDLE状态,它经过吸收感应区内磁场能量进行工作,不会主动发出信号。
读卡器必需不间断地向外发出请求信号,符合条件卡只有在接收到请求信号以后才会进行响。
程序中用Mf500ComReq()函数不停向外循环发请求信号,检验感应区是否有符合条件卡,一旦有符合条件卡进入并被选中,程序退出循环请求过程,进入防冲突过程。
Requeststd指令分为和Requestall两个指令。
Requestal指令功效是在天线范围内检验全部符合条件卡,不管是处于IDLE状态还HALT状态卡,全部会响应。
Requeststd指令只对天线范围内处于IDLE状态卡有效,对HALT状态卡无效。
考虑到最少有两张卡同时进入感应区可能,设计中采取Requestall指令,Mf500ComReq()函数关键代码及相关注释见附录。
3.2防冲突
所谓防冲突又叫防碰撞、防重合,就是从多张进入感应区卡中选出一张来进行操作。
假如只有一张进入感应区,而且已经知道了卡序列号(SN),则可跳过此步,直接进入选卡命令,若不知道卡序列号,则必需调用防冲突函数mF500CascAnticoll(),以得到感应区内卡序列号。
若同时有多张卡在感应区内,防冲突函数能够选择其中一张卡并得到其序列号。
防冲突指令只是取得一张Mifare1卡序列号,并没有真正选中这张卡。
选中卡应由Select(见下一步)指令完成。
SN为40位长5个字节,实际有意义只有前4个字节,最终一个字节是SN异或校验校验码,在取得SN以后,通常应在程序中对所接收到SN进行校验,以确保数据正确性。
mF500CascAnticoll()函数关键代码及相关注释见附录。
3.3选择卡片
选择卡片就是依据已知序列号读出卡容量编码(一字节)。
只有经过这一步骤后才算真正选中了一张卡,以后操作全部对这张卡进行。
选择卡片指令是很关键,而且必需首先被使用,因为卡片只有先被选中了,然后才能进行读、写等操作。
选择卡片过程是经过Mf500CascSelect()函数实现,其关键程序代码及相关注释见附录。
3.4读取卡片
假如完成了前面多个步骤,说明所选卡是本系统卡,就能够对Mifare卡正常进行读、写了。
读卡函数Mf500Read()从已经过密码验证扇区中读取一个数据块,共16个字节,其中前面多个字节即为卡号(1个字节表示2位卡号,本系统卡号长度为10,所以需要前面5个字节。
)Mf500Read()函数关键代码及相关注释见附录。
3.5卡挂起
当对卡中数据处理完后,程序应使卡处于挂起状态,此时即使卡在感应区域,读卡器也不会再对该卡进行任何操作。
Mf500Halt()函数用来实现卡挂起功效,其关键代码及相关注释见附录。
附实物图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 门禁 专业 系统 设计