STM32的條狀指紋采集與拼接系統
摘要:針對移動(dòng)嵌入式應用,設計并實(shí)現了一種基于STM32的條狀指紋實(shí)時(shí)采集與拼接系統。選用STM32F103RD作為主控器件,通過(guò)SPI接口以DMA方式獲取AES1711傳感器采集到的條狀指紋,并采用快速算法拼接成完整的指紋圖像。實(shí)驗結果表明,本系統具有速度快、魯棒性好、功耗低、性?xún)r(jià)比高的特點(diǎn),可方便地應用在移動(dòng)嵌入式設備中。
關(guān)鍵詞:STM32;指紋采集;指紋拼接;指紋傳感器
引言
指紋識別作為生物認證中可靠性較高、方便性較好、性?xún)r(jià)比較高的一種技術(shù),已經(jīng)得到了全面的應用。指紋采集是指紋識別的重要組成,其核心硬件就是指紋傳感器。隨著(zhù)移動(dòng)嵌入式設備自身體積越來(lái)越小,以及對成本和功耗的更高要求,指紋傳感器也向著(zhù)小型化方向發(fā)展。其中條狀指紋傳感器(也稱(chēng)為刮擦式傳感器)具有體積小、價(jià)格低、無(wú)指紋殘留等優(yōu)點(diǎn),在移動(dòng)嵌入式領(lǐng)域得到越來(lái)越多的應用。條狀指紋傳感器是一種窄條形半導體傳感器,無(wú)法一次性采集到完整的指紋圖像,要求連續采集劃過(guò)傳感器表面的手指指紋,并對采集到的窄條狀指紋圖像序列進(jìn)行拼接,從而形成完整的指紋圖像。
本系統采用STM32F103RD處理器作為主控器件,采用AES1711條狀指紋傳感器作為采集設備,實(shí)現對指紋的實(shí)時(shí)采集和快速拼接,具有速度快、魯棒性好、功耗低、性?xún)r(jià)比高的特點(diǎn),可方便地應用在移動(dòng)嵌入式系統中。此外,本系統兼顧考慮后續指紋識別的應用需求,無(wú)需增加硬件設備即可實(shí)現對采集到的指紋進(jìn)行特征提取和識別。
1 系統硬件設計
1.1 條狀傳感器
AES1711是AuthenTec公司推出的第4代低成本、高性能條狀指紋傳感器,具有功耗低、魯棒性高、耐用性好、體積小的特點(diǎn),非常適合對體積要求較高的移動(dòng)嵌入式應用。AuthenTec專(zhuān)有的TruePrint指紋成像技術(shù)可實(shí)現活體手指檢測,同時(shí)可很好地適應干、濕指紋,最大支持50 cm/s的手指移動(dòng)速率。傳感器采用42腳BGA封裝,具有大小為6.5 mm×0.41 mm、500 ppi解析度的128×8的像素陣列,傳感器體積僅為12 mm×5.2 mm×1.76mm。AES1711在進(jìn)行圖像采集時(shí)功耗僅為23 mA,而在以250 ms進(jìn)行指紋檢測時(shí)的平均功耗更低至8μA。AES1711與主控數據通信可采用并行或SPI串行方式,方便靈活,可適應多種主控系統。
1.2 主控芯片
本系統采用ST公司STM32F103系列處理器作為主控芯片。STM32F103采用ARM 32位Cortex—M3內核,具有功耗低、體積小、性?xún)r(jià)比高的特點(diǎn),最高工作頻率為72 MHz,在存儲器0等待周期訪(fǎng)問(wèn)時(shí)可達1.25 DMIPs/MHz。STM32F103具備12通道DMA控制器,可支持定時(shí)器、ADC、DAC、SDIO、I2S總線(xiàn)、SPI、I2C總線(xiàn)和UART的DMA操作。
考慮采用AES1711進(jìn)行指紋采集得到的指紋圖像為128×8像素陣列,限定拼接后的指紋高度最大為288像素,假設手指在采集過(guò)程中最大存在64像素的橫向位移,則指紋圖像緩存一共為288×(128+64)B=54 KB。采用SPI DMA模式進(jìn)行數據傳輸時(shí),需要開(kāi)辟雙緩存共128×8×2B=2 KB,因此系統緩存一共為56 KB。系統同時(shí)兼顧考慮后續指紋識別的需求,以500枚指紋容量作為設計目標,如模板文件為512 B,則需要250 KB的Flash ROM空間。綜合考慮以上需求,選擇STM32F103RD作為本系統的主控。STM32F103RD具有64 KB RAM和384 KB的Flash ROM空間,在滿(mǎn)足本系統開(kāi)銷(xiāo)的同時(shí),可滿(mǎn)足小容量指紋識別系統的需求。系統工作在72 MHz,可滿(mǎn)足實(shí)時(shí)采集和拼接的需求,同時(shí)也可滿(mǎn)足后續指紋識別的需求。
1.3 系統連接
STM32F103RD和AES1711的連接如圖1所示。STM32F103RD通過(guò)GPIO口實(shí)現對AES1711 的控制,AES1711采用SPI方式和STM32F103RD進(jìn)行連接通信,使用兩組SPI。其中一組為AES1711向STM32F103RD傳送數據使用,該組SPI數據量較大,采用AES1711 Master方式,利用主控SPI2接口,用DMA方式進(jìn)行。通過(guò)DMA方式,主控和AES1711之間最高可以實(shí)現12 Mbps的傳輸速率,在進(jìn)行DMA數據傳輸時(shí),STM32F103RD同時(shí)可進(jìn)行如拼接等其他進(jìn)程的處理,大幅度提高效率。另外一組SPI為STM32F103RD向AES1711傳送指令使用,因為數據量較小,這里采用普通GPIO口進(jìn)行模擬。
評論