基于ATmega162的指紋識別電子機械鎖設計
1.3 電子鎖和機械鎖的通信
電子鎖和機械鎖之間的通信是通過超外差發送和接收模塊完成。機械鎖發送如圖3所示的信息,每位數據寬度為1 ms。由于噪聲的影響,單片機ATmega162只能通過查詢方式接收。

前導碼是由23位數據組成。數據碼由FAH碼、地址碼以及KEY碼組成,每個數據碼有10位,分別由8位數據、起始位(1)和結束位(0)組成。
地址碼就是機械鎖的識別碼,識別碼是惟一的,每次讀取KEY碼,都會將當前地址碼和存儲的地址碼進行比較,若相同才能讀取KEY碼,因此不會接收來自其他用戶的鎖發出的信息。
KEY碼就是鑰匙的編碼,每個鑰匙的編碼是惟一的,因此可以記錄用戶家庭成員的開門信息,方便用戶查詢。電子機械鎖應用在辦公場合時,若發生偷竊情況,可以查詢最近的開門信息,來確定懷疑對象;也可以查詢特殊鑰匙開門情況,比如保姆工作的具體時間。若發生非法開門時,KEY碼為0x00,接收到該KEY碼時,產生報警信號。
2 指紋識別算法原理
2.1 指紋識別算法
指紋識別分為以下4個步驟如圖4所示。

指紋圖像預處理是最重要的一步,關系到后面提取的特征點的正確與否。
由于指紋采集設備的不完善性,對于干、濕、臟、老化、磨損的指紋,往往難以采集到清晰的圖像,因此需要圖像增強,是指紋圖像預處理中重要的一步,采用Gabor濾波完成。根據指紋圖像局部區域的紋線分布具有較穩定的方向和頻率,設計相應的Gabor帶通濾波器,能有效地在局部區域對指紋進行修正和濾噪。Gabor函數是惟一能達到時頻測不準關系下界的函數,二維表達式為:

Gabor函數是二維高斯函數在空間頻率域的平移函數,σx,σy為對應于x方向和y方向的角頻率平移參數。二維Gabor函數的實部和虛部可各自表示為一個函數,分別稱為偶Gahor和奇Gabor函數。偶Gahor函數適于增強目標物體,而奇Gabor函數適于增強物體邊緣。
Gabor濾波器系數分量為:

式中:x=mcosφ+nsinφ;y=-msinφ+ncosφ;(i,j)為當前點的坐標,φ為當前點(塊)的方向,f為當前塊(整體)的正弦平面波的頻率;(m,n)取值范圍與指紋圖像的坐標(i,j)取值范圍相同。σx,σy增大,對噪聲的適應能力增強,但有可能會產生偽紋線;減小,消除噪聲的作用減弱。
對于每一點,根據其方向、頻率,求出Gabor濾波器系數,然后根據式(3)計算當前點濾波后的值:

從圖5可很明顯地看出,經過Gabor濾波處理后,圖像對比增強,紋理清晰,特征明顯,提高了后續提取指紋特征點的正確率。

2.2 指紋識別模塊的通信協議
指紋識別模塊作為從設備,通過串口,由主芯片ATmega162發送相關命令對其進行控制。
命令接口:19200b/s 1起始位1停止位(無校驗位)。
主芯片發送的命令及指紋模塊的應答數據長度為8 B,數據格式如下:

CMD:命令/應答類型;P1.P2,P3:命令參數;Q1,Q2,Q3:應答參數;CHK:校驗和,為第2字節到第6字節的異或值;Q3用于返回操作的有效性信息,表示操作是否成功,數據是否存在,采集指紋超時等。
評論