电子门禁系统的设计

上传人:仙*** 文档编号:32689952 上传时间:2021-10-15 格式:DOC 页数:64 大小:9.07MB
收藏 版权申诉 举报 下载
电子门禁系统的设计_第1页
第1页 / 共64页
电子门禁系统的设计_第2页
第2页 / 共64页
电子门禁系统的设计_第3页
第3页 / 共64页
资源描述:

《电子门禁系统的设计》由会员分享,可在线阅读,更多相关《电子门禁系统的设计(64页珍藏版)》请在装配图网上搜索。

1、精品文档(电子门禁系统的设计摘 要随着高科技的蓬勃发展,智能化管理已经走进了人们的社会生活。电子门禁系统作为一项先进的高科技防范和管理手段,已广泛应用于科研、工业、博物馆、酒店、商场、医疗监护、银行、监狱等行业。特别是由于其本身具有的隐蔽性、及时性,使得在许多领域的应用越来越广泛。所以,设计稳定性高、保密性强和易于扩展的较通用型门禁考勤系统具有重要的实际意义。在整个系统的设计过程中,我首先参考了国内外同类产品的设计方法,然后结合实际,给出了设计方案,采用具有丰富多片内外设的LPC2368 ARM为微控制器,选用ZLG522S/LT读卡模块为读卡器(使用Mifare卡),外加小晶格OCM1286

2、4-9液晶显示器显示日期时间和刷卡信息,并采用HUIGANG继电器作为门锁开关,同时有门状态指示灯。系统通过RS-485总线与上位机进行通信。该系统具有按用户与时间权限刷卡开门和记录功能、添加用户功能、设置时间权限和考勤时间段,还有同上位机时间同步和手动校对时间的功能,并能将记录信息通过SD卡导出。该电子门禁系统具有实际应用中的单门门禁考勤系统的主要功能,并具有稳定性、可靠性,保密性强和人机界面友好的优点。关键词:ARM微控制器,读卡模块,RS-485,LCD,SD卡THE DESIGN OF ELECTRONIC ACCESS CONTROL SYSTEMSABSTRACTWith the

3、booming of high technology, intelligent management has entered peoples social life. Electronic access control systems ,as an advanced high-tech means which used for prevention and management, has been widely used in scientific research, industry, museums, hotels, shopping malls, medical care, banks,

4、 prisons, etc. Especially for its characters of concealment and timeliness, the domain of its applications has becoming more and more widely. Therefore,here has important practical significance to design high stability,high confidentiality and strong expansion of more universal access time and atten

5、dance systems. Throughout the systems design process,I at first consult domestic and international similar productsdesign methods,then,connected with reality,bring forward the design methods ,adopt LPC2368 ARM which has rich-chip peripherals as microcontrollers, ZLG522S/LT card reader (using Mifare

6、card), with a small lattice OCM12864-9 liquid crystal display for the showing of the time and user information, using HUIGANG as relay switch locks, at the same time supply with status indicators.By using RS-485 bus ,the System communicate with the PC. The system could indentify card , then open the

7、 door and record fuctions according to the time and users information , also can add user features, set time limits of authority and attendance time, and sync with the PC time and time checks manually functions, and will derived the record information through the SD card function.The electronic acce

8、ss control systems has the main functions of practical applications in the one-door access control system, also with stability and reliable, strong security and friendly man-machine interface advantages.KEY WORDS:ARM Microcontrollers, Reader Modules, RS-485, LCD, SD Card5目 录前 言1第1章 系统方案概述21.1 方案论证21

9、.1.1 门禁控制器的选择21.1.2 门禁系统的类型选择31.2 设计的基本要求和主要技术指标5第2章 硬件设计技术文档62.1 功能特点62.2 硬件电路分析72.2.1 电路原理图72.2.2 硬件使用的资源72.2.3 各个部分单元电路原理及其分析92.2.4 硬件电路PCB板布线图17第3章 软件设计说明183.1 软件任务183.2 下位机软件设计资源分配193.2.1 512K片内Flash部分扇区和电池SRAM分配193.2.2 后台任务和中断优先级分配203.3 下位机软件设计203.3.1 下位机软件设计整体思想203.3.2 主程序的流程框架213.3.3 主要功能模式刷

10、卡开门和考勤模式程序设计213.3.4 主要功能模式发卡模式253.3.5 RS-485通信协议定义263.3.6 后台程序介绍293.3.7 附加功能程序设计323.4 上位机软件设计323.4.1 上位机软件设计思想323.4.2 各功能的程序设计33结 论34参考文献35致 谢37附 录38附录1.部分电路图38附录2.RS-485通信的发送和接收程序40前 言随着高科技的蓬勃发展,智能化管理已经走进了人们的社会生活。智能考勤系统基于现代电子与信息技术,利用智能卡或指纹等生物信息的唯一性来对员工上下班进行现代化高效管理,在各厂矿、机关、银行等场合已广泛应用并成为单位管理现代化和信息化的标

11、志。目前,欧美电子门禁系统市场正逐渐进入成熟阶段,其产业的分工已进人细分阶段,生产卡和读卡器的厂家就只生产卡和读卡器。在国内,电子门禁系统处于成长期和初始阶段。此系统是采用具有丰富多片内外设的LPC2368 ARM为微控制器,选用ZLG522S/LT读卡模块为读卡器(使用Mifare卡),外加小晶格OCM12864-9液晶显示器显示日期时间和刷卡信息,并采用HUIGANG继电器作为门锁开关,具有门状态指示灯,同时仿效实际产品引出必要的接口,如门磁检测,门内开关接口,门外铃声按钮接口,RS-485通信接口和电源接口等。系统通过RS-485总线与上位机进行通信。该系统具有按用户与时间权限刷卡开门和

12、记录功能、添加用户功能、设置时间权限和考勤时间段,还有同上位机时间同步和手动校对时间的功能,并能将记录信息通过SD卡导出。上位机在VC开发环境下编程,具有一些实际电子门禁系统的主要简单功能。第1章 系统方案概述本设计是电子门禁系统的设计,系统主要分为下位机和上位机两大块儿,其中下位机的硬件选择决定了系统的大部分功能是否能完好的实现。下面对此次设计做下方案论证。1.1 方案论证门禁系统由门禁控制器、读卡器、出门按钮、通讯集线器、感应卡和管理软件组成。下面主要对门禁控制器、门禁系统的类型和感应卡的选择来进行论证。1.1.1 门禁控制器的选择门禁控制器有多种控制芯片可以选择,如8051系列单片机、A

13、RM系列控制器等。表11是对传统8051系列单片机和ARM系列控制器的对比,实物如图11。表11 8051系列和ARM系列微控制器的对比控制器特性传统8051系列单片机ARM系列微控制器参考资料丰富、成熟较多价格便宜稍贵运行速度一般(一般低于40M)快(ARM7可达60到100M,ARM9可达200到300M)引脚较少多串行接口很少较多操作难易较简单,但模拟串行通信时,会比较麻烦设置较多,操作较复杂,但串行通信较简单图11 8051系列和ARM系列控制器由于本门禁考勤系统使用的串行口较多(与PC机、读卡器、发卡器、键盘、显示、SD卡通信都要用到串口),就这一点传统的8051系列单片机的资源就比

14、较拮据;在速度的要求上,ARM系列控制器很容易得到满足。虽然ARM系列控制器价格较贵,但综合考虑,ARM系列控制器更适合本系统。在众多的ARM控制器中,LPC2300系列较其他系列的显著优点,是其十分适用于串行通信的场合,所以选择LPC2300系列ARM控制器来做本系统的控制器。1.1.2 门禁系统的类型选择门禁系统一般有以下类型:1. 不联网门禁优点:每个门禁控制一个门,不需重新安装布线,价格便宜,一般通过自带键盘即可实现发卡、删除卡等操作。缺点:不能实现查看事件记录,不能通过管理软件统一管理。适用场合:已装修好不便于重新布线,安全性能要求不高的场合。2. RS-485联网门禁优点:通过RS

15、-485总线可实现多台控制器联网控制,可实时查看刷卡事件记录和灵活设置控制器工作参数。缺点:相对不联网门禁价格偏高,RS-485总线存在速度不高、实时性不强、布线不便和容易受雷电等因素影响。适用场合:小区、学校、仓库等人数稍多,门需统一管理,安全性能要求一般的场合。3. CAN-bus联网门禁优点:通过CAN-bus总线可实现多台控制器联网控制,可实时查看刷卡事件记录和灵活设置控制器工作参数。CAN-bus总线在工程布线上与RS-485总线相同,仅需两根通信线,布线简便。CAN-bus总线比RS-485总线可靠得多,CAN-bus控制器本身就具备数据帧的CRC校验和自动重发的功能,能进一步确保

16、通信的可靠性。具有主动上传事件记录功能,实时性好,网络资源利用高。缺点:相对RS-485联网门禁初期需投入的成本偏高,但日后维护的成本会较RS-485门禁少。适用场合:通信性能稳定性要求高,传输速度要求快、传输距离要求远的场合,如金融机构、政府企事业机关等。4. TCP/IP以太网联网门禁优点:通过TCP/IP以太网总线实现多台控制器联网控制,除能实现RS-485总线和CAN-bus总线门禁系统的所有功能外,还可以实现远程监控、跨控制器的联动和防反潜等高级功能。只要有网络资源的地方均可安装,具有速度更快,安装更简单,联网数量更大,跨地域联网的优点。缺点:产品价格略比其它总线高,需要有网络资源。

17、适用场合:适合安装在大项目、人数多、速度快、跨地域的工程中。由于本系统的技术要求和应用场所是中距离通信场合,综合以上四种类型的优缺点和适用场所,可以看出RS-485联网系统,在价格上占优势,而且本系统对安全性的要求不是很高,RS-485联网系统可以胜任,而对于CAN-bus联网门禁和TCP/IP以太网联网门禁多是对较高安全性、高传输速度和远传输距离场合的应用,所以本系统采用了RS-485联网系统。非接触IC卡RS-485门禁考勤系统示意图如图12所示。图12 非接触IC卡RS-485门禁考勤系统示意图5. 感应卡的选择常见的门禁系统有:密码门禁系统、非接触IC卡(感应式IC卡)门禁系统和指纹虹

18、膜掌型生物识别门禁系统等。密码门禁系统由于其本身的安全性弱和便捷性差已经面临淘汰;生物识别门禁系统安全性高,但成本高,由于拒识率和存储容量等应用瓶颈问题而没有得到广泛的市场认同。现在国际最流行最通用的还是非接触IC卡门禁系统。非接触IC卡由于其较高的安全性,最好的便捷性和性价比成为门禁系统的主流。所以该系统使用非接触IC卡。1.2 设计的基本要求和主要技术指标参见任务书中的“主要研究内容”和“主要技术指标(或研究目标)”栏目内容。第2章 硬件设计技术文档本设计为门禁考勤系统,顾名思义,其兼具门禁和考勤的功能。下面为本系统的硬件设计说明。2.1 功能特点此门禁考勤系统硬件电路板具有以下特点:l

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

20、接口);l OCM12864-9液晶显示屏;l SD/MMC卡接口电路;l ZLG7290接口,并将可以引出的I/O口通过排针形式都引出来(在实物中没有此接口)。门禁考勤系统的功能框图见图21图21 门禁考勤系统的功能框2.2 硬件电路分析2.2.1 电路原理图系统的电路原理图如附录图01所示。2.2.2 硬件使用的资源LPC2368是基于一个支持实时仿真和嵌入式跟踪的32/16 位ARM7TDMI-STM CPU的微控制器,并带有512 kB 的嵌入高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16

21、位Thumb模式将代码规模降低超过30%,而性能的损失却很小。其特别适合于串行通信的场合。LPC2368内部由512K的Flash,58K的片内SRAM,包括32K的局部总线SRAM、8K的USB使用的SRAM、16K的以太网SRAM和2K的电池SRAM。此门禁考勤系统只使用了片内Flash、局部总线SRAM和2K的电池SRAM,没有外部扩展存储器。如表21所示,为LPC2368I/O口的使用和分配表。表21 LPC2368I/O口的使用和分配表功能模块使用LPC2368引脚引脚功能看门狗复位P1.24给SP706S喂狗串口UART0(RS-232C 和 RS-485)接口P0.2(TXD0)

22、串口UART0的输出输入P0.3(RXD0)P1.22(GPIO)RSM485CHT的收发控制读卡器模块P0.10(TXD2)微控制器与读卡模块的UART通信接口P0.11(RXD2)P0.27(SDA0)微控制器与读卡模块的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液晶背光电源控制,低

23、电平有效(LED+)按键和门内开关P0.6P0.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引脚具体说明见表23ZLG7290接口P0.0(SDA0)此接口除去此三接口外,还有电源和地接口2.2.3 各个部分单元电路原理及其分析1. 电源电路系统设计为3.3V应用系统,但是LPC2300系

24、列ARM微控制器需要2种类型的电源,分别是3.3V和1.8V,而与PC机通信使用的RS-485收发器(RSM485CHT)和继电器都是5V器件,所以设计5V电源为系统前级电源,3.3V为后级电源。对于LPC2300系列ARM的1.8V内核供电,其有两种方案,一种是使用片内的DC-DC,另外一种是使用外部的1.8V直接供电,本系统采用前者。由于本系统没有使用AD/DA功能,所以不区分模拟电源和数字电源。如图22(a)、(b)所示,首先由CON30电源接口输入9V直流电源,二极管D11防止电源反接,经过C11、C12滤波,再通过LM2575将电源稳压至5V,然后通过L2、C111、C110组成的滤

25、波电路,输出稳定的低纹波5V电压,再使用LDO芯片(低压差电源芯片)稳压输出3.3V电压。考虑到系统长时间处于工作状态,从节能方面考虑采用了开关电源LM2575设计。系统使用的电源是9V直流电源,由CON30电源接口输入,接头上的电源极性为外正内负。当系统上电后,POWER指示LED1应点亮。LDO芯片采用了SPX1117M3-3.3,其特点为输出电流大,输出电压精度高,稳定性高。此系列芯片输出电流可达800mA,输出电压的精度在1%以内,还具有电流限制和热保护功能,广泛用户在手持式仪表、数字家电、工业控制等领域。使用时,其输出端需要一个至少10uF的钽电容来改善瞬态响应和稳定性。图22 系统

26、前后级电源和RTC电源电路LPC2300系列ARM集成有RTC外设,其单独供电,此次设计中提供了两种供电方式,系统电源和外部电池供电,如图22(c)所示。系统电源方式便于调试系统时使用,电池供电方式在实际应用中使用。2. 时钟系统、RTC时钟电路系统采用ARM 嵌入式工业控制模块T2368中的最小系统,其中使用外部12.000MHz无源晶振作为主时钟源。对于实时时钟(RTC)功能,在CPU的RTCK1和RTCK2脚之间接一个32.768KHz的晶振。3. 看门狗复位电路由于ARM芯片的高速、低功耗、低工作电压等特性导致其噪声容限低,对电源的纹波、瞬态响应性能、时钟源的稳定性、电源监控可靠性等诸

27、多方面也提出了更高的要求。使用了专用微处理器电源监控芯片SP706S以提高系统的可靠性,同时该芯片还带有硬件看门狗电路。如图23所示,在电路中将看门狗复位信号输出脚()通过R32连接到 SP706S的手动复位输入脚()上,信号nRST连接到CPU的复位脚nRST。可通过定时翻转P1.24的电平来喂狗,一旦在1.6秒内未翻转P1.24的电平,则SP706S内部的看门狗溢出,脚输出低电平, 脚被脚拉低为低电平,导致SP706S在脚输出200ms的复位脉冲令CPU复位,同时SP706S内部清零看门狗让其重新计数。图23 系统复位电路当复位按键RST按下时,SP706S的脚输出低电平复位系统。SP70

28、6S的看门狗功能与LPC2368自带的看门狗功能,在实际应用中可以任选其一,在程序调试阶段,不焊掉R32,断开与之间的连接,实际应用中,如果使用SP706S的看门狗功能,则需焊接R32。4. 串口UART0(RS-232C 和 RS-485)接口由于系统是3.3V系统,所以使用了SP3232E进行RS-232C电平转换,SP3232E是3V工作电源的RS-232C转换芯片。如图24所示,CON2为UART0接口,可以在串口调试阶段使用,在实际应用中,则要使用CON3的RS-485接口。RS-485收发器采用嵌入式隔离RS-485收发器RSM485CHT,如图24(c)所示。RSM485CHT隔

29、离收发器模块,是集成电源隔离、电气隔离、RS-485接口芯片,总线保护器件于一身,方便嵌入用户设备,使产品具有连接RS-485网络的功能,其为5V工作电源器件。电路设计中采用保守方法,加入了PESD1CAN隔离,是系统稳定性更高。RS-232C与RS-485功能可以通过跳线JP2来切换,如图24(b)。JP2跳线器说明见表22。图24 UART0(RS-232C AND RS-485)接口表22 JP2跳线JP2功能备注控制器的UART0与CON2(RS-232C)连接(模式1)串口调试时使用控制器的UART0与CON3(RS-485)连接(模式2)实际应用中使用5. JTAG接口电路和ISP

30、跳线电路采用ARM公司提出的标准20脚JTAG仿真调试接口,JTAG信号的定义及与T2368的连接如图25(a)所示。其中RTCK引脚加上拉电阻,使系统重启后,LPC2368内部的JTAG接口使能,可以直接进行JTAG仿真调试,同时P29:0引脚不为跟踪功能;其他5个引脚可以不加上拉和下拉电阻。当要使用ISP功能时,将PC的串口与CON2相连,并将跳线JP2设置为第一种模式,使用UART0通信。同时把JP1(如图25 JTAG接口电路(c)短接,是ISP的硬件条件得到满足。上拉电阻图25 JTAG接口电路6. 读卡模块和液晶显示接口现在,接触式智能卡的应用已经濒临灭绝,门禁考勤系统一般都使用非

31、接触式无线智能卡,Mifare卡就是其中的一员。Mifare卡是由Philips开发的非接触式无线智能卡,符合ISO/IEC 14443A标准,广泛应用于门禁、考勤、停车场和消费等场合,可以实现一卡通功能。Mifare卡具有数据传送速度快、防碰撞、保密性高等特点,本系统中就选用此类卡。读卡器采用ZLG500S系列读卡模块(ZLG522S/LT),此系列是非接触式IC卡读卡模块,支持Mifare S50、Mifare S70、Mifare Ultralight、Mifare Pro和Mifare DesFire等符合ISO14443标准的卡片,ZLG522S/LT为3.3V供电,具有I2C和UA

32、RT两种通信接口,和天线一体化,主动检测卡片进入的模块。此系统中,将两种接口都引出来,但只使用UART接口,如图26(b)所示。I2C接口的上拉电阻背光电源采用三极管驱动,减少控制器引脚的负担和驱动能力强劲!图26 读卡模块和液晶显示接口电路门禁系统应该有个液晶显示器,才比较专业。此系统选用金鹏电子有限公司的OCM12864-9液晶显示器,此显示器为并口总线工作模式,优点是,小晶格,小巧美观、省电。设计中使用GPIO口P2.0P2.7模拟数据总线,P1.18、P1.19、P1.20、P1.21为控制线,P1.23为背光控制线,其接口如图26(a)所示。7. 按键、门内开关和指示灯此系统中设计了

33、四个独立按键、一个门内开关按钮接口(另外用万用板搭建了一个小型接口电路,可实现门内开关模拟、继电器状态指示和门磁状态模拟功能,如)和门状态指示灯(红:门关;绿:门开)、下位机向PC机发送信息指示灯(通信时闪烁),如图27(a)(b)所示。图27 按键、门内开关和指示灯电路8. 继电器和蜂鸣器门禁考勤系统在刷卡时,权限允许时开门,此系统应用继电器做开门开关;且有蜂鸣器提示声。继电器采用HUIGANG继电器,其为5V工作器件,而系统为3.3V系统,所以在设计上采用了NPN三极管来实现3.3V系统控制5V的器件,用P1.26控制(高电平闭合),驱动电路如图28(a)所示;直流蜂鸣器,用P1.27控制

34、(低电平蜂鸣),驱动电路如图28(b)所示。两个驱动中的二极管起到继流的作用。使用NPN管继流二极管图28 继电器和蜂鸣器驱动电路9. SD卡接口SD/MMC卡有SD总线和SPI总线两种访问模式。系统使用LPC2368为控制器,其内部带有SD/MMC卡控制器,支持SD/MMC卡的SD总线模式,因此,使用该控制器来访问SD卡。LPC2368与SD/MMC卡卡座的连接引脚LPC2368微控制器与SD/MMC卡卡座接口电路如图29所示。图中,微控制器与SD/MMC卡卡座的连接引脚如表23所示。表23 LPC2368与SD/MMC卡卡座的连接引脚LPC2368引脚引脚名称卡座引脚含义P0.21SDPW

35、R-卡供电控制引脚。P0.21为低电平时给卡供电P0.22SDDATA0DAT0/DO双向的数据信号DAT0P2.11SDDATA1DAT1/IRQ双向的数据信号DAT1P2.12SDDATA2DAT2双向的数据信号DAT2P2.13SDDATA3DAT3/CS双向的数据信号DAT3P0.20SDCMDCMD/DI双向的命令/响应信号P0.19SDCLKCLK/SCK微控制器向卡发送的用于同步双方通信的时钟信号P2.8SD_CDCARD_INSRET卡完全插入到卡座中检测线。完全插入时,卡座输出低电平,否则输出高电平P3.25SD_WPCARD_WP看是否写保护检测。写保护时,卡座输出高电平;

36、否则输出低电平图29 SD/MMC卡的SD总线接口电路接口电路包括以下部分:(1) SD总线如图29所示,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保护电路如图29所示,在卡座的数据总线DAT0DAT3、时钟线CLK和命令线CMD上,使用了一个ESD保护器件PESD5V0L6U,这是一个专用于SD/MMC卡的ESD保护器件,它的作用是:当卡插入或拔出时,保护卡不受高压静电的损害。(

37、3) 卡供电控制卡的供电采用可控方式,这是为了防止SD/MMC卡进入不确定状态时,可以通过对卡重新上电使卡复位而无需拔出卡。可控电路采用P型MOS管2SJ355,有微控制器的GPIO口P0.21进行控制。采用2SJ355的目的是当它开通时,管子上的压降比较小。(4) 卡检测电路卡检测包括两部分:卡是否完全插入到卡座中和卡是否写保护。检测信号由卡座的两个引脚以电平的方式输出。当卡插入到卡座并插入到位时,卡座的CARD_INSERT(第10脚)由于卡座内部触点连接到GND,输出低电平;当卡拔出时,该引脚由于上拉电阻R83的存在而输出高电平,该输出由微控制器的输入引脚GPIO(P2.8)来检测。卡是

38、否写保护的检测与卡是否完全插入到卡座中的检测原理是一样的。10. TinyARM2300接口图210 底板与核心板接口电路以上介绍的是此系统的底板电路设计,下面是底板与核心板T2368的接口排针(2.00mm),如图210所示。此系统只使用了T2368中的LPC2368最小系统,所以只给出此最小系统的原理图,如附录图02所示。T2368中的以太网接口没有使用,不区分模拟地和数字地。11. 外部测试板、外部接口和剩余IO引出插针此次设计没有真正的门磁检测器,门锁等实际应用中的硬件设施,所以,对这些做了一个模拟的外部测试板,如所示,其有继电器指示灯,门磁模拟和门内开门开关三部分组成。如图211(b

39、)所示,其为此次设计的外部接口和几个测试点,P1.25为门磁检测输入端,BELL_1和GND为外部按铃接口,RelayA和RelayB为继电器输出接口,BELL_2为门内开门开关接口。图211(a)和(c)为剩余IO引出排针和与ZLG7290相连的接口,为系统的更新和升级做好准备。图211 外部接口和剩余IO引出接口注:由于此次制板为单面腐蚀制板,所以图211中的(a)(b)在此次制板中没有引出。2.2.4 硬件电路PCB板布线图PCB板的布线电路图如附录图03所示。17第3章 软件设计说明3.1 软件任务软件设计分为下位机和上位机两大块。 下位机软件任务以LPC2368芯片为主微控制器,对硬

40、件的各个模块(各模块参见硬件技术文档)进行控制,制作一个具有刷卡开门和记录功能的门禁考勤系统,编程实现如下功能:1. 按时间和权限刷卡开门及在不同时间段内考勤功能;2. 记录刷卡事件;3. 记录考勤信息;4. 添加用户发卡功能;5. 与PC机通讯使用RS-485总线,可以将用户数据下载到下位机系统中;6. 将记录信息导出到SD卡上;由于系统中加入了液晶显示器,所以,软件也要实现以下功能:7. 液晶显示功能;8. 通过按键校对日期和时间;同时添加了一个恢复原厂设置的功能(系统只有波特率这一个设置参数):9. 恢复原厂设置功能。 上位机软件任务上位机软件的任务主要是与下位机通过定义的RS-485协

41、议,进行通信,进而实现以下功能:1. 将用户数据下载到下位机系统中;2. 显示刷卡信息;3. 发卡功能;4. 设定时间权限和考勤时间段;5. 查看刷卡记录功能;6. 开门功能;7. 设置刷卡后的允许开门时间长度(即刷卡开门后,在这个时间内门没有打开,则系统将门关闭);8. 下位机与上位机日期和时间 同步;9. 设置通信波特率。3.2 下位机软件设计资源分配本设计应用前后台系统,使用到的LPC2368片内外设和I/O口使用参见硬件技术文档。下面介绍一下微控制器片内部分存储器的使用和分配。3.2.1 512K片内Flash部分扇区和电池SRAM分配片内Flash部分扇区分配如图31所示,池SRAM

42、地址分配如图32所示。图31 片内Flash部分扇区分配图32 电池SRAM地址分配3.2.2 后台任务和中断优先级分配后台任务和中断优先级分配如下表31所示:表31 VIC中断功能和优先级分配中断源功能VIC优先等级串口UART0与上位机通信0GPIO(P0口)的EINT3中断收键1TIMER2(1)中断收键延时,(2)继电器工作和LCD信息显示时间控制2UART2与ZLG522S/LT读卡器通信3RTC(1)更新LCD时间值,(2)检查门磁,点亮门状态灯,并将门状态发送到上位机,(3)门处于开状态过长,则关闭门,(4) 更新开门时间权限段和考勤时间段43.3 下位机软件设计3.3.1 下位

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

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

45、户查询函数、刷卡记录函数与考勤处理和记录函数。(1)主控制器和ZLG522S/LT读卡模块与Mifare卡通信调用ZLG522S模块的操作软件包,主要是读卡器对Mifare卡的一系列操作(详细内容参见附录3内容,或者参见ARM嵌入式系统应用技术笔记基于LPC2300(下册)第192页的Mifare卡通信原理一节),在此不再赘述,此模式中对卡片的请求使用“标准模式”。(2)用户查询函数、刷卡记录函数与考勤处理和记录函数用户信息、刷卡事件记录和考勤事件记录,是三个结构体,同时开门时间权限和考勤段的设置也是一个结构体,如程序清单31所示。用户查询函数作用是在读到Mifare卡序列号后,查询“用户信息

46、存储区”,如果有此用户,则返回True和此用户信息的首地址,否则返回False。刷卡记录函数的作用是将刷卡的信息记录在存储器中,程序流程图如图35所示。图35 刷卡记录函数程序流程框图考勤记录函数的作用是将考勤的信息记录在存储器中,其程序流程图和刷卡记录函数的流程图类似,不再赘述。程序清单31 定义的结构体struct infoUser1 /* 用户信息(6个字) */ uint32 cardNO; char name8; char phoneNO11; char limet;struct eventRcd1 /* 刷卡事件记录结构体(6) */ uint32 cardNO; char nam

47、e8; uint32 active; uint32 datas; uint32 times;struct attdRcd1 /* 考勤事件记录结构体(5) */ uint32 cardNO; char name8; uint32 datas; uint32 times;struct timeamr1 /* 开门权限设置结构体 */ uint8 alhour; uint8 almin; uint8 purview; /* 开门时间权限3:no;1:yes */ uint8 check; /* 考勤阶段标志3:no; */* 1:yes第一阶段;2:yes第二阶段*/;考勤处理函数的功能,是判断现

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

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

50、原理与此类似。图36 发卡模式工作流程框图3.3.5 RS-485通信协议定义1. 通信协议概述门禁考勤系统分为下位机和上位机,二者通过RS-485来通信,所以根据此系统的特点,定义了一个RS-485通信协议。该协议可以分为功能层、通信协议层和通信驱动层,但是由于其要实现的功能比较简单,所以将功能层与通信协议层合二为一,分为功能协议层和通信驱动层:(1) 通信驱动层:本层负责从通信接口UART0发送数据和接收数据,源代码位于UART0.h和UART0.c文件。(2) 功能协议层:下位机与上位机通信定义了一套协议,本层负责把要发送的数据和命令按协议进行组装和把接收到的数据按协议进行解析。本层与硬

51、件无关,源代码位于RS_485.h和RS_485.c文件。2. 通信驱动层此驱动层就是LPC2368的片内外设UART0,有关UART接口的详细描述请参考深入浅出ARM7LPC2300(上册)中的“UART”部分,在此不再详述。3. 功能协议层(1) 通信帧结构下位机和上位机通信的帧结构如图37所示,各字段的意义见表32。图37 RS-485通信帧结构表32 通信帧各字段意义字段长度(Byte)说明帧头STX01数据帧的起始位,数值为:0x2A目的机地址AIM1此数据帧是发给地址为AIM的节点源机地址ORG1此数据帧是从地址为ORG的节点发出总帧长FrameLen1整个数据帧的总长度续上表字段

52、长度(Byte)说明命令类型Cmd1发送数据节点发给接收节点的数据用途或命令(命令集参见下位机程序文件UART0.h和上位机文件protocol.h)信息长度InfoLen1该帧所带信息的长度若所发信息长度为0,则Length = 0信息InfoInfoLen信息数据,其长度由InfoLen字段指出,当InfoLen = 0时,则该字段不存在校验和BCC1校验和。从STX0开始到Info的最后一个字节的异或,最后取反帧结束符ETX01帧结束标志,数值为:0x054. 发送数据到上位机下位机发送数据到上位机函数如附录2中程序清单01所示。程序将帧内各字段填入发送缓冲区,最后调用通信驱动层函数UA

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

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

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

56、C中断的功能,前三项是秒中断的功能,第四项是报警中断的功能,且报警中断的匹配值,在每次报警中断后将重新赋值。其程序流程图如图39所示。3. LCD驱动程序设计此设计中的显示器为OCM12864-9液晶显示器,具体介绍参见硬件技术文档中的读卡模块和液晶显示接口部分。软件设计采用分层和模块化设计,分为驱动层和功能层。在使用时,先对其进行初始化设置,调用LcdPortInit和LcdInit两个初始化函数,源代码参见LCD_OCM12864_9.h和LCD_OCM12864_9.c文件。然后就可以显示信息了。驱动层中分为ASCII码和汉字两种显示驱动,而LcdPuts 函数就是两者的综合。功能层函数

57、主要是GUI_DispStringAt函数,其可以指定显示信息的位置,在显示时,先将要显示内容的区域清空,然后再显示内容。此程序的驱动层函数和功能层函数详见LCD_OCM12864_9.h和LCD_OCM12864_9.c文件中。4. 用于延时的定时器Timer2程序设计Timer2的主要功能是用于显示信息和继电器接通的时间控制。可以通过Timer2_StartCount函数来设定延时长度,并启动定时器,在延时一段时间后,进入Timer2_ISR中断函数,此函数的流程图如图38(b)所示。只发送有用信息图39 RTC中断服务程序3.3.7 附加功能程序设计下位机的附加功能主要有:手动校时和恢复

58、原厂设置两个功能。1. 手动校时程序设计在一些不易布线的场合,应用此系统时,就不容易通过与上位机同步来修改时间,这时就可以使用键盘来手动校时。首先使用功能选择键(KEY1)进入手动校时模式,通过KEY2、KEY3和KEY4来进行时间修改,三个键的功能见表33。表33 手动校时各按键的功能功能键功能KEY2切换修改项(日期和时间共有7个修改项)KEY3将选中的修改项,数值加一(秒项为赋0)KEY4此功能键只用于年修改项,将年值减一在修改除年和秒修改项外,其余项都会将修改后的值模上该项的最大值加一,以防修改越界。使用KEY2切换修改项时,被选中的项会反色显示。详细源代码参见timeCorrect.

59、h和timeCorrect.c文件。2. 恢复原厂设置设计此功能用于将系统的一些参数(此系统只有通信波特率一个参数),恢复到出厂时的状态。此功能只需使用功能选择键(KEY1)进入恢复原厂设置模式,然后按确定键(KEY4)即可。系统自动读取存储在Flash中的出厂值,进行系统的配置。详细源代码参见operateElse.h和operateElse.c文件。3.4 上位机软件设计对于门禁考勤系统来说,上位机的作用很重要,它可以完成很多任务和实现人性化管理,此设计中上位机的功能见第一节中的上位机软件任务。3.4.1 上位机软件设计思想此上位机设计是使用VC+6来编写的基于对话框的MFC应用程序,主要

60、用到了VC控件MSComm来编写串口通信程序。接收和发送数据方法和下位机的方法是相同的。应用中接收数据时,首先由此控件接收数据,当接收完一帧的数据后,进入RS-485通信协议处理函数,对整个数据帧的各字段进行合法性检验,检验正确后,通过判断命令类型Cmd,来执行相应的操作。发送数据和下位机的发送数据程序是一样的,将帧内各字段填入发送缓冲区,最后调用通信驱动层,即控件MSComm把缓冲区的数据发送出去。3.4.2 各功能的程序设计1. 接收数据设计在对话框CMJKQSystemDlg类中,为IDC_MSCOMM1添加控制变量:m_ctrlComm,用其来进行数据的发送和接收。为OnComm创建一个函数OnComm,这个函数是用来处理串口消息事件的,每当串口接收到数据,就会产生一个串口接收数据缓冲区中有字符的消息事件,执行OnComm函数。通过判断接收的最后一个字节是否为RS-485通信帧的结束符,可知是否接收完一个数据帧。当接收完一帧的数据后,进入RS-485通信协

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!