前言
隨著指紋識(shí)別在智能手機(jī)上面的普及,指紋識(shí)別技術(shù)在越來越多的場(chǎng)合中得到應(yīng)用。除了手機(jī)應(yīng)用之外,在移動(dòng)支付、門禁系統(tǒng)、智能家庭等嵌入式場(chǎng)景中也逐漸普及開來。在系統(tǒng)實(shí)現(xiàn)上面,智能手機(jī)本身擁有強(qiáng)大的計(jì)算能力和豐富的內(nèi)存資源,實(shí)現(xiàn)指紋識(shí)別并不困難,但在嵌入式系統(tǒng)中特別是基于MCU的應(yīng)用場(chǎng)合,其運(yùn)算能力、內(nèi)存資源等都受到限制,本文介紹一種基于單片機(jī)系統(tǒng)的指紋識(shí)別方案供參考并對(duì)設(shè)計(jì)要點(diǎn)加以說明。
如上圖所示,這是一個(gè)WIFI指紋識(shí)別前端的系統(tǒng)框圖,其應(yīng)用場(chǎng)景是:手指按壓指紋識(shí)別模塊時(shí),指紋數(shù)據(jù)被采集并傳輸?shù)絾纹瑱C(jī),單片機(jī)經(jīng)過識(shí)別算法對(duì)指紋數(shù)據(jù)進(jìn)行處理后,把處理結(jié)果通過WIFI模塊無線傳輸?shù)皆贫藚⑴c身份識(shí)別的業(yè)務(wù)。
在具體實(shí)現(xiàn)上面,由于指紋識(shí)別算法涉及較多的浮點(diǎn)運(yùn)算,以及需要暫存指紋點(diǎn)陣的原始數(shù)據(jù)和中間運(yùn)算數(shù)據(jù),故對(duì)于運(yùn)算能力和存儲(chǔ)空間有硬性的要求,在目前主流的單片機(jī)架構(gòu)中Cortex-M4架構(gòu)集成FPU浮點(diǎn)處理單元,在100MHZ主頻下,其浮點(diǎn)數(shù)運(yùn)算能力可以達(dá)到要求。指紋識(shí)別算法代碼編譯后占用上百K字節(jié)的代碼空間,考慮到wifi網(wǎng)絡(luò)連接、應(yīng)用層代碼等整體上以1MB左右的Flash代碼空間為宜,數(shù)據(jù)存儲(chǔ)的需求以512KB的SRAM空間為宜。系統(tǒng)工作時(shí),在指紋識(shí)別過程中需要強(qiáng)大的運(yùn)算能力,而在沒有指紋按壓的時(shí)候則需要運(yùn)行在低功耗狀態(tài)以適應(yīng)嵌入式系統(tǒng)對(duì)功耗的要求。
在我們的方案中,選擇了具有XIP特性的MCU,把代碼存放在外置SPI Flash中并可以在系統(tǒng)執(zhí)行,從而大大擴(kuò)展了代碼存儲(chǔ)空間。外置SPI Flash中的代碼在執(zhí)行中由于需要內(nèi)部Cache緩存,故執(zhí)行速度略低。對(duì)于識(shí)別算法的核心代碼,則可以在Boot階段拷貝到SRAM中運(yùn)行,從而提升運(yùn)行速度。XIP + SRAM的代碼空間分配方案兼顧了性能和成本,是此設(shè)計(jì)的一個(gè)亮點(diǎn)。
指紋識(shí)別芯片是系統(tǒng)實(shí)現(xiàn)的核心部件,當(dāng)前比較主流的技術(shù)指標(biāo),要求指紋識(shí)別芯片基于電容技術(shù)、支持活體檢測(cè)(Live Finger Detection)、按壓式、采用玻璃蓋板,可以實(shí)現(xiàn)360度任意方向的觸摸,能夠支持滑動(dòng)導(dǎo)航?;铙w檢測(cè)技術(shù)具有防止假指紋破解的特點(diǎn),集成心率檢測(cè)功能,方便用戶實(shí)時(shí)查看心率值。傳感器集成化方便整機(jī)廠商的設(shè)計(jì)和整機(jī)集成,使得其方便應(yīng)用于嵌入式單片機(jī)系統(tǒng)。
指紋識(shí)別芯片和主機(jī)的數(shù)據(jù)接口要求在指紋數(shù)據(jù)采集的過程中達(dá)到5Mbps以上的傳輸速率,低于5Mbps的數(shù)據(jù)吞吐量將影響用戶體驗(yàn)。UART、 I2C等低速接口在吞吐量上無法達(dá)到要求,SPI接口簡(jiǎn)潔而且傳輸速率完全可以達(dá)到要求,是最合適的通信接口。
指紋識(shí)別芯片周期性檢測(cè)Pixel傳感器區(qū)域是否有手指觸摸,檢測(cè)到sensor有手指觸摸時(shí),會(huì)立刻采集活體檢測(cè)數(shù)據(jù),數(shù)據(jù)采集完成后會(huì)通過中斷通知Host讀取,MCU讀取完活體檢測(cè)數(shù)據(jù)后芯片進(jìn)行指紋掃描,指紋掃描開始后就會(huì)通過中斷通知Host讀取數(shù)據(jù)。指紋數(shù)據(jù)的掃描和Host數(shù)據(jù)的讀取同步進(jìn)行。
單片機(jī)接收到指紋芯片傳輸來的Pixel原始數(shù)據(jù)后通過識(shí)別算法運(yùn)算后通過WIFI模塊傳輸?shù)皆贫?。由于MCU本身資源的限制,WIFI模塊本身需要集成WIFI驅(qū)動(dòng)、TCP/IP協(xié)議棧,并可以做作為一個(gè)相對(duì)獨(dú)立的單元運(yùn)行應(yīng)用層代碼,這樣就極大的減輕了MCU host端的負(fù)擔(dān). WIFI模塊通過串口和MCU進(jìn)行數(shù)據(jù)交互。推薦基于Qualcomm QCA4004的WiFi IoT模塊。
低功耗和抗干擾也是系統(tǒng)設(shè)計(jì)的一個(gè)要點(diǎn),指紋識(shí)別模塊在沒有手指按壓時(shí)仍然周期性的進(jìn)行sensor掃描,雖然功耗低于數(shù)據(jù)傳輸期間,但為適應(yīng)電池供電的場(chǎng)合,希望在沒有按鍵觸摸期間可以關(guān)掉指紋識(shí)別模塊的電源,為此如上圖所示增加了觸摸按鍵,檢測(cè)到有手指靠近的時(shí)候打開指紋識(shí)別芯片的電源,進(jìn)行指紋掃描采集數(shù)據(jù),當(dāng)長(zhǎng)時(shí)間沒有手指觸摸的時(shí)候關(guān)閉指紋掃描模塊的電源,從而達(dá)到降低功耗的目的。另外在數(shù)據(jù)采集期間為了防止觸摸按鍵對(duì)指紋識(shí)別傳感器的影響,在觸摸按鍵后增加一級(jí)模擬開關(guān),在采集開始前MCU輸出一個(gè)控制信號(hào)將觸摸按鍵的模擬信號(hào)進(jìn)行隔離。
-
嵌入式
+關(guān)注
關(guān)注
5072文章
19026瀏覽量
303532 -
指紋識(shí)別
+關(guān)注
關(guān)注
43文章
1741瀏覽量
102170
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論