基于SOPC的门禁系统设计
2011-08-28陈建明
陈建明,孟 晗
(华北水利水电学院,河南郑州450011)
门禁系统是对出入口安全进行管理控制的系统,它不仅可以禁止非权限人员进入,而且可以对部门内部进行有序化管理.随着自动控制技术、现代通信技术和计算机技术的快速发展,门禁系统也需要向更加智能化、网络化和对数据进行集中管理的方向发展,这就需要将更加完善的技术应用于门禁系统中.
指纹因具有生物差异性,在门禁系统中具有广泛应用,但仍存在一定不安全因素,如权限人员被非权限人员尾随或挟持,权限人员未经许可搬走部门重要仪器等.为解决这一问题,在指纹识别后对欲出入人员进行称重,称重结果在一定范围内(该范围可调)的人才可通过受控门,这样有效地防止了尾随和仪器被盗事件的发生,提高了系统的安全性.
为方便后台计算机及时掌握各出入口人员的进出情况,需实现系统的网络通讯功能.一般来说,实现系统的网络通讯功能有如下几种方案:①使用自主编程的TCP/IP协议[1].利用现场可编程门阵列(Field Programmable Gate Array,FPGA)丰富的 IP 资源和IP复用技术,使用硬件编程语言设计TCP/IP协议的硬件电路.该方法的优点是可裁剪性好,专用性强,缺点是开发难度较高,开发周期较长.②使用操作系统直接入网[2].即通过在设备中集成操作系统和TCP/IP协议完成嵌入式设备入网要求.③使用硬件固化的 TCP/IP协议栈芯片[3].考虑到自主编程协议和植入操作系统、TCP/IP协议需要较长的开发周期,采用硬件TCP/IP协议栈W5100芯片实现以太网接口.
门禁系统中有多种传感器信号,如对实时性要求较高的中断信号、受控门的开启状态信号、转栅当前的位置信号等.为保证信号的及时处理和系统的快速运行,处理器选用具有丰富IP资源和并行处理方式的FPGA来实现网络化的智能门禁系统[4].
1 系统的总体结构
通道分为进门和出门2个方向,各有一个指纹阅读器、信号灯指示状态和电磁铁控制器.门禁控制器将指纹阅读器采集到的指纹信息进行预处理、特征提取和比对,比对通过后发一个信号给数据处理电路.数据处理电路接收到信号后计算AD7705芯片采集到的秤台上人员重量信息,不超过阈值则检测门是否为正常状态,若为正常状态则控制电磁铁执行放行动作,对应信号灯绿灯亮,对受控门的执行器件给出放行命令;如超过阈值,则对电磁铁给出禁行命令.人员进出情况将通过W5100网络传输给后台计算机.采用可编程片上系统(System On a Progra rnmable-Chip,SOPC)配置 Nios II软核处理器,使处理器作为门禁系统CPU控制外设,完成门禁功能,SDRAM存储器和Flash存储器用于存储系统运行过程中的数据和程序,EPCS配置器件用于存储FP-GA的配置数据.系统的硬件结构框图如图1所示.
图1 系统结构框图
2 系统的硬件设计
2.1 NiosⅡ软核处理器的定制
采用Altera公司的EP2C5Q208芯片,嵌入NiosⅡ快速软核处理器,系统时钟为50 MHz,在SOPC Builder中配置的主要资源有Onchip RAM、Onchip ROM、Interval timer、System ID Peripheral、SDRAM 控制器、CFI Controller、W5100 接口、AD7705 接口、指纹接口、PIO.
2.2 AD7705 芯片
采用AD公司生产的16位高性能、低功耗的AD7705芯片,它包括由缓冲器和增益可编程放大器组成的前端模拟调节电路、电荷平衡式调节器以及可编程数字滤波器等,可对来自传感器的微弱信号进行A/D转换.AD7705采用串行接口,选用其主时钟信号MCLK的频率为4.915 2 MHz,FPGA芯片与芯片AD7705的连接如图2所示.
图2 AD7705与FPGA的连接图
AD7705的所有寄存器操作都必须通过写通信寄存器来对其他寄存器操作.通信寄存器中的/DRDY位为数据准备就绪的状态位,低电平时表示转换数据可读取,高电平表示不可读取.但当对通信寄存器进行写操作时,该位必须为“0”.AD7705初始化后,先对通信寄存器进行写操作,设置下个操作对象为时钟寄存器,然后对时钟寄存器设置.同样方法对设置寄存器中的工作模式、校准、增益等参数进行设置,设置完成后将通信寄存器指向数据寄存器,监测DRDY信号状态.当该信号为低时,在MCLK的下降沿时通过DO口读入FPGA芯片中.
2.3 W5100
W5100是WIZnet公司生产的单片网络接口芯片,内部集成10 M/100 M以太网控制器,可以实现没有操作系统的网络连接.支持多种网络协议,系统选用面向连接的TCP协议.
W5100与MCU有直接总线接口、间接总线接口和SPI总线接口3种接口方式.系统采用直接总线接口方式,即使用15位地址线,8位数据线,/CS,/RD,/WR和/INT信号线进行接口连接.W5100的工作时钟为25 MHz,EP2C5Q208的频率为50 MHz,经过一次分频即可为W5100提供工作时钟.
系统中NiosⅡ软核处理器为32位,W5100的数据宽度为8位,系统中主从端口数据宽度不同,必须处理地址对齐问题.主从外设端口使用静态地址对齐,当主端口从从端口读取数据时,从端口的数据位映射到主端口数据的低位,主端口数据的高位补零.
3 系统软件设计
NiosⅡIDE是SOPC系统的软件开发环境,用户通过该软件设计C/C++应用程序代码,使用Alter公司提供的外设驱动程序和硬件抽象层(HAL)快速编写 NIiosⅡ程序,而不需关注低级硬件细节[5].
为采集到较准确的称重数据,AD7705编程时采用去极值平均滤波法,该算法为:建立一个固定长度的队列,对体重值进行一次新采样时采得该队列长度个数值,先用中值滤波法滤除采样值中的干扰,即剔除队列中的最大值和最小值,再用算术平均法算出余下采样值的平均值就是本次采样的体重值.
考虑到权限人员的体重会发生变化,且仪器的更新也会使得对阈值的需求产生变化,管理人员可根据实际情况随时调节阈值大小,暂设置可通过的体重波动范围为5 kg.在一次“放行”动作完成后,将人员的实时体重及时更新到存储器中.
为便于查看人员出入情况,用VC语言编写了后台计算机的显示界面,如图3所示.
图3 显示界面
4 结语
采用SOPC技术,通过添加NiosⅡ嵌入式内核及外设的硬件配置、编写C应用程序代码,控制AD7705和硬件网络协议芯片W5100完成重量识别和网络通讯的功能,增加了利用指纹识别的门禁系统的安全性.并用VC编程搭建用户界面,实现了智能化、网络化的门禁系统.
[1]陈维良,赵俊超,魏少军,等.TCP/IP协议的ASIC设计与实现[J].微电子学,2002(2):97-101.
[2]廖凌,刘旭儒,史仪凯.一种基于C/OS-II的嵌入式以太网通信实现方法[J].计算机测量与控制,2010,18(3):1142-1144.
[3]蒋峰.W5100在远程温度采集系统中的应用[J].化工自动化及仪表,2011,38(2):214 -217.
[4]任爱锋.基于FPGA的嵌入式系统设计[M].西安:西安电子科技大学出版社,2004.
[5]周立功.SOPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2006.