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

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于FPC1011C的指紋識別系統(tǒng)

          基于FPC1011C的指紋識別系統(tǒng)

          作者: 時間:2011-05-31 來源:網絡 收藏

            1.4 人機交互模塊

          本文引用地址:http://www.ex-cimer.com/article/162022.htm

            為方便操作和直觀顯示處理結果,安裝有鍵盤和LCD,可以實時進行操作和顯示。LCD采用的是FYDl2864-0402B,其以ST7920為驅動模塊,內嵌漢字庫,支持串口和并口數據傳輸。此處采用串口SPI協(xié)議傳輸,如圖5所示。



            數據傳輸時,DSP被配置為SPI主模式,以MCBSPl與LCD通信。通信過程中,CS為LCD的片選端,中直接接高電平,時鐘SCLK由DSP的CLKXl提供,SID連接MCBSP1的數據輸出口DXl。傳輸過程中要對數據進行打包,使其符合SID顯示的數據格式。其中RW和RS為00時DSP向LCD寫指令,為01時寫數據。因此若向LCD發(fā)送數據“01h”,則實際數據為“FA0010”。時鐘頻率SCLK被設置為100kHz,可滿足實時顯示的需要。

            人機交互中的鍵盤由3個按鍵組成,分別對應3個硬件中斷(intO、intl、int2),來實現指紋采集、注冊和匹配功能。指紋采集后存入SDRAM,注冊時指紋采集2次,匹配成功后存入FLASH。匹配時先采集指紋進入SDRAM,再提取FLASH中的指紋進行匹配,成功后作其他動作。

            2 軟件設計

            在硬件架構上必須有相應的軟件設計才可以實現的功能。軟件設計是在DSP的開發(fā)環(huán)境CCS中進行的,運用了嵌入式操作系統(tǒng)DSP/ BIOS,使開發(fā)更加方便快捷。在DSP/BIOS中,可方便地實現內存分配、中斷選擇、任務調度等功能。

            本系統(tǒng)的任務調度主要以3個硬件中斷為觸發(fā)條件,來實現指紋采集、注冊和匹配功能,具體框圖如圖6所示。


            采用SEM對系統(tǒng)任務進行調度,系統(tǒng)上電啟動后,任務處于掛起狀態(tài),并一直輪詢,等待中斷觸發(fā)。啟動注冊中斷時必須在采集兩枚有效指紋數據成功的情況下觸發(fā),否則會顯示注冊失敗。注冊中斷觸發(fā)后,對兩枚指紋進行匹配,如匹配成功則指紋特征數據寫入FLASH,如果失敗則重新采集兩枚指紋進行注冊。這樣可以降低因為首次指紋采集不清晰,而產生的匹配不成功。指紋匹配中斷觸發(fā)前提是FLASH中存有注冊的指紋,同時實時采集新的指紋成功。若匹配失敗,則必須重新采集指紋進行匹配。

            指紋傳感器圖像采集程序如下:


            3 總結

            本指紋采集系統(tǒng)可以完美地實現指紋的采集、注冊和匹配功能,其內部算法處理時間1 s,完全可以滿足實時工作的需要。用各手指進行試驗后,其平均FRR(FalseRejection Rate)和FAR(False Acceptance Rate)可達2.83%和0.17%,完全可以滿足生活中的需要。



          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();