毕业设计(论文)智能门禁系统的设计说明书.doc

上传人:laozhun 文档编号:3983085 上传时间:2023-03-30 格式:DOC 页数:32 大小:7.49MB
返回 下载 相关 举报
毕业设计(论文)智能门禁系统的设计说明书.doc_第1页
第1页 / 共32页
毕业设计(论文)智能门禁系统的设计说明书.doc_第2页
第2页 / 共32页
毕业设计(论文)智能门禁系统的设计说明书.doc_第3页
第3页 / 共32页
毕业设计(论文)智能门禁系统的设计说明书.doc_第4页
第4页 / 共32页
毕业设计(论文)智能门禁系统的设计说明书.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《毕业设计(论文)智能门禁系统的设计说明书.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)智能门禁系统的设计说明书.doc(32页珍藏版)》请在三一办公上搜索。

1、摘要随着高科技的蓬勃发展,智能化管理已经走进了人们的社会生活。电子门禁系统作为一项先进的高科技防范和管理手段,已广泛应用于科研、工业、博物馆、酒店、商场、医疗监护、银行、监狱等行业。特别是由于其本身具有的隐蔽性、及时性,使得在许多领域的应用越来越广泛。关键词:ARM微控制器,读卡模块,RS-485,LCD,SD卡。1.引言:随着高科技的蓬勃发展,智能化管理已经走进了人们的社会生活。智能考勤系统基于现代电子与信息技术,利用智能卡或指纹等生物信息的唯一性来对员工上下班进行现代化高效管理,在各厂矿、机关、银行等场合已广泛应用并成为单位管理现代化和信息化的标志。目前,欧美电子门禁系统市场正逐渐进入成熟

2、阶段,其产业的分工已进人细分阶段,生产卡和读卡器的厂家就只生产卡和读卡器。在国内,电子门禁系统处于成长期和初始阶段。此系统是采用具有丰富多片内外设的LPC2368ARM为微控制器,选用ZLG522S/LT读卡模块为读卡器(使用Mifare卡),外加小晶格OCM12864-9液晶显示器显示日期时间和刷卡信息,并采用HUIGANG继电器作为门锁开关,具有门状态指示灯,同时仿效实际产品引出必要的接口,如门磁检测,门内开关接口,门外铃声按钮接口,RS-485通信接口和电源接口等。网络门禁可以连接到远程配置或通过一个独立的互联网访问控制内部网。对于小型企业而言使用网络门禁进行访问控制更方便,也更实惠,市

3、场上可以不断看到SaaS和网络门禁的涌入。这两种方法共享相似之处在于它们都是可扩展的,可以减少或消除与基于PC的系统相关的成本。但是,当网络门禁与SaaS搭配的时候,只能使用基于PC的软件或网络操作系统,所有的设定、更新和管理都需要通过“云”自动操作,而不是人手控制。系统通过RS-485总线与上位机进行通信。该系统具有按用户与时间权限刷卡开门和记录功能、添加用户功能、设置时间权限和考勤时间段,还有同上位机时间同步和手动校对时间的功能,并能将记录信息通过SD卡导出。上位机在VC开发环境下编程,具有一些实际电子门禁系统的主要简单功能。在高层住宅,有人从地下停车场进入或者在地下停车场跟随有卡的住户进

4、入则也是比较容易的事。由此看来,传统机械锁发展到今天,已到了非改不可的阶段。用高档的电子家用门禁取代机械门锁是一大飞跃,可以说这种家用门禁在相当长的一个时期内是一般人无法破译打开的,由电子家用门禁取代传统机械锁会成为今后的一个发展趋势。但是家用门禁是一种电子产品,电子产品不可能保证百分之百的没有故障,因此保证在电子家用门禁故障时也能通过安全可靠的方式开门,这是电子家用门禁研究的主要课题。在电子产品市场中,大家都比较看好的是通信产品和家电产品,安防产品一般不被人们看好,原因是安防产品的市场小,而通信产品和家电产品的市场很大。2.方案论证门禁系统由门禁控制器、读卡器、出门按钮、通讯集线器、感应卡和

5、管理软件组成。下面主要对门禁控制器、门禁系统的类型和感应卡的选择来进行论证。2.1.门禁控制器的选择:门禁控制器有多种控制芯片可以选择,如8051系列单片机、ARM系列控制器等.表是对传统8051系列单片机和ARM系列控制器的对比,实物如图。表18051系列和ARM系列微控制器的对比控制器特性传统8051系列单片机ARM系列微控制器参考数据丰富、成熟较多价格便宜稍贵运行速度一般(一般低于40M)快(ARM7可达60到100M,ARM9可达200到300M)引脚较少多串行接口很少较多操作难易较简单,但模拟串行通信时,会比较麻烦设置较多,操作较复杂,但串行通信较简单图18051系列和ARM系列控制

6、器由于本门禁考勤系统使用的串行口较多(与PC机、读卡器、发卡器、键盘、显示、SD卡通信都要用到串口),就这一点传统的8051系列单片机的资源就比较拮据;在速度的要求上,ARM系列控制器很容易得到满足。虽然ARM系列控制器价格较贵,但综合考虑,ARM系列控制器更适合本系统。在众多的ARM控制器中,LPC2300系列较其它系列的显著优点,是其十分适用于串行通信的场合,所以选择LPC2300系列ARM控制器来做本系统的控制器。2.2门禁系统的类型选择:门禁系统一般有以下类型:2.2.1不联网门禁优点:每个门禁控制一个门,不需重新安装布线,价格便宜,一般通过自带键盘即可实现发卡、删除卡等操作。缺点:不

7、能实现查看事件记录,不能通过管理软件统一管理。适用场合:已装修好不便于重新布线,安全性能要求不高的场合。2.2.2 RS-485联网门禁优点:通过RS-485总线可实现多台控制器联网控制,可实时查看刷卡事件记录和灵活设置控制器工作参数。缺点:相对不联网门禁价格偏高,RS-485总线存在速度不高、实时性不强、布线不便和容易受雷电等因素影响。适用场合:小区、学校、仓库等人数稍多,门需统一管理,安全性能要求一般的场合。1) CAN-bus联网门禁优点:通过CAN-bus总线可实现多台控制器联网控制,可实时查看刷卡事件记录和灵活设置控制器工作参数。CAN-bus总线在工程布在线与RS-485总线相同,

8、仅需两根通信线,布线简便。CAN-bus总线比RS-485总线可靠得多,CAN-bus控制器本身就具备数据帧的CRC校验和自动重发的功能,能进一步确保通信的可靠性。具有主动上传事件记录功能,实时性好,网络资源利用高。缺点:相对RS-485联网门禁初期需投入的成本偏高,但日后维护的成本会较RS-485门禁少。适用场合:通信性能稳定性要求高,传输速度要求快、传输距离要求远的场合,如金融机构、政府企事业机关等。2)TCP/IP以太网联网门禁优点:通过TCP/IP以太网总线实现多台控制器联网控制,除能实现RS-485总线和CAN-bus总线门禁系统的所有功能外,还可以实现远程监控、跨控制器的联动和防反

9、潜等高级功能。只要有网络资源的地方均可安装,具有速度更快,安装更简单,联网数量更大,跨地域联网的优点。缺点:产品价格略比其它总线高,需要有网络资源。适用场合:适合安装在大项目、人数多、速度快、跨地域的工程中。由于本系统的技术要求和应用场所是中距离通信场合,综合以上四种类型的优缺点和适用场所,可以看出RS-485联网系统,在价格上占优势,而且本系统对安全性的要求不是很高,RS-485联网系统可以胜任,而对于CAN-bus联网门禁和TCP/IP以太网联网门禁多是对较高安全性、高传输速度和远传输距离场合的应用,所以本系统采用了RS-485联网系统。图2非接触IC卡RS-485门禁考勤系统示意图2.3

10、感应卡的选择常见的门禁系统有:密码门禁系统、非接触IC卡(感应式IC卡)门禁系统和指纹虹膜掌型生物识别门禁系统等。密码门禁系统由于其本身的安全性弱和便捷性差已经面临淘汰;生物识别门禁系统安全性高,但成本高,由于拒识率和存储容量等应用瓶颈问题而没有得到广泛的市场认同。现在国际最流行最通用的还是非接触IC卡门禁系统。非接触IC卡由于其较高的安全性,最好的便捷性和性价比成为门禁系统的主流。所以该系统使用非接触IC卡。3. 硬件设计技术文件:本设计为门禁考勤系统,顾名思义,其兼具门禁和考勤的功能。下面为本系统的硬件设计说明。3.1功能特点:1)控制器采用ARM嵌入式工业控制模块T2368中的最小系统,

11、比一般门禁系统采用的MCS51处理器速度更快,质量更可靠;2)板上复位电路使用带看门狗功能的SP706复位芯片;3)电源部分采用开关电源芯片LM2575设计,比使用7800系列芯片设计的电源稳定,且省电;4)实时时钟RTC使用32.768KHz的独立外部晶振,和电池供电;5)4个独立的按键,门状态和通信指示灯,蜂鸣器控制电路,及继电器控制电路;6)与PC机通信设计了RS-232C转换和RS-485转换两种串行方式,RS-232C方式便于调试,RS-485方式用于实际应用;7)读卡器采用ZLG522S/LT读卡模块(UART和I2C两种界面);8)CM12864-9液晶显示屏;9)门禁考勤系统的

12、功能框图见图:图3门禁考勤系统的功能框图3.2硬件电路分析:3.2.1电路原理图系统的电路原理图如附录图所示。3.2.2硬件使用的资源.LPC2368是基于一个支持实时仿真和嵌入式跟踪的32/16位ARM7TDMI-STMCPU的微控制器,并带有512kB的嵌入高速Flash内存。128位宽度的内存接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位元元Thumb模式将代码规模降低超过30%,而性能的损失却很小。其特别适合于串行通信的场合。LPC2368内部由512K的Flash,58K的片内SRAM,包括32K的局部总线SRAM、8K的USB使用的

13、SRAM、16K的以太网SRAM和2K的电池SRAM。此门禁考勤系统只使用了片内Flash、局部总线SRAM和2K的电池SRAM,没有外部扩展内存。如表所示,为LPC2368I/O口的使用和分配表。表2LPC2368I/O口的使用和分配表功能模块使用LPC2368引脚引脚功能看门狗复位P1.24给SP706S喂狗串口UART0(RS-232C和RS-485)界面P0.2(TXD0)串口UART0的输出输入P0.3(RXD0)P1.22(GPIO)RSM485CHT的收发控制读卡器模块P0.10(TXD2)微控制器与读卡模块的UART通信接口P0.11(RXD2)P0.27(SDA0)微控制器与

14、读卡模块的I2C通信接口P0.28(SCL0)P2.11(INT)液晶显示模块P2.0P2.7(GPIO)液晶的并行数据总线(DB0DB7)P1.18液晶读/写控制脚(R/W()P1.19液晶使能控制脚(E()P1.20液晶片选择信号,低电平时有效()P1.21液晶数据/指令选择(AO):高电平:DB0-DB7为显示数据低电平:DB0-DB7为操作指令P1.23液晶背光电源控制,低电平有效(LED+)按键和门内开关P0.6P0.9四个独立按键P0.23门内开门开关输入指示灯P1.28门关闭指示灯(红色)P1.29门打开指示灯(绿色)继电器和蜂鸣器P1.26继电器控制端(高电平有效)P1.27直

15、流蜂鸣器控制(低电平有效)门磁检测P1.25检测门磁状态(低电平为门开)SD卡界面P0.21、P0.22、P2.11、P2.12、P2.13、P0.20、P0.19、P2.8、P3.25引脚具体说明见表ZLG7290界面P0.0(SDA0)此接口除去此三接口外,还有电源和地界面3.2.3各个部分单元电路原理及其分析1) 电源电路系统设计为3.3V应用系统,但是LPC2300系列ARM微控制器需要2种类型的电源,分别是3.3V和1.8V,而与PC机通信使用的RS-485收发器(RSM485CHT)和继电器都是5V器件,所以设计5V电源为系统前级电源,3.3V为后级电源。对于LPC2300系列AR

16、M的1.8V内核供电,其有两种方案,一种是使用片内的DC-DC,另外一种是使用外部的1.8V直接供电,本系统采用前者。由于本系统没有使用AD/DA功能,所以不区分模拟电源和数字电源。如图(a)、(b)所示,首先由CON30电源接口输入9V直流电源,二极管D11防止电源反接,经过C11、C12滤波,再通过LM2575将电源稳压至5V,然后通过L2、C111、C110组成的滤波电路,输出稳定的低纹波5V电压,再使用LDO芯片(低压差电源芯片)稳压输出3.3V电压。考虑到系统长时间处于工作状态,从节能方面考虑采用了开关电源LM2575设计。系统使用的电源是9V直流电源,由CON30电源接口输入,接头

17、上的电源极性为外正内负。当系统上电后,POWER指示LED1应点亮。LDO芯片采用了SPX1117M3-3.3,其特点为输出电流大,输出电压精度高,稳定性高。此系列芯片输出电流可达800mA,输出电压的精度在1%以内,还具有电流限制和热保护功能,广泛用户在掌上型仪表、数字家电、工业控制等领域。使用时,其输出端需要一个至少10uF的钽电容来改善瞬态响应和稳定性。图4系统前后级电源和RTC电源电路LPC2300系列ARM集成有RTC外设,其单独供电,此次设计中提供了两种供电方式,系统电源和外部电池供电,如图4所示。系统电源方式便于调试系统时使用,电池供电方式在实际应用中使用。2) 时钟系统、RTC

18、时钟电路系统采用ARM嵌入式工业控制模块T2368中的最小系统,其中使用外部12.000MHz无源晶振作为主时钟源。对于实时时钟(RTC)功能,在CPU的RTCK1和RTCK2脚之间接一个32.768KHz的晶振。3)看门狗复位电路由于ARM芯片的高速、低功耗、低工作电压等特性导致其噪声容限低,对电源的纹波、瞬态响应性能、时钟源的稳定性、电源监控可靠性等诸多方面也提出了更高的要求。使用了专用微处理器电源监控芯片SP706S以提高系统的可靠性,同时该芯片还带有硬件看门狗电路。如图所示,在电路中将看门狗复位信号输出脚()通过R32连接到SP706S的手动复位输入脚()上,信号nRST连接到CPU的

19、复位脚nRST。可通过定时翻转P1.24的电平来喂狗,一旦在1.6秒内未翻转P1.24的电平,则SP706S内部的看门狗溢出,脚输出低电平,脚被脚拉低为低电平,导致SP706S在脚输出200ms的复位脉冲令CPU复位,同时SP706S内部清零看门狗让其重新计数。图5系统复位电路当复位按键RST按下时,SP706S的脚输出低电平复位系统。SP706S的看门狗功能与LPC2368自带的看门狗功能,在实际应用中可以任选其一,在程序调试阶段,不焊掉R32,断开与之间的连接,实际应用中,如果使用SP706S的看门狗功能,则需焊接R32。3)串口UART0(RS-232C和RS-485)界面由于系统是3.

20、3V系统,所以使用了SP3232E进行RS-232C电平转换,SP3232E是3V工作电源的RS-232C转换芯片。如图所示,CON2为UART0接口,可以在串口调试阶段使用,在实际应用中,则要使用CON3的RS-485接口。RS-485收发器采用嵌入式隔离RS-485收发器RSM485CHT,如图6所示。RSM485CHT隔离收发器模块,是集成电源隔离、电气隔离、RS-485接口芯片,总线保护器件于一身,方便嵌入用户设备,使产品具有连接RS-485网络的功能,其为5V工作电源器件。电路设计中采用保守方法,加入了PESD1CAN隔离,是系统稳定性更高。RS-232C与RS-485功能可以通过跳

21、线JP2来切换,如图6。JP2跳线器说明见表。图6UART0(RS-232CANDRS-485)界面表3JP2跳线JP2功能备注控制器的UART0与CON2(RS-232C)连接(模式1)串口调试时使用控制器的UART0与CON3(RS-485)连接(模式2)实际应用中使用4)JTAG接口电路和ISP跳线电路采用ARM公司提出的标准20脚JTAG仿真调试接口,JTAG信号的定义及与T2368的连接如图7所示。其中RTCK引脚加上拉电阻,使系统重启后,LPC2368内部的JTAG接口使能,可以直接进行JTAG仿真调试,同时P29:0引脚不为跟踪功能;其它5个引脚可以不加上拉和下拉电阻。当要使用I

22、SP功能时,将PC的串口与CON2相连,并将跳线JP2设置为第一种模式,使用UART0通信。同时把JP1(如7)短接,是ISP的硬件条件得到满足。上拉电阻图7JTAG接口电路5)读卡模块和液晶显示接口现在,接触式智能卡的应用已经濒临灭绝,门禁考勤系统一般都使用非接触式无线智能卡,Mifare卡就是其中的一员。Mifare卡是由Philips开发的非接触式无线智能卡,符合ISO/IEC14443A标准,广泛应用于门禁、考勤、停车场和消费等场合,可以实现一卡通功能。Mifare卡具有数据传送速度快、防碰撞、保密性高等特点,本系统中就选用此类卡。读卡器采用ZLG500S系列读卡模块(ZLG522S/

23、LT),此系列是非接触式IC卡读卡模块,支持MifareS50、MifareS70、MifareUltralight、MifarePro和MifareDesFire等符合ISO14443标准的卡片,ZLG522S/LT为3.3V供电,具有I2C和UART两种通信接口,和天线一体化,主动检测卡片进入的模块。此系统中,将两种接口都引出来,但只使用UART接口,如图8所示。I2C界面的上拉电阻背光电源采用三极管驱动,减少控制器引脚的负担和驱动能力强劲!图8读卡模块和液晶显示接口电路门禁系统应该有个液晶显示器,才比较专业。此系统选用金鹏电子有限公司的OCM12864-9液晶显示器,此显示器为并口总线工

24、作模式,优点是,小晶格,小巧美观、省电。设计中使用GPIO口P2.0P2.7模拟数据总线,P1.18、P1.19、P1.20、P1.21为控制线,P1.23为背光控制线,其接口如图9所示。6)按键、门内开关和指示灯此系统中设计了四个独立按键、一个门内开关按钮接口(另外用万用板搭建了一个小型接口电路,可实现门内开关模拟、继电器状态指示和门磁状态模拟功能,如)和门状态指示灯(红:门关;绿:门开)、下位机向PC机发送信息指示灯(通信时闪烁),如9所示。图9按键、门内开关和指示灯电路7)继电器和蜂鸣器门禁考勤系统在刷卡时,权限允许时开门,此系统应用继电器做开门开关;且有蜂鸣器提示声。继电器采用HUIG

25、ANG继电器,其为5V工作器件,而系统为3.3V系统,所以在设计上采用了NPN三极管来实现3.3V系统控制5V的器件,用P1.26控制(高电平闭合),驱动电路如10所示;直流蜂鸣器,用P1.27控制(低电平蜂鸣),驱动电路如图10所示。两个驱动中的二极管起到继流的作用。使用NPN管继流二极管图10继电器和蜂鸣器驱动电路3) SD卡界面SD/MMC卡有SD总线和SPI总线两种访问模式。系统使用LPC2368为控制器,其内部带有SD/MMC卡控制器,支持SD/MMC卡的SD总线模式,因此,使用该控制器来访问SD卡。LPC2368与SD/MMC卡卡座的连接引脚LPC2368微控制器与SD/MMC卡卡

26、座接口电路如图所示。图中,微控制与SD/MMC卡卡座的连接引脚如表所示。表4LPC2368与SD/MMC卡卡座的连接引脚LPC2368引脚引脚名称卡座引脚含义P0.21SDPWR-卡供电控制引脚。P0.21为低电平时给卡供电P0.22SDDATA0DAT0/DO双向的数据信号DAT0P2.11SDDATA1DAT1/IRQ双向的数据信号DAT1P2.12SDDATA2DAT2双向的数据信号DAT2P2.13SDDATA3DAT3/CS双向的数据信号DAT3P0.20SDCMDCMD/DI双向的命令/响应信号P0.19SDCLKCLK/SCK微控制器向卡发送的用于同步双方通信的时钟信号P2.8S

27、D_CDCARD_INSRET卡完全插入到卡座中检测线。完全插入时,卡座输出低电平,否则输出高电平P3.25SD_WPCARD_WP看是否写保护检测。写保护时,卡座输出高电平;否则输出低电平图11SD/MMC卡的SD总线接口电路接口电路包括以下部分:(1) SD总线如图所示,LPC2368的P0.22、P2.11、P2.12、P2.13、P0.20根据引脚功能,直接连接到卡座的相应接口,其中数据线DAT0DAT3双向资料线P0.22、P2.11、P2.12、P2.13和命令线P0.20分别接上拉电阻。(2) SD/MMC卡ESD保护电路如图所示,在卡座的数据总线DAT0DAT3、时钟线CLK和

28、命令线CMD上,使用了一个ESD保护器件PESD5V0L6U,这是一个专用于SD/MMC卡的ESD保护器件,它的作用是:当卡插入或拔出时,保护卡不受高压静电的损害。(3) 卡供电控制卡的供电采用可控方式,这是为了防止SD/MMC卡进入不确定状态时,可以通过对卡重新上电使卡复位而无需拔出卡。可控电路采用P型MOS管2SJ355,有微控制器的GPIO口P0.21进行控制。采用2SJ355的目的是当它开通时,管子上的压降比较小。(4) 卡检测电路卡检测包括两部分:卡是否完全插入到卡座中和卡是否写保护。检测信号由卡座的两个引脚以电平的方式输出。当卡插入到卡座并插入到位时,卡座的CARD_INSERT(

29、第10脚)由于卡座内部触点连接到GND,输出低电平;当卡拔出时,该引脚由于上拉电阻R83的存在而输出高电平,该输出由微控制器的输入引脚GPIO(P2.8)来检测。卡是否写保护的检测与卡是否完全插入到卡座中的检测原理是一样的。8) TinyARM2300界面图12底板与核心板接口电路以上介绍的是此系统的底板电路设计,下面是底板与核心板T2368的界面排针(2.00mm),如图所示。此系统只使用了T2368中的LPC2368最小系统,所以只给出此最小系统的原理图,如附录图所示。T2368中的以太网接口没有使用,不区分模拟地和数字地。9) 外部测试板、外部接口和剩余IO引出插针此次设计没有真正的门磁

30、检测器,门锁等实际应用中的硬件设施,所以,对这些做了一个模拟的外部测试板,如所示,其有继电器指示灯,门磁模拟和门内开门开关三部分组成。如Error! Reference source not found.(b)所示,其为此次设计的外部接口和几个测试点,P1.25为门磁检测输入端,BELL_1和GND为外部按铃接口,RelayA和RelayB为继电器输出接口,BELL_2为门内开门开关界面。Error! Reference source not found.(a)和(c)为剩余IO引出排针和与ZLG7290相连的接口,为系统的更新和升级做好准备。图13外部接口和剩余IO引出接口注:由于此次制板为

31、单面腐蚀制板,所以Error! Reference source not found.中的(a)(b)在此次制板中没有引出。4.软件设计说明4.1软件任务:软件设计分为下位机和上位机两大块。4.1.1上位机软件任务:以LPC2368芯片为主微控制器,对硬件的各个模块(各模块参见硬件技术文文件)进行控制,制作一个具有刷卡开门和记录功能的门禁考勤系统,编程实现如下功能:1)按时间和权限刷卡开门及在不同时间段内考勤功能;2)记录刷卡事件;3)记录考勤信息;4)添加用户发卡功能;5)与PC机通讯使用RS-485总线,可以将用户数据下载到下位机系统中;6)将记录信息导出到SD卡上;7)液晶显示功能;8)

32、通过按键校对日期和时间;9)恢复原厂设置功能。4.1.2下位机软件任务:上位机软件的任务主要是与下位机通过定义的RS-485协议,进行通信,进而实现以下功能:1) 将用户数据下载到下位机系统中;2) 显示刷卡信息;3) 发卡功能;4) 设定时间权限和考勤时间段;5) 查看刷卡记录功能;6) 开门功能;7) 设置刷卡后的允许开门时间长度(即刷卡开门后,在这个时间内门没有打开,则系统将门关闭);8) 下位机与上位机日期和时间同步;9) 设置通信波特率。4.24.3 下位机软件设计资源分配本设计应用前后台系统,使用到的LPC2368片内外设和I/O口使用参见硬件技术文文件。下面介绍一下微控制器片内部

33、分内存的使用和分配。4.3512K片内Flash部分扇区和电池SRAM分配片内Flash部分扇区分配如图31所示,池SRAM地址分配如图所示。图01片内Flash部分扇区分配图14电池SRAM地址分配4.4 后台任务和中断优先级分配后台任务和中断优先级分配如下表所示:表5VIC中断功能和优先级分配中断源功能VIC优先等级串口UART0与上位机通信0GPIO(P0口)的EINT3中断收键1TIMER2(1)中断收键延时,(2)继电器工作和LCD信息显示时间控制2UART2与ZLG522S/LT读卡器通信3RTC(1)更新LCD时间值,(2)检查门磁,点亮门状态灯,并将门状态发送到上位机,(3)门

34、处于开状态过长,则关闭门,(4)更新开门时间权限段和考勤时间段44.5 下位机软件设计4.5.1 下位机软件设计整体思想系统中有六种模式,分别为:刷卡开门考勤模式、发卡模式、手动校对时间模式、RS-485协议处理模式、将记录数据导出到SD卡中和恢复原厂设置模式。通过按键KEY1的值来判断系统该工作在那种模式和切换模式。对于更新显示、处理上位机命令、中断延时收键和RTC中断的功能则在后台处理。4.5.2 主程序的流程框架作为前台的主函数,首先对使用到的GPIO口、各个模块和外设进行初始化,然后进入模式选择循环,其流程框图如图所示。此两个模式由上位机发送相应命令进入!图15主程序流程框图4.5.3

35、 主要功能模式刷卡开门和考勤模式程序设计1) 刷卡开门和考勤模式主程序设计此模式是此设计的主要功能,系统通过读卡器读出进入读卡范围内的Mifare卡序列号,然后查询系统中的用户数据库,然后进行用户权限级别和时间权限的判断,从而进行相应的处理(记录刷卡信息和考勤信息)。用户权限是指,用户的权限是大权限,还是小权限,大权限用户则不受时间的约束,随时可以刷卡开门;小权限用户则在设定的时间段内才可以开门。此权限在发卡的时候确定。时间权限是指,小权限用户在哪个时间段内可以刷卡开门。此时间段可以通过上位机来随时设置。此模式主程序流程框图如图所示。图16刷卡开门和考勤模式主程序流程框图2) 主要子函数的程序

36、设计系模式中的主要子函数有:主控制器和ZLG522S/LT读卡模块与Mifare卡通信、用户查询函数、刷卡记录函数与考勤处理和记录函数。(1)主控制器和ZLG522S/LT读卡模块与Mifare卡通信调用ZLG522S模块的操作软件包,主要是读卡器对Mifare卡的一系列操作(详细内容参见Error! Reference source not found.内容,或者参见ARM嵌入式系统应用技术笔记基于LPC2300(下册)第192页的Mifare卡通信原理一节),在此不再赘述,此模式中对卡片的请求使用“标准模式”。(2)用户查询函数、刷卡记录函数与考勤处理和记录函数用户信息、刷卡事件记录和考勤

37、事件记录,是三个结构体,同时开门时间权限和考勤段的设置也是一个结构体,如程序清单所示。用户查询函数作用是在读到Mifare卡序列号后,查询“用户信息存储区”,如果有此用户,则返回True和此用户信息的首地址,否则返回False。刷卡记录函数的作用是将刷卡的信息记录在内存中,程序流程图如图所示。图17刷卡记录函数程序流程框图考勤记录函数的作用是将考勤的信息记录在内存中,其程序流程图和刷卡记录函数的流程图类似,不再赘述。程序清单1定义的结构体structinfoUser1/*用户信息(6个字)*/uint32cardNO;charname8;charphoneNO11;charlimet;stru

38、cteventRcd1/*刷卡事件记录结构体(6)*/uint32cardNO;charname8;uint32active;uint32datas;uint32times;structattdRcd1/*考勤事件记录结构体(5)*/uint32cardNO;charname8;uint32datas;uint32times;structtimeamr1/*开门权限设置结构体*/uint8alhour;uint8almin;uint8purview;/*开门时间权限3:no;1:yes*/uint8check;/*考勤阶段标志3:no;*/*1:yes第一阶段;2:yes第二阶段*/;考勤处理

39、函数的功能,是判断现在是否为考勤时间段,如果在则进行考勤,否则不考勤。此系统中,设置了两个考勤时间段,并且可以用上位机来设置。其功能实现思想,是在每个考勤时间段内,将用户第一次刷卡做为考勤信息,且同时在卡片的指定存储块内设置一个标志,当此用户再次刷卡时,就不对其进行考勤。具体实现参见考勤处理函数attendcheck。4.5.4 主要功能模式发卡模式做为一个门禁考勤系统,实际中就会遇到添加新用户的情况,专业术语称之为发卡。一些门禁系统,都有专门的发卡器。而此项功能完全可以在一个系统中完成。此系统中的发卡模式,能够将上位机的新用户信息写到新卡片的指定存储块内,并将新用户添加到用户信息存储区。模式

40、的工作流程如图所示。此模式中,将新用户数据添加到用户信息存储区时,用到了LPC2300系列ARM的在应用编程(IAP)功能。应用此IAP功能,有几个注意点:l 系统模式堆栈的前32字节要空出留给IAP功能使用;l 将RAM中的内容拷贝到Flash中,源地址,即RAM地址,必须字对齐;l 目标地址,即FLASH起始地址,以256字节为分界;l 一次复制字节个数,为256/512/1024/4096中的一个。由于此次试验中的用户比较少(少于256个),所以,在添加新用户时,先将原有用户信息拷贝到一个数组中,再将新用户信息添加到该数组中,然后将更新了的用户信息烧写到Flash中。同时更改用户数量也用

41、到了IAP功能,原理与此类似。图18发卡模式工作流程框图4.5.5 RS-485通信协议定义1) 通信协议概述门禁考勤系统分为下位机和上位机,二者通过RS-485来通信,所以根据此系统的特点,定义了一个RS-485通信协议。该协议可以分为功能层、通信协议层和通信驱动层,但是由于其要实现的功能比较简单,所以将功能层与通信协议层合二为一,分为功能协议层和通信驱动层:(1) 通信驱动层:本层负责从通信接口UART0发送数据和接收数据,源代码位于UART0.h和UART0.c文件。此驱动层就是LPC2368的片内外设UART0,有关UART界面的详细描述请参考深入浅出ARM7LPC2300(上册)中的

42、“UART”部分,在此不再详述。(2) 功能协议层:下位机与上位机通信定义了一套协议,本层负责把要发送的数据和命令按协议进行组装和把接收到的数据按协议进行解析。本层与硬件无关,源代码位于RS_485.h和RS_485.c文件。4.46通信帧结构下位机和上位机通信的帧结构如图所示,各字段的意义见表。图19RS-485通信帧结构表6通信帧各字段意义字段长度(Byte)说明帧头STX01数据帧的起始位,数值为:0x2A目标机位元址AIM1此数据帧是发给地址为AIM的节点源机地址ORG1此数据帧是从地址为ORG的节点发出总帧长FrameLen1整个数据帧的总长度续上表字段长度(Byte)说明命令类型C

43、md1发送数据节点发给接收节点的数据用途或命令(命令集参见下位机程序文件UART0.h和上位机文件protocol.h)信息长度InfoLen1该帧所带信息的长度若所发信息长度为0,则Length=0信息InfoInfoLen信息数据,其长度由InfoLen字段指出,当InfoLen=0时,则该字段不存在校验和BCC1校验和。从STX0开始到Info的最后一个字节的异或,最后取反帧结束符ETX01帧结束标志,数值为:0x054.47 发送资料到上位机下位机发送数据到上位机函数如Error! Reference source not found.中程序清单所示。程序将帧内各字段填入发送缓冲区,最

44、后调用通信驱动层函数UART0_Send把缓冲区的数据发送出去。4.4.8接收上位机命令和数据下位机接收上位机命令和数据的函数如Error! Reference source not found.中程序清单所示。首先是由通信驱动层IRQ_UART0函数来接收数据,当接收完数据,并且最后一位为帧结束符时,对整个数据帧的各字段进行合法性检验,检验正确后,设置进入RS-485协议处理模式,通过判断命令类型Cmd,来执行相应的操作。在驱动层IRQ_UART0函数中进行帧各字段合法性检验的目的,是为了避免中断嵌套。考虑此因素是因为,RS-485协议处理模式中需要用到IAP功能,进入中断,所以,按照命令类

45、型Cmd进行操作,需要在退出UART0接收中断后处理,即在主函数中处理,而在发卡模式下,接收新用户信息时,又不能退出该模式,所以就无法进入RS-485协议处理模式,从而产生了矛盾冲突。而将合法性验证放在UART0接收中断中,当验证合法后,将一个标志位置一即可,从而解决了此矛盾。4.6 程序介绍4.5.1按键接收程序设计在主函数中,通过按键KEY1的值来判断和切换工作模式,下面说明一下按键的接收程序。按键通过中断接收,启动定时器延时12ms,然后再判断是否有的确有键按下和是那个键按下,进而给此键值寄存器赋值。其流程框图如图20所示。(FIO0PIN&KEY)KEY得到哪个键按下图20按键接收程序

46、流程图/*函数名称:EINT3_ISR*函数功能:GPIOEINT3中断,接收按键*入口参数:无*出口参数:无*调用函数:无*/void_irqEINT3_ISR(void)if(IO0IntStatF&KEY)!=0)/*判断是否有键按下*/Timer2_StartCount(11);/*启动定时器去抖延时12ms*/IO0IntClr=KEY;/*清除GPIO中断标志*/VICVectAddr=0x00;/*通知VIC中断处理结束*/4.5.2用RTC的中断和报警程序设计由VIC中断功能和优先级分配表,可知RTC中断的功能比较多。下面简要说明一下RTC的中断程序设计。如表中RTC中断的功能,前三项是秒中断的功能,第四项是报警中断的功

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号