0 引言 隨著生活水平的提高,人們對物質生活的要求越來越高,尤為注重住宅安全問題。隨著生物特征識別技術的發展,指紋識別技術逐漸進入人們的生活領域,指紋鎖進入了人們的家庭。常見的指紋鎖,需要管理員指紋或者管理員密碼,才能進行指紋和密碼的添加和刪除操作。本文設計的電子機械鎖,具有上述功能,還可以用正確鑰匙管理指紋和密碼。 常見的指紋鎖配備的機械鎖,可使用普通的正確鑰匙打開,安全級別較低,很容易被專業人員破解。本文設計的基于PIC16F72的機械鎖,配套的鑰匙內置編碼芯片,能夠設置正確鑰匙以及發送鑰匙編碼信息,只有用正確鑰匙才能打開,不能被鐵絲或其他非法鑰匙打開,安全性大大提高。在非法開門的情況下,機械鎖發送報警信息。 1 系統設計方案 電子機械鎖,分為電子鎖和機械鎖這兩個部分。電子鎖以單片機ATmega162為核心,通過指紋識別模塊,完成了對指紋管理的操作;通過鍵盤,完成密碼管理的操作;通過超外差接收模塊,能夠接收來自機械鎖的鑰匙編碼信息,完成與機械鎖的通信。 機械鎖以PIC單片機PIC16F72為核心,獲取鑰匙編碼信息,經超外差發送模塊發送。超外差發送和接收模塊的工作頻率在433 MHz,PCB布線時注意超外差模塊,遠離其他器件,不然會影響系統的工作狀態。另外,該系統要求體積小,供電方便,整個系統的功耗要盡量低。 1.1 電子鎖框圖 電子鎖主體為AVR單片機ATmega162、指紋識別模塊、超外差接收模塊、12 V電子鎖驅動、門鎖、鍵盤、按鍵和指示燈等,如圖1所示。指紋識別模塊型號為:TFS-M12,采用TI的DSP芯片TMS320VC5501,指紋算法采用TFS-9。穩定快速的芯片以及優良的指紋算法,不僅提高了整個系統的識別率以及縮短了識別時間,而且大大縮短了整個系統的研發時間。 電子鎖在不使用的時候,處于睡眠狀態。用戶打開指紋識別模塊上的金屬防塵罩時,產生喚醒信號,電子鎖進入正常工作狀態。 正常工作狀態下,電子鎖支持兩種開門方式:指紋開門和輸入密碼開門。指紋采集頭上輸入指紋,指紋識別模塊將當前指紋與已存指紋進行比較,單片機ATmega162接收到比較結果,若正確產生開門信號,經12 V電子鎖驅動,打開門鎖。鍵盤輸入密碼,單片機ATmega162將當前輸入密碼和用戶設置的正確密碼進行比較,若正確產生開門信號,經12 V電子鎖驅動,打開門鎖。輸入指紋和密碼的機會共3次,若3次都錯誤,系統進入睡眠狀態。 1.2 機械鎖框圖 機械鎖主體為PIC單片機PIC16F72、超外差發送模塊、設置鍵、指示燈等,如圖2所示。設置正確鑰匙步驟:按下設置鍵,指示燈常亮,插入需要設置的鑰匙,等待指示燈有規律的閃爍3下,設置成功;設置完成后用正確鑰匙開門1次,恢復正常使用狀態。當插入錯誤鑰匙或者是鐵絲等非法鑰匙時,指示燈會快速閃爍,并通過超外差發送模塊發送報警信息。 為了降低整個系統的功耗,機械鎖在不使用時,處于不工作狀態。在安裝機械鎖的時候,會在機械鎖的鎖芯安裝一個金屬轉接口,該金屬轉接口連接了電子鎖的防塵罩,轉動金屬轉接口,不僅給機械鎖供電使之進入正常工作狀態,還喚醒電子鎖,讓電子鎖進入正常工作狀態。轉動金屬轉接口,還使得電子鎖中的單片機ATmega162第4口的第5位(即P4.5)變成高電平,電子鎖只處理來自機械鎖發出的信息。 機械鎖正常工作狀態時,插入鑰匙,單片機PIC16F72會識別鑰匙的編碼,若正確,則打開鎖芯上的閥,可以轉動鑰匙開門,若錯誤則發送錯誤鑰匙信息,鎖芯的閥依舊關閉,不能開門,從而保證了,用戶的安全。 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:命令/應答類型1.P2,P3:命令參數;Q1,Q2,Q3:應答參數;CHK:校驗和,為第2字節到第6字節的異或值;Q3用于返回操作的有效性信息,表示操作是否成功,數據是否存在,采集指紋超時等。 3 程序設計 系統從睡眠狀態啟動時,首先進行系統初始化,然后進入正常工作狀態,如圖6所示。 轉動機械鎖上的金屬轉接口會改變單片機ATmega162的P4.5的狀態。開啟金屬轉接口,單片機ATmega162處理來自機械鎖發送的信息;關閉金屬轉接口,單片機ATmega162處理來自電子鎖上指紋識別模塊或鍵盤的信息。 系統還開啟了兩個中斷:設置中斷和匹配中斷。匹配中斷就是電子鎖和指定的機械鎖進行匹配,只接收來自指定的機械鎖發出的信息;設置中斷就是指紋和密碼的管理。 3.1 匹配中斷 匹配中斷是鏈接多特征電子機械鎖兩個部分的前提,初次安裝電子機械鎖必須進行匹配中斷。在開啟該中斷前,必須沒置好正確鑰匙。匹配中斷為外部中斷,通過按下控制系統模塊上的匹配鍵,進入匹配中斷如圖7所示。 3.2 設置中斷 設置中斷分為兩種模式:普通模式和特殊模式。特殊模式就是利用正確鑰匙管理指紋和密碼,如圖8所示。 多特征電子機械鎖添加了鑰匙管理指紋和密碼的功能,目前的指紋鎖并不具備該功能。當沒有管理員指紋,而密碼忘記的情況下,該鎖可以用正確鑰匙進行指紋和密碼的添加和刪除,給用戶帶來了方便。 4 實驗結果與分析 超外差發送和接收模塊之間的通信,由于外界噪聲和系統本身的影響,不是每次都能接收到如圖3的信息,可能會出現通信錯誤的情況,為此進行可靠性測試實驗。 用示波器精確測量超外差接收模塊上的波形的時序,調整代碼,使偵測點落在高電平的中間;仔細計算延時函數,確保時間的準確性。在實際調試過程中,進行了5組的實驗,每組的測試條件都不同,如溫度、環境噪聲等,每組測試100次,共計500次的測試,只出現了2次沒有正確識別鑰匙的情況,可靠性達到99.6%,具有實際應用價值。 5 結語 本文設計的電子機械鎖,巧妙利用超外差發送和接收模塊,把兩個相對獨立的部分鏈接起來。整個系統以單片機ATmega162為核心,直接控制指紋識別模塊和鍵盤,并通過超外差發送和接收模塊,間接控制機械鎖部分。多特征電子機械鎖不僅可以用管理員指紋和密碼管理用戶信息,還可以使用正確鑰匙管理用戶信息,目前市場上還沒有具備該功能的鎖出現。該鎖功能強大,給用戶帶來了方便和快捷的同時,安全性也得到大大提高。 |