基于Cortex-A8的嵌入式门禁管理系统设计
2021-08-05李刚
李刚
(北京大学医学部总务处,北京100191)
门禁系统在人们日常工作生活中的应用普及程度越来越高,随着嵌入式技术在性能和功能等方面的迅速提升,门禁系统的关键设备门禁控制器,也由最初的单片机控制逐步发展为嵌入式系统控制,很好地解决了单片机处理能力不够、存储容量小等固有的局限性问题。但随着门禁系统的应用场景越来越丰富,对门禁系统的高性能、易用性、稳定性和安装、维护、升级等的便捷性提出了更高的要求。
基于此,本着“类傻瓜式”易用性目标,本文提出了全嵌入式门禁系统的设计思路,在硬件上保证高性能的同时还要保证安装简单、易用,在软件上将管理软件、数据库、门禁控制程序均内置于控制器内,不需要专配计算机或服务器单独安装配套软件,只需通过浏览器直接访问控制器内置的web服务器进行便捷管理与维护。
1 系统结构
系统采用中央、本地两级分布式结构,如图1所示,两级监管、两级存储。其中门禁控制器和系统控制器均采用基于TI工业级高性能嵌入式微处理的工业控制计算机系统平台,唯一区别是装载的软件包不同,系统控制器因承担了系统上位机的功能,相比于门禁控制器,其嵌入式web服务器和数据库功能更全面,用来对整个门禁系统进行配置和管理,与此同时,它仍可兼做门禁控制器使用。管理员只要能接入门禁系统的网络,便可访问任意控制器的web服务,实现对所有门禁控制器的管理。
图1 系统结构示意图
2 系统硬件设计
2.1 CPU模块设计
AM335X内嵌Cortex-A8高速32位处理器,主频为720 MHz,完整的MMU可支持多种复杂的现代操作系统运行,性价比也高,这在市场竞争中至关重要。Cortex-A8是一款成功的ARM内核,作为嵌入式应用系统的关键组成部分,目前已被广泛应用于移动终端、掌上电脑和许多其他日常便携式消费电子设备[1]。AM335X支持总线扩展并包含丰富的片内外围,非常适合于门禁系统所需功能,主要使用AM335X的如下硬件特性[1-2]。
串行接口:AM335X支持多个串口,可方便连接各种外部串行设备,在本设计中,通过总线外扩串口与片内串口配合,以实现门禁系统所要求的多路串口功能。
外部总线接口:用于实现串口扩展。
以太网MAC:AM335X内嵌2个10 M/100/1 000 Mbps以太网MAC,通过外扩PHY,可方便实现门禁系统所需的网络连接功能。
VGA接口:AM335X内嵌功能强大的LCD控制器,分辨率最高可达1 366×768,通过外扩的LCD与VGA转换电路,实现门禁系统所要求的VGA输出接口功能。
音频接口:AM335X内嵌音频接口,通过外扩音频编码/解码电路,实现门禁系统所要求的音频输入输出功能。
USB接口:AM335X内嵌USB控制器,配合相关外围电路,实现门禁系统所要求的USB接口功能。
GPIO接口:AM335X支持多路GPIO,实现门禁系统所要求的各种状态信号的输入/输出功能。
2.2 存储器模块设计
由于AM335X内部存储空间有限[3],仅有64 KB RAM和176 KB ROM,为满足实际应用的需要,扩展了RAM和ROM存储器。RAM存储器采用高速DDR3 SDRAM构建,容量为512 MB,用于支持门禁系统的高速运行;RAM存储器选用MICRON的16位数据宽度的器件MT41J256M16,作为操作系统程序及用户应用程序的运行空间。ROM存储器采用1 GB NAND Flash构建,用于存储系统程序、配置信息及用户数据等需要掉电保持的数据。ROM存储器选用SAMSUNG的8位数据宽度、1 GB的NAND Flash器件K9F8G08-SIB0,作为操作系统及用户应用程序的静态存储空间。
2.3 串口扩展模块设计
因门禁系统中某些场所读卡器到控制器的距离较远,为解决好信号通讯问题,读卡器到控制器之间采用RS485方式传输,RS485采用平衡发送和差分接收,因此具有抑制共模干扰的能力,最大传输距离标准值为1 200 m。
为解决不同场景的多应用需求,本系统设计了多达10路的RS485串行通信接口,既能有效减少门禁系统总体建设成本,还能提供丰富的辅助输入输出应用接口功能,同时为楼宇自动化系统提供便捷的系统集成接口,在具体应用场景中可灵活选择可控制门的数量(最多10个门)、辅助输入输出的类型和数量。但AM335X内嵌的UART接口数量(6个)无法满足需求,因此,需要再通过外扩相关电路,实现系统所需的串口通讯接口。本系统采用TI的4串口扩展器件TL16C554AI[4],该器件内部包含4个完全一样的串行收发单元,并内嵌16字节FIFO以减少收发中断次数,从而加快通信速度。
2.4 机箱易用性设计
控制器设计为19英寸(1英寸=2.54 cm)标准1U机柜型机箱,可机柜或壁挂安装,还可配合专用配件叠型安装,节省空间。为降低模具成本,机箱设计为单门、双门、4门、8门、10门等多种型号通用配置,以适用不用应用场景的多种需求。内置电源和内置继电器回路控制,接线端子移至机箱外部,每个门对应一组接线端子,读卡器、门磁、门锁、开门按钮以及其他消防报警联动辅助输入输出设备的接线方式简单易操作,降低接线难度,减少接线错误,并对所有点位运行状态设置全状态LED指示灯。
控制器机箱除上述外接端口外,还设有2个RS-232、1个VGA、1个百兆网口、4个USB2.0、1个SD卡插槽、2个Audio接口,为控制器提供了音视频需求设备的就近安装可能,也给暂不具备网络条件的用户提供了直接连接键盘、鼠标、显示器等外设进行控制器设置的可选项。
3 系统软件设计
软件系统主要包含操作系统(移植到硬件平台的嵌入式LINUX系统)、设备驱动程序、各类HMI接口程序、门禁系统后台服务程序、网络通讯程序以及嵌入式web服务器和数据库等。其中,嵌入式web服务器和数据库是本系统的突出特点。
3.1 嵌入式web服务器设计
由于门禁控制设备的安装环境因实际需求不同各异,且绝大多数情况下的安装位置不利于实地管理和维护,因此,基于TCP/IP的门禁系统更符合易安装易维护的设计理念,除布线施工方便外,最大的优势是可以在嵌入式系统中部署web管理功能,用户只需使用浏览器方便地访问门禁设备,实现与设备的数据交互,从而对设备进行远程配置维护、数据实时采集等[5]。嵌入式webserver有多种,本文采用的是Goahead。
Goahead webserver是为嵌入式实时操作系统(RTOS)量身定制的,而且是一个开源(商业许可)、简单、轻巧、功能强大、可以在多个平台运行的嵌入式webserver,支持ASP、嵌入式的JavaScript、CGI执行,支持内存中的CGI处理GoForm;可以使用C语言编程定制Web页面里的HTML标签;可以利用它提供的EJscript和GoForm进行方便有效的动态数据交互,而且也能方便地实现Ajax动态效果增强用户使用体验[5-6]。除此之外,Goahead还支持使用SSL进行数据加密和认证,还支持摘要认证机制,以及它的用户管理功能可以对不同的用户设置不同的访问权限;支持多种操作系统,并且移植非常方便。
3.2 嵌入式数据库设计
本文采用SQLite作为门禁系统的嵌入式数据库,由于在嵌入式中实现数据库操作,必须选择公开源码的,性能好、运行速度快、查询速度快、稳定可靠、规模小的数据库,门禁系统数据库表之间也并没有多少复杂的关联关系,而SQLite则简单易用,速度也很快,同时提供了丰富的数据库接口,在操作语句上类似关系型数据库的产品,使用也非常方便,它的设计思想是小型、快速和最小化管理,完全满足本系统的使用要求。
SQLite在大小和功能之间找到了一个理想的平衡点,完全的开源代码使其可以称的上是理想的“嵌入式数据库”[7]。SQLite实现了完备的、可嵌入的、零配置的SQL数据库引擎。它的主要特点包括[8-9]:①事务处理是原子的、一致的、独立的和持久的(ACID),即使在系统崩溃和掉电以后;②零配置,即不需要设置和管理;③实现了绝大部分的SQL92标准;④一个单独的磁盘文件存储一个完整的数据库;⑤数据库文件在机器之间可自由共享;⑥支持数据库文件大小至2 TB;⑦字符串的大小只受限于可用存储器容量;⑧代码量小,即小于30 K的C代码行和小于250 K的代码空间;⑨对于绝大多数普通操作来说,比流行的C/S模式的数据库引擎运行速度快;⑩API简单、易用。
3.3 门禁管理系统设计
门禁管理系统根据控制器是作为系统控制器还是本地控制器分为系统和本地两个版本,本地版本只需满足本地控制器所需的系统管理和必要的监控管理功能即可,而系统版本功能更全,主要包含如下功能模块。
系统管理:包括全局设置、时区设定(节假日定义、时间集和时间段定义)、数据维护、版本升级、系统接口,提供标准接口协议与其他系统进行联动或集成。
设备管理:系统控制器管理、门和门组管理、门禁控制器参数设置与安装等。
人员管理:部门管理、人员和人员组管理、卡管理、卡关联等。
门禁监控:动态显示每一道门的读卡、按钮、门状态、报警等信息,并可对门进行远程控制或进行重新布防、撤防等操作。
事件管理:与门禁监控模块对应,主要作为运行时间或历史事件的查询统计功能。
用户管理:直接利用Goahead提供的用户认证和授权功能框架实现门禁系统管理员维护、组访问权限、操作日志管理等。
3.4 易维护设计
上述设计已经将门禁系统从硬件的易安装、软件的免安装等方面做了充分考虑,更多地是简化施工人员的操作复杂度,但对于门禁系统的最终用户来说,易维护更是实现“类傻瓜式”易用性目标的关键,因此,在管理系统的数据维护模块,重点设计了如下特点。
默认标准模式:在软件中内置默认标准模式,标准模式能够满足绝大多数常规应用,个别个性化的要求也可重新设置参数,更改为新的标准模式。控制器安装后,可通过标准模式自动匹配人员信息、卡信息、进出模式等,减少调试人员的工作量。
信息批量导入:客户的人员信息、卡信息、部门信息等均可通过文本格式,自动导入到系统内,减少调试时手动录入。
应用程序在线升级:登录管理系统,可直接将下载的升级文件复制到控制器内,重启启动系统即可,而不需要将设备返厂维修。
备份数据导入导出:管理系统可实现便捷的数据库、配置信息、人员信息备份导出导入功能,也可以自动将相关信息备份到指定的目录下,更换控制器后只需将备份文件导入到新的控制器内即可恢复以前的数据,减少了再次调试配置的工作。
4 结束语
本文提出了一种全嵌入式门禁系统的设计思路,目的是既能保证硬件高性能运行,还能尽可能减少因操作系统、数据库、软件兼容性、病毒入侵、误操作等对门禁系统软件造成的不稳定因素和安装调试复杂度,实现“类傻瓜式”的易用性目标,以期降低集成商、工程商、最终用户在系统实施和后期使用维护中对厂家的依赖性,使门禁系统真正做到产品化、产业化、大众化。