基于ARM的门禁系统设计Word文档下载推荐.docx
《基于ARM的门禁系统设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于ARM的门禁系统设计Word文档下载推荐.docx(37页珍藏版)》请在冰点文库上搜索。
门禁系统一样有以下类型:
1.不联网门禁:
适用场合:
已装修好不便于重新布线,安全性能要求不高的场合。
2.RS-485联网门禁:
小区、学校、仓库等人数稍多,门需统一治理,安全性能要求一样的场合。
3.CAN-bus联网门禁:
通信性能稳固性要求高,传输速度要求快、传输距离要求远的场合,如金融机构、政府企事业机关等。
4.TCP/IP以太网联网门禁:
适合安装在大项目、人数多、速度快、跨地域的工程中。
由于本系统的技术要求和应用场所是中距离通信场合,综合以上四种类型及本系统对安全性的要求不是专门高的基础上,RS-485联网系统能够胜任。
1.2.3感应卡的选择
常见的门禁系统有:
密码门禁系统、非接触IC卡(感应式IC卡)门禁系统和指纹虹膜掌型生物识别门禁系统等。
密码门禁系统由于其本身的安全性弱和便利性差差不多面临剔除;
生物识别门禁系统安全性高,但成本高;
现在国际最通用的依旧非接触IC卡门禁系统。
非接触IC卡由于其较高的安全性,便利性和性价比高成为门禁系统的主流。
因此该系统使用非接触IC卡。
非接触IC卡RS-485门禁考勤系统示意图如图1-1所示。
图1-1非接触IC卡RS-485门禁考勤系统示意图
第2章硬件设计技术文档
本设计为门禁考勤系统,顾名思义,其兼具门禁和考勤的功能。
下面为本系统的硬件设计说明。
2.1门禁考勤系统的功能框图见图2-1
图2-1门禁考勤系统的功能框
2.2硬件电路分析
2.2.1电路原理图〔见图2-2〕
图2-2门禁考勤系统电路原理图
2.2.2硬件使用的资源
LPC2368是基于一个支持实时仿真和嵌入式跟踪的32/16位ARM7TDMI-STMCPU的微操纵器,并带有512kB的嵌入高速Flash储备器。
128位宽度的储备器接口和专门的加速结构使32位代码能够在最大时钟速率下运行。
对代码规模有严格操纵的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的缺失却专门小。
其专门适合于串行通信的场合。
LPC2368内部由512K的Flash,58K的片内SRAM,包括32K的局部总线SRAM、8K的USB使用的SRAM、16K的以太网SRAM和2K的电池SRAM。
此门禁考勤系统只使用了片内Flash、局部总线SRAM和2K的电池SRAM,没有外部扩展储备器。
如表2-1所示,为LPC2368I/O口的使用和分配表。
表2-1LPC2368I/O口的使用和分配表
功能模块
使用LPC2368引脚
引脚功能
看门狗复位
P1.24
给SP706S喂狗
串口UARTO(RS-232C和RS-485)接口
P0.2(TXDO)
串口UARTO的
输出输入
P0.3(RXDO)
P1.22(GPIO)
RSM485CHT的收发操纵
读卡器模块
P0.10(TXD2)
微操纵器与读卡模块的UART通信接口
P0.11(RXD2)
P0.27(SDAO)
微操纵器与读卡模块的
C通信接口
P0.28(SCLO)
P2.11(INT)
按键和门内开关
P0.6~P0.9
四个独立按键
P0.23
门内开门开关输入
指示灯
P1.28
门关闭指示灯
P1.29
门打开指示灯
继电器和蜂鸣器
P1.26
继电器操纵端〔高电平有效〕
P1.27
直流蜂鸣器操纵〔低电平有效〕
门磁检测
P1.25
检测门磁状态〔低电平为门开〕
SD卡接口
P0.21、P0.22、P2.11、P2.12、P2.13、P0.20、P0.19、P2.8、P3.25
引脚具体说明见表2-3
ZLG7290接口
P0.0(SDAO)
此接口出去次三接口外,还有电源和地接口
2.2.3各个部分单元电路原理及其分析
1.电源电路
系统设计为3.3V应用系统,然而LPC2300系列ARM微操纵器需要2种类型的电源,分别是3.3V和1.8V,而与PC机通信使用的RS-485收发器〔RSM485CHT〕和继电器差不多上5V器件,因此设计5V电源为系统前级电源,3.3V为后级电源。
关于LPC2300系列ARM的1.8V内核供电,本系统使用片内的DC-DC,由于本系统没有使用AD/DA功能,因此不区分模拟电源和数字电源。
如图2-3〔a〕、〔b〕所示,第一由CON30电源接口输入9V直流电源,二极管D11防止电源反接,通过C11、C12滤波,再通过LM2575将电源稳压至5V,然后通过L2、C111、C110组成的滤波电路,输出稳固的低纹波5V电压,再使用LDO芯片(低压差电源芯片)稳压输出3.3V电压。
考虑到系统长时刻处于工作状态,从节能方面考虑采纳了开关电源LM2575设计。
系统使用的电源是9V直流电源,由CON30电源接口输入,接头上的电源极性为外正内负。
当系统上电后,POWER指示LED1应点亮。
LDO芯片采纳了SPX1117M3-3.3,其特点为输出电流大,输出电压精度高,稳固性高。
图2-3系统前后级电源和RTC电源电路
LPC2300系列ARM集成有RTC外设,其单独供电,此次设计中提供了
两种供电方式,系统电源和外部电池供电,如图2-3〔c〕所示。
系统电源方式便于调试系统时使用,电池供电方式在实际应用中使用。
2.时钟系统、RTC时钟电路
系统采纳ARM嵌入式工业操纵模块T2368中的最小系统,其中使用外部12.000MHz无源晶振作为主时钟源。
关于实时时钟〔RTC〕功能,在CPU的RTCK1和RTCK2脚之间接一个32.768KHz的晶振。
3.看门狗复位电路
由于ARM芯片的高速、低功耗、低工作电压等特性导致其噪声容限低,对电源的纹波、瞬态响应性能、时钟源的稳固性、电源监控可靠性等诸多方面也提出了更高的要求。
使用了专用微处理器电源监控芯片SP706S以提高系统的可靠性,同时该芯片还带有硬件看门狗电路。
如图2-4所示,在电路中将看门狗复位信号输出脚〔WDO〕通过R32连接到SP706S的手动复位输入脚〔MR〕上,信号nRST连接到CPU的复位脚nRST。
可通过定时翻转P1.24的电平来喂狗,一旦在1.6秒内未翻转P1.24的电平,那么SP706S内部的看门狗溢出,WDO脚输出低电平,MR脚被WDO脚拉低为低电平,导致SP706S在RST脚输出200ms的复位脉冲令CPU复位,同时SP706S内部清零看门狗让其重新计数。
图2-4系统复位电路
当复位按键RST按下时,SP706S的RST脚输出低电平复位系统。
4.串口UART0〔RS-232C和RS-485〕接口
由于系统是3.3V,因此使用了SP3232E进行RS-232C电平转换,SP3232E是3V工作电源的RS-232C转换芯片。
如图2-5所示,CON2为UART0接口,能够在串口调试时期使用,在实际应用中,那么要使用CON3的RS-485接口。
RS-485收发器采纳嵌入式隔离RS-485收发器RSM485CHT,如图2-5〔c〕所示。
RSM485CHT隔离收发器模块,是集成电源隔离、电气隔离、RS-485接口芯片,总线爱护器件于一身,其为5V工作电源器件。
电路设计中采纳保守方法,加入了PESD1CAN隔离,是系统稳固性更高。
RS-232C与RS-485功能能够通过跳线JP2来切换,如图2-5〔b〕。
JP2跳线器说明见表2-2。
图2-5UART0(RS-232CANDRS-485)接口
JP2
功能
备注
操纵器的UART0与CON2〔RS-232C〕连接
〔模式1〕串口调试时使用
操纵器的UART0与CON3〔RS-485C〕连接
〔模式2〕实际应用中使用
5.JTAG接口电路和ISP跳线电路
采纳ARM公司提出的标准20脚JTAG仿真调试接口,JTAG信号的定义及与T2368的连接如图2-6〔a〕所示。
其中RTCK引脚加上拉电阻,使系统重启后,LPC2368内部的JTAG接口使能,能够直截了当进行JTAG仿真调试,同时P2[9:
0]引脚不为跟踪功能;
当要使用ISP功能时,将PC的串口与CON2相连,并将跳线JP2设置为第一种模式,使用UART0通信。
同时把JP1〔如图2-6JTAG接口电路〔c〕〕短接,是ISP的硬件条件得到满足。
图2-6JTAG接口电路
6.读卡模块
现在,门禁考勤系统一样都使用非接触式无线智能卡,Mifare卡确实是其中的一员,能够实现一卡通功能,具有数据传送速度快、防碰撞、保密性高等特点。
读卡器采纳ZLG500S系列读卡模块〔ZLG522S/LT〕,ZLG522S/LT为3.3V供电,具有I2C和UART两种通信接口,和天线一体化,主动检测卡片进入的模块。
此系统中,将两种接口都引出来,但只使用UART接口,如图2-7〔b〕所示。
图2-7读卡模块
7.按键、门内开关和指示灯
此系统中设计了四个独立按键、一个门内开关按钮接口和门状态指示灯〔红:
门关;
绿:
门开〕、下位机向PC机发送信息指示灯〔通信时闪耀〕,如图2-8〔a〕(b)所示。
图2-8按键、门内开关和指示灯电路
8.继电器和蜂鸣器
此系统应用继电器做开门开关;
且有蜂鸣器提示声。
继电器采纳HUIGANG继电器,其为5V工作器件,而系统为3.3V系统,因此在设计上采纳了NPN三极管来实现3.3V系统操纵5V的器件,用P1.26操纵〔高电平闭合〕,驱动电路如图2-9〔a〕所示;
直流蜂鸣器,用P1.27操纵〔低电平蜂鸣〕,驱动电路如图2-9〔b〕所示。
两个驱动中的二极管起到继流的作用。
图2-9继电器和蜂鸣器驱动电路
9.SD卡接口
系统使用LPC2368为操纵器,使用该内部自带SD/MMC卡操纵器来访问SD卡。
LPC2368与SD/MMC卡卡座的连接引脚LPC2368微操纵器与SD/MMC卡卡座接口电路如图2-10所示。
图中,微操纵器与SD/MMC卡卡座的连接引脚如表2-3所示。
表2-3LPC2368与SD/MMC卡卡座的连接引脚
LPC2368引脚
引脚名称
卡座引脚
含义
P0.21
SDPWR
--
卡供电操纵引脚。
P0.21为低电平常给卡供电
P0.22
SDDATA0
DAT0/DO
双向的数据信号DAT0
P2.11
SDDATA1
DAT1/IRQ
双向的数据信号DAT1
P2.12
SDDATA2
DAT2
双向的数据信号DAT2
P2.13
SDDATA3
DAT3/CS
双向的数据信号DAT3
P0.20
SDCMD
CMD/DI
双向的命令/响应信号
P0.19
SDCLK
CLK/SCK
微操纵器向卡发送的用于同步双方通信的时钟信号
P2.8
SD_CD
CARD_INSRET
卡完全插入到卡座中检测线。
完全插入时,卡座输出低电平,否那么输出高电平
P3.25
SD_WP
CARD_WP
看是否写爱护检测。
写爱护时,卡座输出高电平;
否那么输出低电平
图2-10SD/MMC卡的SD总线接口电路
接口电路包括以下部分:
〔1〕SD总线
如图2-10所示,LPC2368的P0.22、P2.11、P2.12、P2.13、P0.20依照引脚功能,直截了当连接到卡座的相应接口,其中数据线DAT0~DAT3双向数据线P0.22、P2.11、P2.12、P2.13和命令线P0.20分别接上拉电阻。
〔2〕SD/MMC卡ESD爱护电路
如图2-10所示,在卡座的数据总线DAT0~DAT3、时钟线CLK和命令线CMD上,使用了一个ESD爱护器件PESD5V0L6U,作用是:
当SD/MMC卡插入或拔出时,爱护卡不受高压静电的损害。
〔3〕卡供电操纵
卡的供电采纳可控方式,这是为了防止SD/MMC卡进入不确定状态时,能够通过对卡重新上电使卡复位而无需拔卡。
可控电路采纳P型MOS管2SJ355,有微操纵器的GPIO口P0.21进行操纵。
采纳2SJ355的目的是当它开通时,管子上的压降比较小。
〔4〕卡检测电路
包括:
卡是否完全插入到卡座中和卡是否写爱护。
检测信号由卡座的两个引脚以电平的方式输出。
当卡插入到卡座并插入到位时,卡座的CARD_INSERT〔第10脚〕由于卡座内部触点连接到GND,输出低电平;
当卡拔出时,该引脚由于上拉电阻R83的存在而输出高电平,该输出由微操纵器的输入引脚GPIO〔P2.8〕来检测。
卡是否写爱护的检测与卡是否完全插入到卡座中的检测原理是一样的。
10.TinyARM2300接口
图2-11底板与核心板接口电路
以上介绍的是此系统的底板电路设计,下面是底板与核心板T2368的接口排针〔2.00mm〕,如图2-11所示。
此系统只使用了T2368中的LPC2368最小系统,因此只给出此最小系统的原理图,如图2-12所示。
T2368中的以太网接口没有使用,不区分模拟地和数字地。
图2-12T2368核心板的最小系统电路图
11.外部测试板、外部接口和剩余IO引出插针
如所示,其有继电器指示灯,门磁模拟和门内开门开关三部分组成。
如图2-13〔b〕所示,其为此次设计的外部接口和几个测试点,P1.25为门磁检测输入端,BELL_1和GND为外部按铃接口,RelayA和RelayB为继电器输出接口,BELL_2为门内开门开关接口。
图2-13〔a〕和〔c〕为剩余IO引出排针和与ZLG7290相连的接口,为系统的更新和升级做好预备。
图2-13外部接口和剩余IO引出接口
注:
由于此次制板为单面腐蚀制板,因此图2-11中的〔a〕〔b〕在此次制板中没有引出。
第3章软件设计说明
3.1软件任务
软件设计分为下位机和上位机两大块。
下位机软件任务:
以LPC2368芯片为主微操纵器,对硬件的各个模块〔各模块参见硬件技术文档〕进行操纵,制作一个具有刷卡开门和记录功能的门禁考勤系统,编程实现如下功能:
1.按时刻和权限刷卡开门及在不同时刻段内考勤功能;
2.记录刷卡事件、记录考勤信息、添加用户——发卡功能;
3.与PC机通讯使用RS-485总线,能够将用户数据下载到下位机系统中、将记录信息导出到SD卡上;
上位机软件任务:
上位机软件的任务要紧是与下位机通过定义的RS-485协议,进行通信,进而实现以下功能:
1.将用户数据下载到下位机系统中;
2.显示刷卡信息、发卡功能;
3.设定时刻权限和考勤时刻段、查看刷卡记录功能;
4.开门功能:
设置刷卡后的承诺开门时刻长度〔即刷卡开门后,在那个时刻内门没有打开,那么系统将门关闭〕;
3.2下位机软件设计资源分配
本设计应用前后台系统,使用到的LPC2368片内外设和I/O口使用参见硬件技术文档。
下面介绍一下微操纵器片内部分储备器的使用和分配。
3.2.1512K片内Flash部分扇区和电池SRAM分配
片内Flash部分扇区分配如图3-1所示,池SRAM地址分配如图3-2所示。
图3-1片内Flash部分扇区分配图3-2电池SRAM地址分配
3.2.2后台任务和中断优先级分配
后台任务和中断优先级分配如下表3-1所示:
表3-1VIC中断功能和优先级分配
中断源
VIC优先等级
串口UART0
与上位机通信
GPIO〔P0口〕的EINT3
中断收键
1
TIMER2
〔1〕中断收键延时,〔2〕继电器工作
2
UART2
与ZLG522S/LT读卡器通信
3
RTC
〔1〕检查门磁,点亮门状态灯,并将门状态发送到上位机,〔2〕门处于开状态过长,那么关闭门,〔3)更新开门时刻权限段和考勤时刻段
4
3.3下位机软件设计
3.3.1下位机软件设计整体思想
系统中有四种模式,分别为:
刷卡开门考勤模式、发卡模式、RS-485协议处理模式、将记录数据导出到SD卡中。
通过按键KEY1的值来判定系统该工作在那种模式和切换模式。
关于处理上位机命令、中断延时收键和RTC中断的功能那么在后台处理。
3.3.2主程序的流程框架
作为前台的主函数,第一对使用到的GPIO口、各个模块和外设进行初始化,然后进入模式选择循环,其流程框图如图3-3所示。
3.3.3要紧功能模式——刷卡开门和考勤模式程序设计
1.刷卡开门和考勤模式主程序设计
此模式是此设计的要紧功能,系统通过读卡器读出进入读卡范畴内的Mifare卡序列号,然后查询系统中的用户数据库,然后进行用户权限级别和时刻权限的判定,从而进行相应的处理〔记录刷卡信息和考勤信息〕。
用户权限是指权限是大权限,依旧小权限,大权限用户那么不受时
图3-3主程序流程框图
间的约束,随时能够刷卡开门;
小权限用户那么在设定的时刻段内才能够开门。
此权限在发卡的时候确定。
时刻权限是指,小权限用户在哪个时刻段内能够刷卡开门。
现在间段能够通过上位机来随时设置。
此模式主程序流程框图如图3-4所示。
图3-4刷卡开门和考勤模式主程序流程框图
2.要紧子函数的程序设计
系统模式中要紧子函数有:
主操纵器和ZLG522S/LT读卡模块与Mifare卡通信、用户查询函数、刷卡记录函数与考勤处理和记录函数。
〔1〕主操纵器和ZLG522S/LT读卡模块与Mifare卡通信调用ZLG522S模块的操作软件包,要紧是读卡器对Mifare卡的一系列操作此模式中对卡片的要求使用〝标准模式〞。
〔2〕用户查询函数、刷卡记录函数与考勤处理和记录函数用户信息、刷卡事件记录和考勤事件记录,是三个结构体,同时开门时刻权限和考勤段的设置也是一个结构体,如程序清单3-1所示。
用户查询函数作用是在读到Mifare卡序列号后,查询〝用户信息储备区〞,假如有此用户,那么返回True和此用户信息的首地址,否那么返回False。
刷卡记录函数的作用是将刷卡的信息记录在储备器中,程序流程图如图3-5所示。
考勤记录函数的作用是将考勤的信息记录在储备器中,其程序流程图和刷卡记录函数的流程图类似,不再赘述。
程序清单3-1定义的结构体
structinfoUser1/*用户信息〔6个字〕*/
{
uint32cardNO;
charname[8];
charphoneNO[11];
charlimet;
};
structeventRcd1/*刷卡事件记录结构体〔6〕*/
uint32active;
uint32datas;
uint32times;
structattdRcd1/*考勤事件记录结构体〔5〕*/
structtimeamr1/*开门权限设置结构体*/
uint8alhour;
uint8almin;
uint8purview;