基于ARM核AT75C220在指纹识别系统中应用

纹识别技术近年来逐渐成熟,在门禁、安防和金融等方面得到了越来越广泛的应用。典型的是以指纹传感器和DSP处理器为核心构成。指纹传感器采集指纹图像,DSP处理器实时实现指纹识别算法。同时,通常的还具有较强的通信能力,除了具有RS485通信外,高档的还要求具有以太网接口和Internet连接能力。Atmel公司新推出的智能互联网芯片集成了ARM内核、DSP协处理器以及以太网MAC接口,用和指纹传感器结合可构成高性能的指纹识别系统。

1 主要特点

AT75C220是定位于智能互联网应用的高性能ARM处理器,采用ARM7TDMI微处理器核,具有OadDSP核,强大的外设(如中断控制器和外设数据控制器),其DMA通道增强了微控制器的实时性能。主要特点有:

    • 集成ARM7TDMI ARM Thumb处理器核

       

    • 一个16b定点DSP核
    • 双以太网10/100Mb/s MAC接口
    • 88kB的完整快速RAM(支持DMA方式)
    • 多媒体数字信号编解码器(CODEC接口)
    • 集成SDRAM控制器

      这样,AT75C220就很适合于需要图像处理功能并具有互联网通信能力的设备,比如高性能的指纹识别设备和VoIP应用等。单芯片集成多种功能可以降低成本,提高系统可靠性。同时,该芯片完备的开发软件支持(包括LINUX操作系统和DSP算法程序支持等)也有利于减少产品上市时间。

      2 芯片结构

      AT75C220主要由运行速度达40 MI/s的基于ARM7TDMI的RISC处理器、运行速度为60MI/s的DSP处理器和双以太网10/100Mb/s的MAC接口组成。其内部机构如图1所示。

      AT75C220包含2种不同的总线ASB和APB,ASB用于连接、DSP核等核心模块,而APB总线则连接串行通信接口、通用I/O口等,两总线之间用AMBA总线桥连接。

      ARMTTDMI微处理器是一个高性能的嵌入式CPU,他功耗低,运算速度快,内含Thumb指令解码器,可支持16b指令,同时支持调试和快速乘法等功能,并可通过模块互交总线与其他功能模块进行数据交换。
      ARMTTDMI(Thumb)是公司授权用户最多的一项产品,将ARM7指令集同Thumb扩展组合在一起,以减少内存容量和系统成本。同时,他还利用嵌入式ICE调试技术来简化系统设计,并用一个DSP增强扩展来改进性能。选择基于的产品的另一个理由是,ARM公司的处理器核心得到了大量厂家的支持,便于产品的开发和升级换代。

      同其他集成DSP核的芯片相比,AT75C220的DSP子系统资源是相当丰富的,如图2所示,除包含一个60MI/s,16b定点DSP内核外,还具有不同用途的RAM:2kB×l6X-RAM,2kB×l6Y-RAM,16kBXl6通用数据RAM,24 kB×l6可下载程序RAM,一个256×16双端口的RAM邮箱用于MCU-DSP通信。完整的CODEC接口允许大量的工业声音、多媒体或数据的连接。 


    • 芯片集成的以太网接口包括了2个独立的10/100Mb/s以太网MAC接口和一个32kB的数据包缓冲区。双端口MAC的设计使设备嵌入到现有的以太网中而不需要另外的电缆,由于2个MAC接口之间用局部总线连接,大量的数据包可以不受延迟地从一个MAC传送到另一个MAC,其间无需软件的参与。数据包缓冲区由MAC接口通过DMA的方式操作,用于临时保存接收和发送的数据包,在大多数情况下可以满足较大的通信量。 

      3 指纹识别算法

      指纹自动识别作为一个有较大难度的模式识别研究分支,其研究难点主要集中在如何对采集进来的各种有噪声图像进行滤波和增强、如何抽取指纹的全局和局部特征以及如何进行在图像不能完全定位和图像可能发生扭曲变形情况下的特征匹配上。一般可以分为以下几个步骤,如图3所示,指纹识别算法流程主要包括灰度滤波、二值化、二值滤波、细化、细化后的去噪等步骤,最后进行特征提取和匹配。


      本系统的指纹识别算法的灰度滤波采用基于块方图的方向滤波,接着进行二值化并细化指纹图像,在二值化和细化的过程中进一步去噪声,消除导致错误的特征点的可能性。用模板匹配的方法分别获取指纹的特征点,如端点、叉点等。指纹匹配采用基于中心点的匹配算法。通过在PC机上验证,该算法可以达到较好的效果。

      4 

      一般由指纹传感器、DSP处理器和外围电路组成,为增加系统的处理能力,系统中往往还包括另外的处理器管理诸如通信、人机接口、指纹数据库等。本系统结构如图4所示,电容式的指纹传感器FPSll0采集指纹图像并交由内部的DSP协处理器进行指纹识别,完成图像的预处理、提取指纹特征码,并同指纹库中的指纹特征进行匹配,给出判别结果。运行于LINUX操作系统之上,实现了TCP/IP协议栈,由于指纹识别器的网络系统对实时性和吞吐率要求并不高,但是要求可靠性和保密性比较高,所以传输层协议选择TCP协议,并且传输的数据经过了加密。ARM处理器上还包括了人机接口和控制输出,控制输出用于对电子门锁进行控制。另外,ARM软件还包括门禁系统、考勤系统中的一些专有控制模块,比如门禁权限管理、考勤数据库管理等。


      5 算法的移植

      指纹识别算法开始时在PC机上实现,需要移植到的DSP子系统中。如果直接用C语言移植,难以发挥DSP的实际处理能力,执行效率相当低。关键的算法模块用汇编语言实现后,指纹的采集、图像预处理和匹配可以在1s中完成,算法效率和识别率与PC机上计算相当,达到了实际应用要求。

      6 结 语

      由于硬件采用集成多功能的构成系统,系统硬件设计简单,使整个系统达到了小型化、网络化、智能化的要求。实践证明,采用这种结构的设备处理能力得到了提高,代表了未来门禁系统发展的方向。

      硬件功能的集成使主要的设计工作集中在软件设计上,如何进一步提高识别率,分布式数据库系统的完善,数据的保密性传输是今后设计的要点。

转载于:https://www.cnblogs.com/smart123/p/6209720.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据库学习笔记】——创建数据库文件

目录 1、数据库基础知识 2、创建数据库文件 1、数据库基础知识 什么是数据库?——数据库是存放多个数据表的仓库,数据表可以理解为是二维数组 如上表所示,每个表由行列组成: 字段:每一列称之为一个字段,每…

岁月在流逝,从阿里退下来接近70后程序猿带给我的启示

大家好,今天为大家带来一个非常励志,让我反思的故事。今天为大家讲的是我父亲是如何用行动教会我成为程序员的。 岁月的锤炼 圆口接口的键盘,2003年的 有人问这个键盘难道没有擦过吗?不是的,是擦不掉的岁月痕迹。如果有…

浅谈工业机器人的运动停止

德系的工业机器人系统中,对于机器人停止运动,定义了3种模式,比如 KUKA 的工业机器人分别定义了 Stop 0 ,Stop 1,Stop 2 (*注1)。这种定义模式是与机器人的机械结构和电气结构相关联的。 对于此,读者应该先了…

MySQL 数据表备份导出,恢复导入操作实践

因为经常跑脚本的关系, 每次跑完数据之后,相关的测试服数据库表的数据都被跑乱了,重新跑脚本恢复回来速度也不快,所以尝试在跑脚本之前直接备份该表,然后跑完数据之后恢复的方式,应该会方便一点。所以实践一…

js实现去重字符串

实现去重字符串主要是把重复的字符与原来的字符&#xff08;先push()进入一个数组存起来&#xff09;相匹配&#xff0c;如果match返回的不是null则说明重复&#xff0c;就删除掉&#xff1a; <script>var str prompt("请输入一个字符串&#xff1a;", "…

ABB 机器人 IsStopMoveAct 指令 - Is stop move flags active

IsStopMoveAct - Is stop move flags active 用法&#xff1a; IsStopMoveAct 用于得到当前或连接运动任务的 停止移动位状态。 is used to get the status of the stop move flags for a current or connected motion task. 基本示例&#xff1a; stopflag2:…

【数据库学习】——数据库可视化--Navicat下载安装连接教程

目录 进入网站 下载可视化软件 安装 双击桌面图标&#xff0c;选择试用 连接数据库 查看数据库中的表&#xff0c;如下所示 常用数据库有&#xff1a; MySQL、sqlite等 进入网站 Navicat | 产品https://www.navicat.com.cn/products 下载可视化软件 这里以数据库sql…

机器学习笔记1(K-近邻算法)

人生苦短&#xff0c;我用PythonK-近邻算法&#xff1a;简单来说&#xff0c;K-近邻算法就是采用测量不同特征值之间的距离方法进行分类优点&#xff1a;精度高、对异常值不敏感、无数据输入假定缺点&#xff1a;计算复杂度高、空间复杂度高适用范围&#xff1a;数值型、标称型…

C# 格式化字符串

原文地址&#xff1a;http://www.cnblogs.com/zyh-nhy/archive/2007/10/11/921240.html 1 前言如果你熟悉Microsoft Foundation Classes&#xff08;MFC&#xff09;的CString&#xff0c;Windows Template Library&#xff08;WTL&#xff09;的CString或者Standard Template …

【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

目录 1、sqlite数据库介绍 1&#xff09;常见的数据库操作 2&#xff09;数据操作常见步骤 2、向数据表中增加数据&#xff08;insert into&#xff09; 1&#xff09;向数据表中添加一条记录 2&#xff09;向数据表中一次性添加多条记录 ​ 3、修改数据表中已有的数据 1)…

springMVC分析-2

springMVC的请求映射 上一次分析了一下springMVC的大致流程&#xff0c;这次细分一下&#xff0c;对请求映射进行分析。 先从DispatcherServlet中的getHandler()方法分析 protected HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception {for (Hand…

简单消息协议

简单消息协议&#xff1a;定义了ROS与工业机器人之间简单的消息协议。额外的处理程序和管理器类包含用于处理有限连接的系统。这个包是ROS-Industrial计划的一部分。 简单消息协议定义了ROS驱动层与机器人控制器层通信的消息结构。该消息结构符合下列要求&#xff1a; 1、结构足…

Centos安装Vmware-Tools工具

1、打开指定的Centos虚拟机&#xff0c;点击清单-->虚拟机-->客户机-->安装/升级VMware-Tools&#xff08;<u>W</u>&#xff09;&#xff1b; 2、登录Centos会话台&#xff0c;Applications-->Systme Tools-->Terminal&#xff1b; 3、使用“su -”…

【sqlite常用操作SQL语句】

目录 1、创建一个新的数据表 2、在已有的数据表中增加一个新的字段&#xff08;列&#xff09; 3、 在已有的数据表中增加一条新的记录&#xff08;行&#xff09; 1、创建一个新的数据表 "create table user(id int(11) primary key, name varchar(20))" 含义&…

perl-基础

1、Perl 语法入门&#xff1a; 1、print 语句&#xff1a; print "Hello, world\n"; print("Hello, world\n"); 2、引号&#xff1a; Perl双引号和单引号的区别: 双引号可以正常解析一些转义字符与变量&#xff0c;而单引号无法解析会原样输出。 3、perl数…

wdk1703+vs2015编译的诡异问题

wdk1703vs2015编译的诡异问题 最近将wdk升级到1703&#xff08;10.0.15063.0&#xff09;版本&#xff0c;编译一个新建的minifiter项目居然出现了失败 提示错误为 WindowsDriver.common.targets(460,5): error MSB6004: The specified task executable location "\stampi…

centos6虚拟机复制后修改网卡

方法1&#xff1a; 使用vmware创建centos6.4虚拟机&#xff0c; 创建完成后复制该虚拟机&#xff0c; 打开复制的虚拟机发现网卡名字是eth1&#xff0c;而网卡配置文件为eth0&#xff0c;mac地址变了 这时修改网卡配置文件&#xff0c; 删除uuid&#xff0c;修改deivce为eth1&a…

【pyinstaller打包pyqt5编写的项目为exe(脱离环境可运行)】

目录 下载pyinstaller库 0、pyinstaller语句介绍 1、单个py文件打包成exe 1)只有py文件 假设只有一个py文件&#xff1a;pyinstaller -F xxx.py 加上图标&#xff1a;pyinstaller -F xxx.py -i xxx.ico 取消命令行窗口:pyinstaller -F -w xxx.py -i xxx.ico 2) 不但有py…

熔化极气体保护电弧焊简介

1概述 熔化极气体保护电弧焊&#xff08;英文简称GMAW&#xff09;是采用连续等速送进可熔化的焊丝与被焊工件之间的电弧作为热源来熔化焊丝和母材金属&#xff0c;形成熔池和焊缝的焊接方法&#xff0c;如图1所示。为了得到良好的焊缝应利用外加气体作为电弧介质并保护熔滴、熔…

python 中cPickle学习二

写入&#xff1a; import cPickle as p shoplistfile data.data shoplist [meili,[current_account,[100000,1222],basis_account,[5555555,888]],qinshan,[current_account,[1089000,12292],basis_account,[55555955,888]],jiayou,[current_account,[10000,12292],basis_acc…