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