(计算机应用技术专业论文)基于ip核复用的指纹识别系统的研究与应用.pdf_第1页
(计算机应用技术专业论文)基于ip核复用的指纹识别系统的研究与应用.pdf_第2页
(计算机应用技术专业论文)基于ip核复用的指纹识别系统的研究与应用.pdf_第3页
(计算机应用技术专业论文)基于ip核复用的指纹识别系统的研究与应用.pdf_第4页
(计算机应用技术专业论文)基于ip核复用的指纹识别系统的研究与应用.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)基于ip核复用的指纹识别系统的研究与应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 指纹识别系统在很多领域得到广泛的应用,但当今市场上的指纹识 别系统厂商所提供的指纹识别应用系统和解决方案,从指纹识别应用系 统到指纹识别软件开发包,无论是系统集成还是应用开发的增值产品、 嵌入式系统或其他计算机软件,普遍存在价格昂贵的因素。 面对这种情况本文从系统模块的角度出发,根据指纹识别系统的功 能需求,运用s o c 软硬件协同设计的方法把软硬件相结合,探索构建一 个可复用、成本价格低、拥有自主知识权产的指纹识别系统i p 核 ( i n t e lle c t u a lp r o p e r t y ) 知识产权模块。本文的主要内容如下: ( 1 ) 从系统模块的角度出发,运用s o c 软硬件协同设计的方法,对指 纹识别系统i p 核模块的体系结构进行规划和构想,考虑指纹识别系统 i p 核知识产权模块各个部分的组成。 ( 2 ) 对a r m 处理器、l i n u x 嵌入式操作系统、指纹采集芯片硬件电路 及驱动程序、指纹识别算法程序进行集成,形成一个指纹识别算法s o c 片上系统,初步形成一个指纹识别算法i p 核知识产权模块。 ( 3 ) 实现了f p s 2 0 0 指纹传感器芯片的硬件电路连接设计和基于 l in u x 2 6 内核的u s b 驱动程序设计,在指纹识别算法模块的实现过程中 对指纹识别算法进行了学习和研究,针对a r m 处理器没有浮点运算和除 法运算指令的特点对指纹识别算法进行了优化。 ( 4 ) 设计了指纹识别工p 核系统的初始化、复位功能、安全设置、参 数设置等功能,通过提供网络和串口系统接口模块对指纹识别i p 核系统 进行封装,使p c 机和单片机、a r m 等嵌入式设备系统通过复用指纹识别 工p 核系统可以方便地实现门禁、考勤、身份认证等系统。 关键词:i p 核复用;s o c 设计;指纹采集;指纹识别;u s b 驱动程序; 嵌入式l i n t l x 操作系统; 广东工业大学硕士学位论文 a b s t r a c t f i n g e r p r i n ti d e n t i f i c a t i o ns y s t e mist ob eu s e dw i d e l yi nm a n y a r e a s b u ti n t o d a y sm a r k e t ,f i n g e r p r i n t i d e n t i f i c a t i o n a p p l i c a t i o n sa n ds o l u t i o n so ff i n g e r p r i n ti d e n t i f i c a t i o ns y s t e m s p r o v i d e db y t h e m a n u f a c t u r e r s , f r o m s y s t e m s t 0 s o f t w a r e d e v e l o p m e n tk i t , w h e t h e ri ti s s y s t e m si n t e g r a t i o n o rt h e v a l u e a d d e dp r o d u c t so fa p p l i c a t i o nd e v e l o p m e n t ,e m b e d d e ds y s t e m s o ro t h e rc o m p u t e rs o f t w a r e ,h i g hc o s ti sam a i nf a c t o rw h i c hk e e p s t h ef i n g e r p r i n ts y s t e m sf r o mb e i n gw i d e l yu s e d t om e e tt h ec h a l1 e n g eo ft h i ss i t u a t i o n ,w ee x p l o r e di n b u i i d i n gal o w c o s t ,r e u s a b l e ,a n di n t e l l e c t u a lp r o p e r t yr i g h t s e l fh o l d i n gf i n g e r p r i n ti d e n t i f i c a t i o ns y s t e mi p ( i n t e l l e c t u a l p r o p e r t y ) c o r em o d u l e ,f r o mt h ep e r s p e c t i v eo ft h es y s t e mm o d u l e , t om e e tt h e f i n g e r p r i n t i d e n t i f i c a t i o n s y s t e m f u n c t i o n r e q u i r e m e n t s , s o ch a r d w a r ea n ds o f t w a r ec o d e s i g na p p r o a c hi s a d o p t e di nt h ep r o c e s so fs o f t w a r ea n dh a r d w a r ei n t e g r a t i o n t h e m a i nc o n t e n t so ft h i sp a p e ra r ea sf o l l o w s : ( 1 ) c o n s i d e r i n g t h ea r c h i t e c t u r eo f f i n g e r p r i n t i d e n t i f i c a t i o ns y s t e mi pc o r em o d u l e sf r o mt h ep e r s p e c t i v eo f s y s t e mm o d u l e ,t h ec o m p o s i t i o no ff i n g e r p r i n ti d e n t i f i c a t i o n s y s t e mi pc o r em o d u l e si sp l a n n e d t h ec o d e s i g na p p r o a c ho fs o c h a r d w a r ea n ds o f t w a r eisa d o p t e d ( 2 ) t h ea r mc p u ,e m b e d d e dl i n u xo p e r a t i n gs y s t e m ,f i n g e r p r i n t s s e n s o rc h i pa n dd r i v e r ,f i n g e r p r i n ti d e n t i f i c a t i o na l g o r i t h m p r o g r a m a r ei n t e g r a t e dt of o r maf i n g e r p r i n ti d e n ti f ic a t i o n a l g o r i t h ms o cs y s t e m ,w h i c hf o r m e das k e t c ho ft h ef i n g e r p r i n t i d e n t i f i c a t i o na l g o r i t h mi pc o r em o d u l e n a b s t r a c t ( 3 ) t h ei m p l e m e n t a t i o no ft h ef p s 2 0 0f i n g e r p r i n ts e n s o rc h i p h a r d w a r ec i r c u i td e s i g na n dc o n n e c t i o n ,d e s i g n i n gp r o c e s so ft h e u s bd r i v e rf o rl i n u x 2 6k e r n e l ,t h ef i n g e r p r i n ti d e n t i f i c a t i o n p r o g r a m s ,a n dt h eo p t i m i z a t i o no f t h ef i n g e r p r i n ti d e n t i f i c a t i o n a l g o r it h m s f o rt h ea r mc p uw h ic hd o e sn o th a v eb u ii t 。i n f l o a t i n g 。p o i n tp r o c e s s i n g u n i ta n dt h ed i v i s i o n o p e r a t i o n i n s t r u c ti o n s ( 4 ) t h ed e s i g n i n go ft h ei n i t i a l i z a t i o na n dr e s e tf u n c t i o n s , t h es e c u r i t ys e t t i n g sa n dp a r a m e t e r ss e t t i n gf u n c t i o n so ft h e f i n g e r p r i n ti d e n t i f i c a t i o ns y s t e mi pc o r e b yp r o v i d i n gn e t w o r k a n ds e r i a li n t e r f a c em o d u l es y s t e mo ff i n g e r p r i n ti d e n t i f i c a t i o n s y s t e mf o ri pn u c l e a rp a c k a g es ot h a tt h ep ca n dm c u ,a r m ,a n do t h e r e m b e d d e dd e v i c e sc a nr a p i l yi m p l e m e n ta c c e s sc o n t r o l ,a t t e n d a n c e r e c o r d i n g ,a n di d e n t i t y a u t h e n t i c a t i o ns y s t e mb yr e u s i n gt h e r e u s a b l es y s t e m k e y w o r d s :ipc o r e r e u s e d :s o cd e s ig n :fin g e rp rin tc a p t urin g : fin g e r p rin tid e n tific a tio n :u s bdriv er :e m b e d d e dlin u xo s 独创性声明 独创性声明 秉承学校严谨的学风与优良的科学道德,本人声明所呈交的论文是 我个人在导师的指导下进行的研究工作及取得的研究成果。尽我所知, 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,不包含本人或其他用途使用过的成果。与我一同 工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明,并 表示了谢意。 本学位论文成果是本人在广东工业大学读书期间在导师的指导下取 得的,论文成果归广东工业大学所有。 申请学位论文与资料若有不实之处,本人承担切相关责任,特此 声明。 指导教师签字: 论文作者签字: 2 昭年卵可日 5 3 七所r,f寥乙以甲f 茏诮季 厨彤 广东工业大学硕上学位论文 先的技术和优越的产品性能,低功耗、高效能、低成本以及小体积等特性使得 a r mi p 核拥有了众多的知识产权授权用户,其中包括m o t o r o l a 、s a m s u n g 、 t o s h i b a ,t e x a si n s t r u m e n t s 、s t 、i n t e l 、a p li x ,a t h e r o s ,b r o a d c o m 、c s r , k a w a s a k i 、n e c 、s o c l e 、s o n ye r i c s s o n 、t h o m s o n 、p h l i p s 、z r r t 等世界顶级 的半导体系统公司。a r m 的1 6 3 2 位嵌入式处理器技术是世界上目前应用最为普 遍的微处理器结构,几乎已经垄断了全球r i s c 芯片市场,成为业界实际的r i s c 芯片标准。采用a r m 技术的微处理器遍及各类电子产品,汽车、消费娱乐、影像、 工业控制、海量存储、网络、安保和无线等市场。 各半导体生产商从a r m 公司购买其设计的a r m 微处理器核,根据各自不同的 应用领域,加入适当的外围电路,就形成了自己的a r m 微处理器芯片。x s c a l e 是i n t e l 发布的s t r o n g a r m 的第二代架构处理器,第二代s t r o n g a r m 处理器大大 强化了前一代s t r o n g a r ms a 一1 1 1 0 处理器的性能,目前已正式上市x s c a l e 架构 的处理器有i n t e lp x a 2 5 、i n t e lp x a 2 1 0 、i n t e lp x a 2 7 0 。基于a r m 的技术方案 具有高性能、低成本的优势,是目前市场上最具市场前景和市场优势的解决方案, x s c a l e 处理器作为最新的高性能a r m 架构处理器,代表了面向p d a 、掌上电脑、 多媒体移动电话以及其它无线网络产品市场的需求,在本文的系统中使用研兴公 司e d k 一2 7 0 s l 开发板,e d k 一2 7 0 s l 开发板采用了基于s t r o n g a r mi p 核的i n t e l p x a 2 7 0 处理器,该处理器具有功能强大的、成本价格低的优点,能满足指纹识 别i p 核模块系统高性能、低成本的要求。 2 2 2 指纹传感器的选择 对于指纹识别系统来说,指纹传感器是除了指纹识别算法之外最重要的部 分。目前,指纹采集仪主要有光学型传感器指纹采集仪、半导体电容型指纹采集 仪和超声波型指纹采集仪等型号: ( 1 ) 光学型传感器 光学取像设备是最早出现的指纹传感器,它的历史可以追溯到2 0 世纪7 0 年 代。依据的是光的全反射原理。光线照到压有指纹的玻璃表面,反射光线由c c d 去获得,反射光的数量依赖于压在玻璃表面指纹的脊和谷的深度和皮肤与玻璃间 的油脂。光线经玻璃射到谷后反射至i j c c d ,而射到脊后则不反射多j c c d ,由此得到 指纹图像。 第二章口核复用与指纹识别系统的组成 ( 2 ) 电容型传感器。电容传感型指纹采集仪一般在单个晶片上集成了1 0 多万 个电容传感器,其外面是绝缘的表面,当用户的手指放在上面时,电容器的电容 值由导体间的距离不同而不同。当手指放在采集仪表面上,手指皮肤组成了电容 阵列的另一极,电容的大小与皮肤表面到采集单元的距离相关,在指纹的脊线上, 距离就较小;若在谷线上,距离就较大,传感器通过对这些电容器的充放电,读 取放电电压,从而构造出一幅指纹图像。半导体传感器的最大优势就是成本低、 体积小。 ( 3 ) 超声波扫描型传感器。超声波扫描型原理是超声波扫描指纹的表面后, 接收设备获得指纹对超声波的反射信号,再根据指纹脊和谷的反射信号重构出指 纹图像。表( 2 - 1 ) 对这三种指纹采集仪的优缺点进行了比较: 超声波扫描 采集方式:光学全反射技术硅晶体电容传感技术 体积:中小大 耐用性:非常耐用容易损坏一般 干手指差,汗多的手指成干手指好,汗多的手指不能成非常好 成像能力: 像有些模糊像,抗静电能力差 分辨率: 4 5 0 d p i 3 0 0 d p i 5 0 0 d p i 耗电:较少 一般多 成本:低低高 表( 2 - 1 ) 三种指纹采集方式优缺点比较 通过比较,我们得到的结论是:超声波型指纹采集仪因价格原因应用较少; 光学指纹采集仪体积较大,不易于嵌入,不具备指纹自动检测功能,在强光下采集 图像效果差;半导体型指纹采集仪集成度高,易于嵌入、易于与微处理器接口逐 渐成为指纹采集的主流产品。美国v e r i d i c o m 公司从1 9 9 7 年开始研究c m o s 指纹传 感器,其核心技术是基于高可靠性硅传感器芯片设计,迄今已研制出f p s l1 0 , f p s 2 0 0 等系歹u c m o s 指纹传感器产品,并被一些商品化的指纹识别系统采用。在我 们的系统中采用了v e r i d i c o m 公司f p s 2 0 0 芯片,具有成本低、体积小、功耗低的 优势,有利于构建具有可复用性、成本价格低的指纹识另 s o c 片上系统,形成具 有自主知识权产的指纹识别算法i p 核知识产权模块。 广东工业大学硕士学位论文 2 2 2lin u x 嵌入式操作系统及设备驱动程序简介 l i n u x 是一个充满生机的操作系统,具有巨大的用户群和广泛的应用领域, 在软件业中有着重要地位,是惟一能与u n i x 和w i n d o w s 较量和抗衡的操作系统。 l i n u x 操作系统核心最早是由芬兰的l i n u st o r v a l d s1 9 9 1 年8 月在芬兰赫尔辛 基大学上学时发布的,后来经过众多世界顶尖的软件工程师的不断修改和完善, l i n u x 在全球普及开来,在服务器领域、个人桌面、嵌入式开发等方面得到越来 越多的应用。l i n u x 在嵌入式开发方面具有其它操作系统无可比拟的优势: 1 、l i n u x 是完全免费 l i n u x 是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并 可以任意修改其源代码,开放、协作的开发模式使l i n u x 操作系统紧跟技术发展 潮流,具有极强的生命力,这是其他的操作系统所做不到的。l i n u x 操作系统的 使用能有效降低产品成本,符合我们构建低成本指纹识别系统i p 核模块的要求。 2 、l i n u x 支持多种体系结构处理器, 目前,l i n u x 已经被移植到数十种硬件平台上,几乎支持所有流行的c p u , 如x 8 6 、a r m 、m i p s 、a l p h a 、s p a r c 等。对a r m 处理器的支持大大方便了我们对 l i n u x 内核的定制和裁减,有利于基于a r m 处理器的指纹识别系统i p 核模块的 构建。 3 、l i n u x 支持多任务,内核功能强大,性能高效、稳定 l i n u x 的自由精神吸引了来自全世界成千上万优秀的程序员参与l i n u x 的修 改、编写工作,这让l i n u x 吸收了无数程序员的精华不断壮大。l i n u x 的内核非 常稳定,它的高效和稳定性已经在各个领域,尤其在网络服务器领域,得到了事 实的验证。嵌入式l i n u x 操作系统的使用有利于构建一个稳定的指纹识别系统 i p 核模块。 4 、l i n u x 内核小巧灵活,易于裁减,周边硬件设备驱动非常丰富 l i n u x 秉承u n i x 的优秀设计思想,非常灵活,功能各部分和大小都可定制, 经过多年的发展周边硬件设备驱动非常丰富,这些优势使得它很适合嵌入式系统 的应用。 5 、良好的开发环境,不断发展的开发工具集 l i n u x 有着非常优秀的完整开发工具链,有十几种集成开发环境,其中大多 数是免费的,大大降低了开发费用。我们通过对g c c 进行交叉编译就生成了一个 第二章口核复用与指纹识别系统的组成 免费的可以生成a r m 处理器上运行代码的交叉编译工具链,进而可以对指纹识别 算法程序进行编译,生成可以运行的代码。 综上所示,通过对嵌入式l i n u x 操作系统的引入能更加有效地管理系统内各 种硬件和软件资源,减少系统编程的工作量和系统对特定处理器i p 核模块等硬 件的依赖。然而,嵌入式l i n u x 操作系统的引入也屏蔽了应用程序直接操纵硬件 权力,这时我们就需要按照l i n u x 操作系统的驱动模块要求编写硬件驱动程序。 硬件设备驱动程序运行于操作系统内核层次,是操作系统内核和机器硬件之间的 接口,它完成以下的功能: 1 、对设备初始化和释放。 2 、把数据从内核传送到硬件和从硬件读取数据。 3 、读取应用程序传送给设备文件的数据和回送应用程序请求的数据。 4 、检测和处理设备出现的错误。 在我们的系统中,嵌入了l i n u x 2 6 9 内核的操作系统,编写了f p s 2 0 0 指纹 采集仪u s b 驱动程序,通过加载该u s b 驱动程序,创建设备的文件节点,在指纹 识别算法程序中即可以象操作普通文件一样从指纹采集仪读取数据。 2 2 3 指纹识别算法简介 指纹识别算法主要由指纹图像分割、指纹图像增强、二值化、细化、特征提 取、指纹匹配等步骤组成瞄引,如图( 2 - 2 ) 所示: j j 指指 细 特指 纹纹 值 征纹 1分 增 化化 提匹 臭 割强取配 图2 2 指纹识别算法基本步骤 指纹分割是把指纹的背景区域从图像中分离出去,减少对指纹图像进行处理 时的计算量:指纹增强的目的是对输入的噪音较多的灰度图像进行滤波,去除图 像中的叉连、断点及模糊不清的部分,得到一幅较清晰的灰度图像:二值化就是 把灰度指纹图像变成0 一l 取值的二值图像,这样就使图像的灰度层次由原来的 2 5 6 级( 8 一b i t s ) 降为2 级( 1 一b i t s ) ,从而大大减少需要存储和处理的数据量; 指纹图像的细化为了提高处理速度和识别精度,在不破坏图像连通性的情况下去 ,苎荨以上的系统搭建初步形成了一个以a r m 处理器和l i n u x 操作系统为平 宝:竺釜竺别算法为内容的s o c 片上系统,我们进一步对指纹识别系统i i , t l i 二荔岳 兰笺雾兰荨通过系统接口模块提供网络和串行口系统功能调用服务,使其善三 控设备可以对指纹识别系统工p 核模块进行复用,具体如图( 2 3 ) 所祟_ 一 。,警:指纹识别i p 核系统通过网络和串行口提供系统初始化、系统复位、系 兰耋篓篓置、加载指纹仪驱动程序、御载指纹仪驱动程序、采集指纹图葛:下主 要兰竺孽、上传指纹记录文件、指纹注册、指纹较验、指纹识别、删除;一嘉主 记录文件1 - 、删除所有指纹记录文件等功能的控制命令输入。 “一 从外部系统看来,整个指纹识别系统是一个单独、可复用的模块,p c 或单 苎黧竺芝誓它嵌入式设备作为主控设备可以通过接口模块的控制命令集忑 三篓警竺竺孝警进行操纵,指纹识别系统i p 核模块对命令 讲一行i - i i 衄1 , 1 i 析 1 i 甜i j l i 行ij i i 竺兰三兰送竺孝控设备。外部系统通过复用指纹识别系统工p 核模块可以方釜 实现门禁、考勤、身份认证等系统。 。 述出上得 了 , 行对 进毗 度匹宽行 素迸像本个样 一 征有特 只纹之指使和 素征像特 缘节边细 的纹线指纹取 纹提乜日扣指中 除像删图,从 息可信即 。 的后果余之结 多骤配掉步西 第二章口核复用与指纹识别系统的组成 在指纹识别系统i p 核模块内部,网络通讯模块和串口通讯模块通过调用指 纹图像采集程序实现图像的采集存储,通过调用指纹识别算法程序从而实现指纹 的指纹注册、较验、识别,通过调用l i n u x 操作系统调用提供远程命令执行等功 能,指纹识别算法程序和指纹图像采集程序通过驱动程序对f p s 2 0 0 指纹采集传 感器进行操作,实现指纹图像数据的采集。 2 3 本章小结 本章对i p 核复用技术和s o c 软件硬协同设计等概念进行简单地介绍,概括 叙述了基于ip 核复用的指纹识别系统的总体设计思路、系统各部分组成框图和 各个子模块的功能。 广东工业大学硕上学位论文 第三章基于i p 核复用的指纹识别系统的实现 在整个指纹识别i p 核系统的具体实现中我们采用了研兴公司e d k - 2 7 0 s l 开 发板做为实验平台,e d k 一2 7 0 s l 开发板集成了基于s t r o n g a r mi p 核的i n t e l p x a 2 7 0 处理器、6 4 m bs d r a m 、3 2 m bf l a s h 、u s b 接口,c p u 频率为5 2 0 m h z u “。 e d k - 2 7 0 s l 开发板为指纹识别算法i p 核模块的构建提供了良好的试验环境,指 纹采集传感器我们采用v e r i d i c o m 公司开发的固态电容式指纹传感器f p s 2 0 0 芯 片,通过u s b 接口和开发板进行连接,操作系统选用l i n u x 2 6 9 。我们通过在 e d k 一2 7 0 s l 开发板a r m 系统上加入l i n u x 操作系统,设计f p s 2 0 0 指纹采集芯片 硬件电路及驱动程序形成指纹采集模块、嵌入指纹识别算法程序,形成一个指纹 识别算法s o c 片上系统,最后对系统进行集成封装,通过编写网络通讯接口和串 行接口守护程序为系统提供i p 核模块接口,使系统成为一个可供其它系统复用 的指纹识别算法i p 核知识产权模块,以下进一步对系统的实现进行阐述。 3 1 在e d k - 2 7 0 s l 开发板嵌入lin u x 操作系统 为了更加有效地管理系统内各种硬件和软件资源,使系统更专注于算法和接 口功能的实现,避免开发过程中分散精力于实现硬件的控制上,我们在e d k - 2 7 0 s l 开发板上引入了嵌入式l i n u x 操作系统。嵌入式l i n u x 系统通常由b o o tl o a d e r 引导程序、k e r n e l 操作系统内核和f i l es y s t e m 文件系统三部份组成u 驯。其中 b o o t l o a d e r 是在系统启动之后、k e r n e l 运行之前所执行的第一段代码,其任务 是为调用k e r n e l 准备必要的软硬件环境。由此可见,b o o t l o a d e r 非常依赖于硬 件,主要是指b o o d o a d e r 的实现与处理器体系结构和板级硬件资源密切相关,同 时还要考虑不同操作系统的内核对调用方式和运行环境有不同的要求。在我们的 系统中b o o t l o a d e r 引导程序使用b l o b 2 0 3 版本。b l o b 是一款功能强大的 b o o t l o a d e r ,遵循g p l 协议,源代码完全开放,它最初是j a n d e r kb a k k e r 和 e r i km o u w 为一块名为l a r t ( l i n u xa d v a n c e dr a d i ot e r m i n a l ) 的板子写的,该 板使用的处理器就是i n t e l 公司的s t r o n ga r ms a 一1 1 0 0 ,所以b l o b 很容易移 植到我们i n t e lp x a 2 7 0 处理器的开发板上。完成了b o o t l o a d e r 的编译后,我们 第三章基于i p 核复用的指纹识别系统的实现 在p c 上用f l a s h 烧录软件通过5 t a g 数据线将b l o b 二进制文件烧录到开发板的 f l a s h 上,即完成了b l o bb o o t l o a d e r 的嵌入。 一般最常用的f l a s h 文件系统有c r a m f s 文件系统和j f f s 2 文件系统,c r a m f s 文件系统速度快,效率高,但它是一种只读的文件系统,没法支持指纹比对记录 的写入等功能,而j f f s 2 是一个可读写的、压缩的、日志型文件系统,提供了崩 溃掉电安全保护,支持多种节点类型,对闪存有较高的利用率瞄引,所以在我们 的系统中文件系统我们使用j f f s 2 文件系统,嵌入式l i n u x 操作系统内核部分我 们使用l i n u x 2 6 9 内核,使用m a k ec o n f i ga r c h = a r m 命令编译对内核进行编译, 最后把编译好的l i n u x 内核镜像文件z l m a g e 和j f f s 2 根目录文件系统镜像文件 写入f l a s h 闪存即完成了嵌入式l i n u x 系统引导程序、作系统内核和文件系统三 部份的嵌入。 3 2 建立a r m - g c c 编译环境 为了生成可以在指纹识别i p 核系统a r m 处理器上运行的程序,我们需要建 立可以生成a r m 处理器a r m - g c c 交叉编译环境。 首先下载包括b i n u t i i s 、g c c 、g l i b c 及l i n u x 内核在内的源代码,g l i b c 和内核源代码的版本与目标机保持一致,为2 6 9 版本,并设定s h e l l 变量p r e f i x 指定可执行程序的安装路径。首先编译b i n u t i l s ,执行m a k e m e n u c o n f i g x c o n f i g a r c h = a r m 配置l i n u x 内核头文件,a r c h = a r m 用于指定a r m 处理器架构,配置完 成之后,将内核头文件拷贝到安装目录,编译g c c 生成一个不带g l i b c 库的g c c , 接着用该文件编译生成a r m 处理器上的g l i b c 库,最后用m a k ea l l 命令建立g c c 全套编译器。 在我们的系统中所有运行于a r m 处理器上的程序均用该编译器编译后运行。 3 3f p s 2 0 0 指纹采集芯片及设备驱动程序设计 构建了基于a r m 处理器和l i n u x 操作系统的系统之后,在指纹图像的采集方 面我们的系统采用了v e r i d i c o m 公司f p s 2 0 0 芯片指纹采集传感器,为了实现 f p s 2 0 0 芯片指纹采集传感器和开发板的软硬连接,我们进一步设计了f p s 2 0 0 芯 片指纹采集传感器的硬件电路和设备驱动程序。 1 7 广东工业大学硕士学位论文 3 3 1 f p s 2 0 0 指纹采集芯片介绍及电路设计 f p s 2 0 0 芯片是v e r i d i c o m 公司在f p s l l 0 系列传感器基础上开发的固态电容 式指纹传感器,芯片的指纹检测区域为1 2 8 c m * 1 5 0 c m ,像素矩阵为2 5 6 x 3 0 0 , 产生的图像分辨率为5 0 0 d p i ,分辨精度为5 0 啪,f p s 2 0 0 芯片具有高性能、低功 耗等优点,传感器的感应区域主要是由一个2 维的金属电极阵列组成,每一个电 极相当于电容器的一个电极,而对应的手指部位构成电容器的另一个电极,在两 极之间的器件表面的钝化层形成了绝缘体,通过传感器表面的大量电极阵列与手 指上大量的脊和谷,形成了大量的不同电容值的电容器,通过对这些电容器的充 放电,读取放电电压,从而构造出一幅指纹图像。 f p s 2 0 0 芯片有8 0 个引脚,其中4 0 个管脚有功能定义j ,弄清楚管脚的功 能定义是进行硬件连接和电路设计的首要条件,具体引脚和功能定义如表( 3 - 1 ) 所示: 表( 3 - 0 f p s 2 0 0 的管脚功能 管脚号 名称 功能管脚号名称功能 1v d d a l 模拟电源 2 v s s a l模拟地 3i s e t 设置参考电流 4a 烈 模拟输入 5f s e t 设置内部振荡器频率 6v s s a 2 模拟地 7v d d a z模拟电源8t e s t 测试模式允许 9p 0 输出端口0 1 0p 1 输出端口1 1 1d 7 数据线 1 2d 6 数据线 1 3d 5数据线1 4d 4 数据线 1 5v s s l 数字地 1 6v d d l 数字电源 1 7d 3 数据线 1 8d 2 数据线 1 9d 1 数据线2 0d 0 数据线 2 1a o 地址输入 2 2 r d 读允许,低有效 2 3 w r - 写允许,低有效 2 4v s s 2 数字地 2 5v d d 2 数字电源 2 6 x t a l 2 内部振荡器输出 2 7x 1 a l l 内部振荡器输入 2 8i n t r 中断输出,低有效 2 9 w a l l - 等待,低有效 3 0e x t i n t 外部中断输入 第三章基于m 核复用的指纹识别系统的实现 3 1c s l s c l k片选,高有效3 2c s 0 ,s c s - 片选,低有效 3 3 m o s i s p i 主出从入 3 4 m i s os p i 主入从出 3 5m o d e l 接口模式选择1 3 6m o d e o 接口模式选择0 3 7d m u s bd +3 8 d pu s b d 3 9v d d 3 数字电源 4 0v s s 3 数字地 4 1 8 0n c 没有连接 f p s 2 0 0 芯片提供了u s b ,s p i 和m c u 3 种接口,f p s 2 0 0 芯片内置了高速u s b 的核电路,不需要外部的u s b 控制器即可作为标准的u s b 设备使用,因为u s b 接 口具有传输速率高,易于扩展,接口简单、统一,安装容易、使用灵活、支持热 插拔、采用总线供电等众多优点,相对于其它两种接口具有传输速度快、接口简 单的优点,因此在我们的系统中采用u s b 接口模式连接,具体的连接方法是:设 置m o d e o 管脚为低电平,m o d e l 管脚为高电平芯片使芯片工作在u s b 接口模式, 连接d p 管脚为u s b 模式的d + 数据线,连接d m 管脚为u s b 模式的d 一数据线。f p s 2 0 0 芯片工作在i j s b 模式下,其供电电压必须为3 3 3 6 伏,我们通过u s b 接口的v b u s 引线直接引入主机的+ 5 电压作为工作电源,使用a m s l l l 7 芯片将5 v 转变为3 3 v 给指纹芯片供电。其具体电路设计连接图如图( 3 - 1 ) 所示: 图( 3 一1 ) 3 3 2 基于lln u x 2 6 内核的f p s 2 0 0 芯片u s b 驱动程序的编写 设计了f p s 2 0 0 芯片的连接电路之后,我们需要进一步编写f p s 2 0 0 指纹采集 芯片的u s b 驱动程序。从官方的u s b 文档中描述的中我们可以看到u s b 设备是 1 9 广东工业大学硕士学位论文 一个非常复杂的东西,幸运的是,l i n u x 操作系统提供了u s b 核心子系统,来处 理大部分复杂的工作,我们需要按照l i n u x 设备驱动程序的框架进行设计。在我 们的系统采用的是l i n u x 2 6 9 操作系统,l i n u x 2 6 内核作为l i n u x 操作系统最 新的稳定内核,引入了s y s f s 文件系统为每个系统的硬件树进行分级处理,定义 了k o b j e c t 内核对象模型,用k o 扩展名对可加载内核模块提供了新的命名方法, 为硬件驱动程序带来一个新的统一的框架,u s b 驱动程序在框架、函数接口和编 译方式上有了很大的改变,以下对我们在l i n u x 2 6 内核平台上的f p s 2 0 0 芯片u s b 驱动程序的编写进行介绍。 3 3 2 1f p s 2 0 0 芯片u s b 端点介绍 端点是u s b 通讯的最基本的逻辑单元,f p s 2 0 0 芯片u s b 接口提供了3 个端 点可供使用。u s b 设备端点可看作一个单向的管道,一个u s b 端点只能在一个 方向承载数据,从主机到设备称为输出端点,或者从设备到主机称为输入端点。 一个u s b 端点可以是以下4 种不同类型中的一种,它描述了数据是如何被 传送的: ( 1 ) 控制端点控制端点被用来允许对u s b 设备的不同部分存取通常用 作配置设备,获取关于设备的信息,发送命令到设备,或者获取关于设备的状 态报告的。这些端点在尺寸上常常较小,每个u s b 设备有一个控制端点称为“端 点0 ”,被u s b 核用来在插入时配置设备。这些传送由u s b 协议保证总有足够 的带宽使它到达设备。 ( 2 ) 中断端点中断端点用于在每次u s b 主机请求设备数据时以固定的速率 传送小量的数据,这些端点是u s b 键盘和鼠标等设备的主要的传送方法,它们 还用来传送数据到u s b 设备来控制设备,但通常不用来传送大量数据。 ( 3 ) 块传输端点块传输端点用于传送大量的数据,通常一次可比中断端点 传送更多的字符,普遍被用在打印机、u 盘或网络设备上。u s b 协议不保证块端 点数据传输在特定时间范围内完成,如果总线上没有足够的空间来发送整个块报 文,它会被分为多次传送到设备或从设备传送回来。 ( 4 ) 同步端点同步端点也传送大量数据,但是数据常常不被保证可靠地传 送完成。这种端点通常被用在可以处理数据丢失并且更多依赖于保持持续的数据 流的设备的实时数据收集中,例如音频和视频设备,一般都使用这种端点。控制 第三章基于m 核复用的指纹识别系统的实现 和块端点用于异步数据传送,而中断和同步端点是周期性的,它们的带宽被u s b 核心所保留。 在f p s 2 0 0 芯片u s b 接口提供的3 个端点:端点0 、端点1 和端点2 中,端点 0 为控制端点用于设备的列举、配置的管理和对传感器的功能寄存器的读写;端 点1 为块传输端点,主要用于块传输方式读取c t r l a 寄存器的内容,该寄存器 是图像a d 转换器的输出缓冲器,通过读取该寄存器中的内容即可把图像的采集 到的指纹图像数据读取回来;端点2 为中断端点,在一个中断事件中中断状态寄 存器i s r 的内容被发送给端点2 。在了解f p s 2 0 0 芯片u s b 端点功能的基础上, 下面我们进一步对驱动程序的实现进行阐述。 3 3 2 2 lin u x 2 6 内核u s b 驱动程序的注册和注销函数的实现 l i n u x 2 6 内核驱动程序必须调用宏m o d u l e i n i t 与m o d u l e e x i t0 注册u s b 驱动程序初始化与退出函数,在模块初始化函数中用u s b r e g i s t e r ( s t r u c t u s b d r i v e r ) 对u s b 驱动主结构体进行注册,注册之前u s b 驱动程序必须对 u s b d r i v e r 结构体中的p r o b e 和d i s c o n n e c t 回调函数指针和i d t a b l e 变量等 进行赋值,u s b d r i v e r 结构体中的i d t a b l e 定义了u s b 驱动程序支持的设备列 表,原型为s t r u c tu s b d e v i c e i d ,我们通过调用u s b _ d e v i c e ( o x 0 6 1 a ,o x 0 2 0 0 ) 宏进行构造,o x 0 6 1 a 和o x 0 2 0 0 分别为f p s 2 0 0 芯片生产厂商v e r i d i c o m 公司的 i d 和f p s 2 0 0 芯片产品的i d 。 l i n u x 2 6 内核中u s b 设备的主设备号一般为1 8 0 ,因为大部份的u s b 驱动并 不需要使用的u s b 主设备号,f o p s 文件操作功能结构体及次设备号等一些变量 被移除到u s b c l a s s d r i v e r 结构中,l i n u x 2 6 内核为了强调u s b 驱动程序是绑 定到一个u s b 接口,而不是整个u s b 设备,p r o b e 探测函数参数由( s t r u c t u s b d e v i c e * d e v ,u n s i g n e di n ti f n u m ,c o n s ts t r u c tu s b d e v i c e i d * i d ) 变 为( s t r u c tu s b i n t e r f a c e * i n t f ,c o n s ts t r u c tu s b d e v i c e i d * i d ) ,我f 门在 p r o b e 探测函数中调用u s b _ r e g i s t e r d e v ( ) 函数对设备进行注册。 3 3 2 3 实现对f p s 2 0 0 芯片寄存器的读写 f p s 2 0 0 芯片寄存器的读写是实现对传感器进行控制、参数设置等的必要步 骤,对注驱动程序进行注册之后,我们进一步实现了对f p s 2 0 0 芯片寄存器的读 写。 2 1 广东工业大学硕士学位论文 f p s 2 0 0 内含1 9 个功能寄存器,当前索引寄存器内的索引地址决定当前所操 作的是哪一个功能寄存器,我们通过u s b 端点o 对f p s 2 0 0 芯片寄存器进行读写 时需要知道寄存器的索引地址,f p s 2 0 0 芯片功能寄存器索引地址、功能描述、 可否读写如表( 3 2 ) 所示: 表( 3 2 ) f p s 2 0 0 功能寄存器表 索引名称描述读泻方式 o x 0 0r a h高8 位行地址 读写 o x 0 1r a l低8 位行地址 读写 o x 0 2c a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论