高柱明
(中山市技师学院,广东中山,528400)
随着科技的快速发展以及社会经济的持续增长,安全问题日益突显,如何有效地实现出入口的安全防范管理成了一个亟待解决的问题。为此,智能门禁控制系统应运而生,在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。然而,当前市场上的智能门禁控制系统种类繁多,各有优缺点。因此,针对安全要求较高的环境,有必要研究一种基于嵌入式技术,以SEP4020 为核心的智能门禁系统,通过SQL 数据库进行数据组织、存储和管理的能力。在满足安全要求的同时,该系统还具有良好的可扩展性,可根据不同的通讯方式选择性地实现装置和网络的通信控制。
SEP4020 处理器是一款高性能、低功耗的嵌入式处理器,广泛应用于各种智能设备中。由于其出色的性能和稳定性,SEP4020 处理器在智能门禁系统设计中具有重要价值。表1 展示了SEP4020 处理器与其他常见处理器的性能对比。从表中可见,SEP4020 处理器在主频、内核数量和功耗方面与其他处理器相比具有显著优势。在智能门禁系统设计中,SEP4020 处理器可以实现高性能的运算处理和低功耗的稳定运行。此外,该处理器还具备丰富的外设接口,方便与其他模块进行通信与扩展。
表1 SEP4020处理器性能情况
微机自动识别技术是利用计算机辅助识别和处理各种类型的数据,如条形码、二维码、生物特征等,从而实现自动化管理。在智能门禁系统中,微机自动识别技术可以有效地实现身份识别、权限验证等功能。表2 给出了几种常见的微机自动识别技术及其特点。
表2 常见微机自动识别技术及特点
本文在SEP4020 系统的基础上,对该系统的硬件进行了详细的设计,具体包括:设定与启动处理器有关参数;设计复位电路和外部遥控唤醒的电路;与RTC 时钟同步有关的设定;设计并优化JTAG 的调试接口电路;设计“看门狗”电路,提高了整体电路的灵敏度;扩展通讯电路,在原来485 通讯方式的基础上,加入了以太网通讯方式,使整个门禁系统在功能上增强扩展性能;标准的SDRAM 与NANDFLASH 接口电路的设计,使其具有更大的内存容量,更大的运算容量;采用PWM 技术设计了蜂鸣器电路,实现了语音功能;设计了电源模块,为系统提供了12V、5V、3.3V的电压。硬件结构图如图1 所示。
图1 系统硬件设计结构图
本设计的控制器和上位机的通信方式支持和以太网两种接口通信方式。RS485 接口电路采用MAX3485CSA 半双工通信驱动芯片,利用主芯片上的PD4485 引脚同时与485驱动芯片的RE 和DE 芯片来控制数据是接收还是发送。芯片上的 485RXD2 代表接收器输出,当A 引脚的电压大于 B 引脚的电压200 毫安的时候,数据接收端为高电平,否则为低,分别在接收器和驱动器的旁路并联TVS 瞬态抑制二极管,可以有效地保护芯片电路。门禁控制系统除了RS485 通信方式以外,还支持以太网通信接口方式,理论上只需要phy 芯片就可以实现通信,设备也能够正常工作,但是传输距离受到了限制,利用HR611206 网络变压器首先可以解决距离传输问题,其次,如果接受不同电平的信号,可以保证彼此设备不受影响,最后,使PHY 芯片与外部隔离,能够提高信号的抗干扰性,这样就可以很好地保护芯片。
SEP4020 处理器芯片上电管脚的引脚数,分别是0、1、2 这三个管脚,其目的是完成该系统的外部起动,其起动选择如表3 所示。
表3 处理器启动外部引脚配置
通过外部的专用引脚nRESET 来完成处理器的硬件复位,其复位时间为2 ms 以上,一方面,使用者可以选择简单的RC 延迟电路,或外部专门的复位电路,对处理器进行上电复位;另一方面,也可以使用按键来完成按键的复位。此外,该芯片还具有在“睡眠”时的遥控唤醒功能,使用者只需在外界按下按钮即可启动对应的紧急唤醒,使得该芯片由“睡眠”恢复至“缓慢”,继而恢复至“正常”工作,具体的工作原理见图2。
图2 外部简易RC 上电复位电路
在本次设计中,所用到的PT7M7823 数字芯片,完成对整个电路系统的复位。PT7M7823 是一款5 管脚的处理器监测电路芯片,该芯片还具有手工复位和看门狗定时器功能,使用者可以利用它和外面的看门狗复合电路,共同完成对处理器的电源检测和上电复位,详细设计如图3 所示。
图3 外部电复位电路
备用电池为RTC 的计时器供电,当发生故障时,保证可以设置时间停止。在设定时刻与现在时刻一致时,实时钟表会自动停止,从而为日历计时,达到分钟级精度。该方法采用了两种不同的时钟信号,其中一种为RTC 电路,工作速率为32.768 kHz,见图4(a);另外一个是系统时钟频率,需要2~5 MHz 时钟才能进行工作,建议用户在主频中使用4 MHz 的时钟频率,具体情况如图4(b)所示。除此之外,本设计在SDRAM 的时钟信号引脚(SDCLK)上,增加了1.5 kΩ 的下拉电阻,具体情况如图4(c)所示,其目标是要与外界时钟阻抗相匹配,从而提高系统稳定性。
图4 RTC 模块时钟电路
看门狗电路功能是在系统出现异常运行时,控制器系统会自行进行再启动,从而增加了系统的可靠性。另外,如果软件出现异常状况,比如电压过高、静电过大等,则由看门狗线路启动,使软件重新启动,以保证软件安全。如图5所示,利用PT7M7823 电路监督芯片和三态输出总线缓冲器闸(SN74LVC125A)的合作,来完成门禁系统的看门狗,即利用该缓冲器闸来控制电路是否进行复位。为了使得缓冲器开关可以正确的操作,SN74LVC125A 的启动端子(WDCTL(PB9))在高电平信号的情况下,需要维持在High,而在WDI (PB8)为低电平信号时,输出在Low。
图5 看门狗电路
本设计所采用的开发平台是在虚拟机下安装的LINUX系统,该系统版本为Fedora7,内核版本为LINUX2.6.16,并在LINUX 操作系统环境下建立与GCC、数据库和U-BOOT等编译工具。门禁控制装置的烧写软件是由博芯电子公司提供的一种特殊系统烧写软件完成,该软件操作便捷,可以对启动文件U-BOOT、内核镜像和文件系统进行烧写,使用的烧写器是ARM 公司的一种特殊的调试工具J-LINK。本次研制的驱动程序主要包括:电锁的继电器控制驱动程序、报警继电器控制驱动程序、SEP4020 芯片单个引脚的驱动程序、按钮驱动程序刷卡器驱动程序和 PWM 语音驱动程序。
在基于嵌入式技术的智能门禁系统设计中,选择合适的操作系统对于保证系统稳定性和实现多任务处理至关重要。在众多嵌入式操作系统中,Linux 具有开源、稳定、可定制等优点,适用于多种应用场景。因此,本文选择Linux 操作系统作为基本平台。为适应智能门禁系统的特点和需求,需要对Linux 操作系统进行定制和移植。首先,针对SEP4020处理器的特性和资源限制,对Linux 内核进行裁剪和优化,移除不必要的驱动和功能模块,降低系统资源占用。其次,根据识别模块、控制模块、通讯模块等的实际需求,添加相应的硬件驱动和接口支持,确保各模块之间的正常协同工作。
驱动程序是操作系统与硬件设备之间的桥梁,负责实现设备的控制和数据传输。在基于嵌入式技术的智能门禁系统设计中,针对各个硬件模块如识别模块、控制模块、通讯模块等,需要开发相应的驱动程序以确保系统的正常运行。识别模块驱动:根据所选用的微机自动识别技术(如条形码、二维码、指纹识别、面部识别等),开发相应的驱动程序,实现对识别设备的控制和数据采集。控制模块驱动:针对SEP4020 处理器和其他控制器硬件,开发驱动程序以实现对锁控制、报警等硬件设备的操作。具体对应的驱动文件名如表4 所示。
表4 驱动程序名称对应表
针对SEP4020 的U-Boot 操作流程,主要包括以下操作方法和命令:
(1)启动U-Boot:将目标板上电,通过串口连接至上位机。开发人员可以在上位机上使用串口终端软件(如PuTTY、minicom 等)以进行操作。在串口终端中配置好相应的波特率、数据位、停止位和奇偶校验后,可以看到U-Boot 的启动信息。
(2)驱动系统中U-Boot 命令:
help:显示可用的U-Boot 命令列表和简短说明。
version:显示U-Boot 版本信息。
printenv:显示当前环境变量的值。
setenv:设置环境变量的值。
saveenv:将环境变量保存到持久存储介质(通常为NOR/NAND Flash)。
loadb:通过串口下载二进制文件。
tftp:通过TFTP 协议从网络服务器下载文件。
nand read/write/erase:对NAND Flash 进行读取、写入和擦除操作。
fatload:从FAT 文件系统中加载文件。
bootm:从指定内存地址启动内核映像。
(3)下载和烧写内核映像:使用tftp 或loadb 命令将内核映像下载到目标板的指定内存地址,然后使用nand write 命令将内核映像烧写至NAND Flash 中。烧写完成后,可以使用nand read 命令进行校验。
(4)启动操作系统:配置好U-Boot 的环境变量(如bootcmd、bootargs 等),并使用saveenv 命令保存。之后,通过bootm 命令从指定的内存地址启动内核映像,加载并运行操作系统。
在基于嵌入式技术的智能门禁系统中,数据库设计是关键环节之一,负责系统数据的组织、存储和管理。本文采用SQL 数据库作为数据存储方案,根据系统需求设计了以下几个主要数据表:
(1)用户信息表(UserInfo):用于存储用户的基本信息,如用户ID、姓名、部门、权限等级等。通过设置合适的权限策略,实现对不同用户的门禁控制。
(2)访问记录表(AccessLog):记录用户通过门禁系统的时间、地点和结果等信息。便于管理员进行查询、分析和考勤管理。
(3)设备信息表(DeviceInfo):存储门禁系统设备的信息,如设备ID、位置、状态等,方便进行设备管理和维护。
(4)报警记录表(AlarmLog):记录门禁系统发生的异常事件和报警信息,帮助管理员快速定位和处理问题。
在 QT 开发的基础上,本文将该系统的管理软件划分为:控制器设定部分、信息中心部分、权限设定部分。在图6的系统软件功能拓扑图中,对访问管理装置和高层的功能模块进行了详细的分类和划分。
图6 管理软件功能拓扑结构图
(1)登录设置
当登陆时,账户名称和口令将被设定为:使用者名称Admin 口令为空。可以通过“权限管理”菜单来设定或修改相应使用者名称及密码。点击“增加”,在信息中设置了名字、等级、密码等信息,然后 “保存”后就可以加入了。从菜单栏中的“系统管理”中,选择“参数设定”,视窗内所显示的是读取IC 写卡编号和读取IC 写卡编号。选择「读IC卡写卡数」这个选项,当刷 IC卡时,将会读出 IC卡的卡数,而 IC 卡除了自身序号外,还可以再写一次。而“读卡序号”这个选项,可以读取 IC 卡或者 ID 卡的序号。
(2)控制器设置
在现代工业生产中,控制器是不可或缺的设备之一。控制器的作用是控制设备的运行,以达到生产线的自动化、高效化。首先,对控制器进行相关设置时,主要是对设备进行管理。对于手动增加控制器,需要填写相关控制器信息,如设备序列号、设备名称、通信IP 地址、通信网关和子网掩码的设定。其次,在控制器的管理软件中,可以对不需要的控制器设备进行删除,也可以对控制器的网络参数进行修改,这样可以保证控制器的网络设置是符合实际需要。
管理软件也支持自动搜索到当下网络环境中的控制器,控制器出厂初始IP 地址默认为192.168.0.8。如果用户不知道控制器的实际IP 地址,可以通过搜索功能来查找控制器。点击“开始搜索”按钮即可发送广播信号,将同一局域网中的控制器都能够搜索到列表中。搜索过程中,需要耐心等待,直到搜索完成。搜索完成后,可以将搜索的结果添加到数据库中。这样可以方便用户以后更快地找到控制器。在使用控制器时,需要根据实际需要对控制器进行相关设置。这样可以保证控制器的正常使用,提高生产效率。
(3)高级功能
门禁系统的主要功能是控制出入门的开放,保障机构内部安全。而在门禁系统中,卡片管理是至关重要。以下是门禁系统中卡片管理的关键点。首先,门禁系统中卡片设置,首长卡设置优先级比紧急设置低,响应互锁规则,但上传能够成功。这意味着,如果同时存在多个设置,系统会优先响应首长卡设置。即使其他设置具有更紧急性质,系统也会按照首长卡设置进行操作,以保证安全性。同时,该设置不会影响上传的成功。其次,门禁系统中的首长卡适用于管理者使用,可实现相应的门动作。因此,该卡片使用范围比较有限,只能被特定的管理者使用。而且,该卡片可以直接控制门的动作,具有较高权限。
门禁系统中的管理卡可以设置常开、常闭,有效日期不受限。这意味着管理卡的使用范围比较广泛,可以被更多人使用,可以长期使用。同时,该卡片还可以设置常开、常闭状态,方便使用者根据需要进行门的控制。
报警输入种类包括报警信号报警、胁迫报警、非法卡报警等,用户可自定义。门禁系统中的报警输入种类比较丰富,可以包括多种类型的报警信号。同时,客户也可以根据自己需要进行自定义设置,以更好地保障安全。解除报警信号只能解除当前的报警信号,设置依然存在。在门禁系统中,解除报警信号只能解除当前的报警信号,不能直接取消设置。因此,即使报警信号已经解除,相关的设置依然存在,仍然会影响到后续的使用。
最后,门禁系统中的定时任务设定,可以在特定时间段设置门状态或开门方式。这意味着,用户可以根据需要进行灵活的门控制。而且,该设置可以在特定的时间段进行,例如在夜间进行特定的门控制,以保障安全。门禁系统中的实时任务的受控方式包括首卡开门、首卡常开、仅首长卡开门。实时任务的受控方式比较多样化,可以根据用户的需要进行选择。例如,可以选择使用首卡开门方式,或者仅允许特定的首长卡进行开门,以保障安全。
本文以SEP4020 为核心,设计了一套满足高安全要求的智能门禁系统,系统涵盖了硬件电路设计、操作系统选择与移植、驱动程序开发、数据库设计等关键环节,实现了信息存储、处理、保存和通讯中枢等功能。本设计方案具有较高的可扩展性,可根据不同场景和需求进行优化和定制。随着技术的不断发展,未来智能门禁系统将具备更多高级功能,如多模态生物识别、人工智能分析、物联网集成等。在实际应用中,智能门禁系统将在工作环境安全、人事考勤管理等行政管理工作中发挥更大作用。