<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM和滑動(dòng)指紋傳感器的采集系統(tǒng)

          基于ARM和滑動(dòng)指紋傳感器的采集系統(tǒng)

          作者: 時(shí)間:2009-03-19 來源:網(wǎng)絡(luò) 收藏

            時(shí)獲得的每一個(gè)像素,由一個(gè)16進(jìn)制數(shù)表示,對(duì)應(yīng)著4個(gè)時(shí)鐘周期。當(dāng)通過SPI端口傳輸獲取到一幀數(shù)據(jù)時(shí),先傳輸一個(gè)幀同步信號(hào)F0F00200,然后再傳輸232×8像素數(shù)據(jù)。因此,每傳輸一幀數(shù)據(jù),需要n=(232×8+8)×4=7496個(gè)時(shí)鐘周期。當(dāng)FingerChip以6Mbps工作時(shí),每秒中可獲取804幀數(shù)據(jù)。獲取到的指紋數(shù)據(jù)存儲(chǔ)在SDRAM中,通過程序?qū)⒓y幀序列拼接成完整的指紋圖像,然后通過USB傳輸回PC主機(jī)中顯示。

          4、 定制和驅(qū)動(dòng)程序加載

            4.1定制

            為了增加的可維護(hù)性,采用Linux系統(tǒng),Linux內(nèi)核可根據(jù)需要裁減。系統(tǒng)定制過程為:(1) 首先將RomBoot.bin下載到的SDRAM里;當(dāng)超級(jí)終端顯示RomBoot程序界面之后,分別將RomBoot.bin和U-Boot.bin程序下載存儲(chǔ)到DataFlash的0xc0000000和0xc0008000地址。復(fù)位開發(fā)板,進(jìn)入U(xiǎn)-Boot命令行。(2)在超級(jí)終端中,通過tftp將裁減過的Linux內(nèi)核鏡像文件和文件系統(tǒng)下載到Dataflash中運(yùn)行。

            4.2 加載驅(qū)動(dòng)程序

            設(shè)備驅(qū)動(dòng)程序在Linux內(nèi)核中,使某個(gè)特定的硬件響應(yīng)一個(gè)定義良好的內(nèi)部編程接口,同時(shí)完全隱藏了設(shè)備的工作細(xì)節(jié)。用戶通過一組標(biāo)準(zhǔn)化的調(diào)用完成對(duì)硬件的操作,而這些調(diào)用是和特定的驅(qū)動(dòng)程序無關(guān)的。將這些調(diào)用映射到作用了實(shí)際硬件的設(shè)備特定的操作上,就是設(shè)備驅(qū)動(dòng)程序的任務(wù)。另一方面,這種編程接口使得驅(qū)動(dòng)程序獨(dú)立于內(nèi)核的其他部分而建立,在需要的時(shí)候,可以在運(yùn)行時(shí)“插入”內(nèi)核(調(diào)入內(nèi)存),也即Linux中的模塊化實(shí)現(xiàn),這也是Linux中設(shè)備驅(qū)動(dòng)程序的一大特點(diǎn)。

            將FingerChip驅(qū)動(dòng)程序加載到Linux文件系統(tǒng)中,當(dāng)系統(tǒng)運(yùn)行時(shí),使用insmod命令,即可實(shí)現(xiàn)指紋設(shè)備的裝載。通過標(biāo)準(zhǔn)化的調(diào)用,實(shí)現(xiàn)對(duì)傳感器的控制。

          5、 式指紋傳感器的算法

            當(dāng)手指滑過時(shí),指紋傳感器到是一系列指紋幀序列,因此在嵌入式系統(tǒng)中,需要對(duì)獲取的指紋幀序列進(jìn)行拼接。與PC機(jī)中的CPU相比,芯片速度較低。為了減少刮取指紋后的等待時(shí)間,對(duì)速度的要求很高。

            從大量的指紋序列中發(fā)現(xiàn),當(dāng)速度足夠快時(shí),指紋幀序列相鄰兩幀之間是連續(xù)的,而且會(huì)有部分重疊。同時(shí),相鄰指紋幀之間的旋轉(zhuǎn)和形變微乎其微,幾乎可以被忽略,所以在相鄰指紋幀配準(zhǔn)的時(shí)候,只需要計(jì)算出兩幀之間的偏移量就可以。

            本文運(yùn)用指紋拼接算法[5],能夠快速有效的尋找到相鄰指紋幀之間的偏移量。算法是:(1)在圖像A中選取M×N大小的X區(qū)域;(2)在圖像B中選取所有可能的M×N大小的Y區(qū)域;(3)計(jì)算X區(qū)域和Y區(qū)域?qū)?yīng)象素差值的平均值MAE;MAE越小,兩區(qū)域相似度越高;(4)MAE最小值對(duì)應(yīng)的Y區(qū)域即為與X區(qū)域匹配。計(jì)算公式為:

          (1)

          其中0≤i≤M-1,0≤j≤N-1,p(i,j)為X區(qū)域的點(diǎn)p的象素值,q(i,j)為Y區(qū)域?qū)?yīng)點(diǎn)q的象素值。MAE越小,兩區(qū)域相似度越高。理想情況下,MAE最小值為0。

            具體實(shí)現(xiàn)步驟:(1)FingerChip AT77104A獲取到的指紋幀數(shù)據(jù)大小為232×8,設(shè)x方向?yàn)?32,y方向?yàn)?。為了有效的拼接相鄰兩幀指紋,設(shè)置獲取每一幀數(shù)據(jù)的頻率,使得y方向的偏移量dy不大于8,即保證相鄰兩幀一定有重疊。(2)理想情況下,手指在y方向滑動(dòng),在x方向上偏移量為0。因此,只考慮dx不大于dy的情況。當(dāng)dx超過dy時(shí),滑動(dòng)無效。(3)由(1)(2)可得,|dx|8。同時(shí)可得,最后一行,中間的(232-8×2)個(gè)象素與下一幀必有重疊。(4)取前一幀最后一行(232-8×2)個(gè)象素,即(232-8×2)×1的模板,與新獲取的一幀指紋匹配。(5)匹配方法:在新的指紋幀里面尋找所有可能的(232-8×2)×1的模板,計(jì)算求得MAE。選取MAE的最小值對(duì)應(yīng)的模板,此模板與上一幀的最后一行的(232-8×2)×1的模板相匹配。即得dx,dy。(6)重復(fù)執(zhí)行以上步驟,直到得到一幅完整的指紋圖像。圖3-a為拼接前的指紋幀,圖3-b為拼接后的指紋圖像。

          圖3 a.拼接前的指紋幀 b.拼接后的指紋圖像

          6、 總結(jié)

            本文實(shí)現(xiàn)了9芯片AT77C104B FingerChip的指紋系統(tǒng),具有低功耗,采集便捷,通信系統(tǒng)簡(jiǎn)單等優(yōu)點(diǎn),具有很大的實(shí)用價(jià)值。開發(fā)的指紋拼接算法通過了AT77C104B FingerChip獲取的100幅指紋幀序列的測(cè)試,均能達(dá)到較好的效果。該系統(tǒng)獲取到的指紋幀序列和拼接后的指紋圖像,均可通過USB接口導(dǎo)出,可用于指紋拼接算法有效性的測(cè)試和指紋識(shí)別算法的測(cè)試。因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/AT91RM9200">AT91RM9200支持以太網(wǎng)的接入,因此可以聯(lián)網(wǎng)集控。下一步的工作是,在此和指紋拼接算法的基礎(chǔ)上,開發(fā)指紋識(shí)別系統(tǒng)。


          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();