APP下载

一种低成本的嵌入式门禁控制器

2021-06-28金鑫朱金涛朱中旭

电子测试 2021年1期
关键词:轮询门锁原理图

金鑫,朱金涛,朱中旭

(湖北文理学院物理与电子工程学院,湖北襄阳,441053)

0 引言

随着电子信息与计算机技术,特别是RFID等技术的发展,电子门锁的应用越来越广泛;这些电子门锁应用便捷、安全性较高[1][2]。部分电子门锁仅核对卡信息并控制门锁开关,而很少存储用户开启门锁的时间。同时,还有部分电子门锁不提供联网功能,其数据无法共享,使得整个门禁系统的管理也受到局限。

门禁系统利用门禁控制器,将分散的电子门锁联网,为建筑物内的各类通道口提供安全的智能门禁功能。这种系统不仅可以利用人员身份卡对出入口进行控制,还可以记录出入时间以实现更多管理服务[3]。

目前门禁系统中常用的门禁控制器,多是由PC机或者工控机来实现,功能较为强大、同时价格较高。本文讨论了一种基于STM32的、提供简单Web服务的、低成本的嵌入式门禁控制器。

1 基于STM32的门禁控制器整体设计

本文设计的门禁控制器,采用STM32F407微处理器为核心,利用LAN8720A作为PHY芯片提供以太网接入功能,利用MAX3486提供485总线访问功能,实现了网络化门禁管理。控制器采用轻量级的LWIP网络协议栈提供TCP/IP服务,采用HTML语言,设计了门禁信息查询平台的交互页面,并采用SSI技术以提供服务器的信息交互[4]。系统主要功能模块结构图如图1所示。

图1 系统主要模块结构图

控制器利用485模块,轮询485总线上的电子门锁,利用以太网模块,轮询局域网内的电子门锁,以验证各个电子门锁的正常在线;同时,各门锁的开门信息可以通过总线或者网络发送至门禁控制器。作为PHY芯片, LAN8720A模块的原理图如图2所示。

图2 LAN8720A模块原理图

为保存这些门禁信息,控制器在SD卡中实现了FatFs文件系统。SD模块的原理图如图3所示。

图3 SD模块原理图

系统在初始化完毕后,利用中断完成各项功能。主要功能模块初始化过程如图4所示。

图4 主要功能模块初始化过程图

2 门禁控制器通信设计

为安全起见,门禁控制器设计为仅采集各电子门锁的在线信息、开门信息等,并不控制各门锁的开关操作。考虑到应用的兼容性,门禁控制器支持485总线通信与以太网局域网通信。

2.1 通信协议数据格式

在具体实现中,控制器记录的电子门锁动作时间设计为该信息到达控制器的时间。考虑到485总线为半双工工作方式,为了保证轮询的正常进行,轮询期间电子门锁不能主动上传开关信息。为了保证电子门锁的实际动作时间与控制器对该动作的记录时间的误差可控,轮询时间需尽量短。为此,系统采用自定义通信协议数据格式,如图5所示。

图5 门禁通信协议数据格式

其中,各域均为1个字节长。头域为AAH,表示数据开始。类型域为0、1、2、3,分别表示在线轮询电子门锁、电子门锁信息上报、控制器命令下发、上位机信息查询等,其中命令下发的实现涉及安全,部分电子门锁不支持。尾域为55H,表示数据结束。

当类型域为0时,表示在线轮询;地址域为被轮询的电子门锁地址,信息域为该电子门锁的当前状态。当类型域为1时,表示信息上报;地址域表示发送信息的电子门锁地址,信息域表示开启门锁的用户编号。为保证安全,信息上报时用户卡号并不会发送给门禁控制器,发送的是该用户在本门锁中的用户编号。

2.2 通信过程

通过修改配置,可以设定门禁控制器的轮询时间间隔,如设定为1分钟轮询一次。在每一轮的轮询中,首先进行的是对485总线上的电子门锁的轮询,然后是对以太网上的电子门锁的轮询。轮询时通讯方式为主从应答,门锁处于等待接收状态,不发送通讯数据,接收数据并进行处理;当收到控制器发送的对本地址的通信后,返回一帧应答数据;当收到控制器发送的对非本地址的通信后,抛弃该数据。被轮询的门锁对轮询进行回应,控制器收到回应后轮询下一门锁;当控制器轮询超时后将不回应的门锁视为不在线,并轮询下一门锁。

485总线通讯设置如下:采用异步串行通讯,半双工方式。速率9600(4800)bps,1位起始位,1位停止位,8位数据位,无校验位,lsb在前。轮询超时为发送时间的4倍时间。当速率为9600bps时,在不多于32部门锁的情况下,485总线轮询总时间不超过1秒。

当485总线、以太网均轮询完毕后,各电子门锁可以实时上报发生的开门信息,也可以上报在轮询周期内未上报的开门信息,控制器需对收到的信息进行回应。当485总线上的电子门锁上报发生的开门信息时,其余门锁检测到后,在发送时间的5倍时间内禁止上报信息,以防产生冲突。若两门锁同时发送各自的上报信息,总线上将产生冲突,其余门锁检测到冲突后,在发送时间的5倍时间内禁止上报信息,以防扩大冲突;控制器因校验错误,将不回应;发生冲突的门锁在超时时间内未收到控制器回应,将随机延迟一段时间并再次发送其上报信息。

3 门禁控制器嵌入式Web服务设计

门禁控制器利用LWIP网络协议栈提供TCP/IP网络服务,从支持TCP/IP的电子门锁中获取门禁信息;上位机从控制器中读取其存储的门禁信息,读取当前的门锁状态。控制器内建WebServer,提供简单的Web页面访问服务,操作人员可以通过浏览器登录控制器并获取各门锁状态与门禁信息。

在完成LAN8720A驱动程序移植、LWIP协议栈移植之后,系统采用HTML语言编写web网页,利用makefsdata.exe生成fsdata.c文件、编译链接进系统程序;并采用SSI技术通过Httpd_cgi_ssi.c文件中的函数来实现与网页的数据交互。

4 结束语

本文以STM32F407微处理器为核心,设计了一款低成本的门禁控制器,该控制器可以通过485总线、以太网与各个电子门锁进行通信,获取门锁状态和开门信息。系统移植了LWIP网络协议栈,采用HTML语言设计了网页,并利用SSI技术实现了与网页的信息交互。该门禁控制器与电子门锁构成的门禁系统具有稳定性较好、安全性较强、便于二次开发等特点,能够支持上位机进行更多功能扩展。

猜你喜欢

轮询门锁原理图
2011款别克凯越车中控门锁失灵
一种简易气门锁夹安装设备
浅谈STM32核心板原理图设计
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
6款热门智能门锁推荐
基于等概率的ASON业务授权设计∗
依托站点状态的两级轮询控制系统时延特性分析
利用时间轮询方式操作DDR3实现多模式下数据重排
关于EDA教学中Quartus II原理图输入法的探讨