微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于ARM 的指纹识别门禁系统的设计

基于ARM 的指纹识别门禁系统的设计

时间:09-20 来源:互联网 点击:

(1:N)。验证和辨识在对比算法和系统设计上各具技术特点。 所有的生物识别系统都包括如下几个处理过程:采集、对比和匹配。指纹识别处理也一样,它包括指纹图像采集、指纹图像预处理、特征提取及匹配等过程。指纹识别系统的结构如图3-1所示。

  图3-1指纹识别系统结构

  4.门禁控制系统软件设计

  4.1 门禁控制系统总体软件设计

  系统采用ARM和指纹识别模块实现基于Linux操作系统下TCP/IP的网络型门禁系统。系统中将门禁控制器作为服务器,以太网终端的上位机PC作为客户端。上位PC机可以对多个控制器通过局域网或互联网对其进行访问、查询和设臵,一个客户端可以登陆多个服务器,一个服务器也可以支持多个用户的并发访问。系统在完成门禁系统的功能的同时,还可以提供视频监控和报警的联动管理。

  本文主要描述了系统指纹识别模块和视频监控两个方面。门禁控制器的程序流程如图4-1所示。

  图4-1 门禁控制器程序流程图

  开始初始化控制器,通过网卡AX88796向客户端发送联络数据包,等待客户端的回应,建立起控制器与客户端的联机工作。然后开启摄像头不断采集现场图像,将采集到的图像发送到客户端,客户端通过浏览器可以对现场进行实时监控。同时,系统等待键盘输入用户ID,并进行指纹采集,此时创建数据传输任务,将采集到的指纹图像数据和用户ID在SRAM中进行打包,然后发送至客户端,由客户端接收到的ID和指纹图像进行处理和对比,控制器创建数据接收任务,接收客户端返回的认证结果,并由控制器进行相应的显示和控制。在实际中,用户ID和指纹可以设臵成多种认证模式进行控制,增加用户ID有利于提高服务器的辨认对比的速度。

  4.2 指纹图像采集

  系统的指纹采集模块为SPI串口模块,指纹的采集工作由检测到手指中断开始的,系统检测到中断就会从串口发送一个字符控制FPS200开始采集。FPS200指纹采集采用分行方法对指纹图像进行采集和传输,其指纹采集流程图如下。

  图4-2 指纹采集流程图

  系统首先打开FPS200指纹采集仪,初始化系统寄存器,然后查询等待,在没有检测到手指时,FPS200处于睡眠状态,在检测到手指中断时,就可进行指纹的采集。

  4.3 网络通信

  4.3.1 TCP/IP协议

  Linux支持多种不同的网络协议,TCP/IP是Linux系统中最健壮、速度最快和最可靠的部分。TCP/IP协议包括了各个层次上的众多协议,如ARP、IP、ICMP、TCP和UDP等。下面主要介绍网络编程中涉及到的传输层TCP和UDP协议,其中TCP协议是一个面向连接的传输层协议,它为网络上的两台主机的应用程序提供一个可靠的字节流传输通道。面向连接意味着两个使用TCP协议的应用程序在彼此交换数据前必须先建立一个TCP连接。UDP协议是一个不可靠、面向无连接的传输层协议,提供简单的端到端通信服务。UDP不能保证数据的可靠传输, 可能存在数据丢失和次序错误。因此,系统因为对数据要求高可靠性需选用提供可靠连接的TCP协议。

  TCP对话通过三次握手来初始化的,三次握手的目的是使数据段的发送和接收同步,告诉其它主机其一次可接收的数据量,并建立连接。TCP实体所用的基本协议是滑动窗口协议,当发送方传送一个数据报时,它将启动计时器,当该数据报到达目的地后,接收方的TCP实体返向发送一个数据报,其中包含一个确认序号,意思是希望收到下一个数据报的顺序号。如果发送方定时器超时,那么发送方会重发该数据报。

  通常应用程序通过打开一个SOCKET使用TCP服务,TCP管理到其它 SOCKET的数据传递。可以说,通过IP的源/目的可以唯一地区分网络中的两个设备的关联,通过SOCKET的源/目的可以唯一地区分网络中两个应用程序的关联。因此,系统中门禁控制器作为服务器与外部的监控客户端的通信均可由SOCKET编程来完成。

  4.3.2 系统网络通信软件设计

  系统是通过SOCKET套接口来进行网络编程,套接口地址的格式是一个IP地址和一个端口号,套接口是进程间通信的端点,每个套接口的名字都是唯一的,所以依靠套接口来确定整个以太网域中的一个网络进程。SOCKET接口是TCP/IP网络中的API,SOCKET编程的基本模式是Client/Server。即由客户机向服务器发出请求,服务器执行被请求的任务并将响应的结构返回给客户端程序。

SOCKET是TCP/IP协议传输层所提供的接口,供用户编程访问网络资源,它是使用标准的Unix文件描述符(file descriptor)和其它程序通信的方式。SOCKET描述符是一个指向内部数据结构的指针,可以将这个描述符看成普通的文件描述符来读写操作实现网络之间的数据交流,这

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top