指紋門禁系統(tǒng)的結構與設計研究
史瑾
(山西運城農業(yè)職業(yè)技術學院,山西 運城 044000)
摘要:指紋門禁系統(tǒng)可實現(xiàn)指紋開門、密碼開門、指紋錄入、指紋管理、密碼管理等功能,在實際應用中與傳統(tǒng)設備相比具有很大優(yōu)越性,傳統(tǒng)的機械鎖如有較多用戶使用,就需要有很多鑰匙給每個用戶,這樣即對安全性造成威脅同時鑰匙的管理也難度很大,而指紋鎖完全沒用這種問題,指紋具有唯一性,當取消某人進入門禁資格時刪除指紋庫中該人信息即可。
關鍵詞:指紋門禁;單片機;液晶顯示器
收稿日期:2014-12-20
作者簡介:史瑾(1981-),男,山西運城人,山西運城農業(yè)職業(yè)技術學院實驗師.
中圖分類號:TP391.4文獻標識碼:B
指紋門禁系統(tǒng),主要作用是用人們的指紋開門,在用人們的指紋相關信息開門之前,指紋庫中應有相關的指紋特征信息,所以要有錄入指紋信息這一功能。為了實現(xiàn)對指紋庫中的指紋進行管理,因此要有刪除指紋這一項功能。除此之外,為了防止指紋識別模塊壞了后無法進門的情況,本系統(tǒng)還增加了密碼開門模式,驗證管理員密碼后可選擇密碼模式還是指紋模式,以此來應對不同的情況。
1系統(tǒng)硬件結構
系統(tǒng)的硬件部分主要包括指紋識別模塊、微控制器、液晶顯示器、鍵盤、日歷/時鐘芯片、電控鎖狀態(tài)指示。
①FPM10A指紋模塊由光學指紋傳感器、高速DSP處理器、高性能指紋比對算法、大容量FLASH芯片等軟硬件構成,性能穩(wěn)定,結構簡單,具有指紋錄入、圖像處理、指紋比對、搜索和模板儲存等功能。并具有自主知識產(chǎn)權;指紋適應性強;價格低廉;算法性能優(yōu)異;不同應用環(huán)境轉換靈活;簡單易用;低功耗;以及靈活設置安全等級等諸多優(yōu)點。
②微控制器選用單片機STC12C5A60S2,它是宏晶科技生產(chǎn)的單時鐘/機器周期的單片機,是高速、低功耗、超強抗干擾的新一代8051單片機,指令代碼完全兼容8051,但速度快8倍-12倍。STC12C5A60S2單片機中包含中央處理器(CPU)、程序存儲器(Flash)、數(shù)據(jù)存儲器(SRAM)、定時器/計數(shù)器、UART串口、串口2、I/O接口、高速A/D轉換、SPI接口、PCA、看門狗及片內R/C振蕩器和外部晶體振蕩電路等模塊。STC12C5A60S2系列單片機幾乎包含了數(shù)據(jù)采集和控制中所需的所有單元模塊,可稱得上一個片上系統(tǒng)。
③液晶顯示器用FYD12864-0402B ,它是一款 4 位/8 位并行、2線或 3 線串行多種接口方式,內部含有簡體中文字庫的點陣圖形液晶顯示模塊; 顯示分辨率為128×64,內置8192個16*16點漢字和128個16*8點 ASCII 字符集。利用該模塊可靈活的構成全中文人機交互界面。該模塊構成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論是硬件電路結構還是顯示程序都要簡潔得多。
④鍵盤上的按鍵和液晶顯示器組成人機界面,按鍵包括“0”-“9”鍵以及“A”確認鍵、“B”返回鍵、“C”刪除鍵、“*”上一頁鍵和“#”下一頁鍵。日常開門只指紋識別模塊,不需要鍵盤,而錄入指紋、刪除指紋、設置密碼、時間、應急密碼開門等操作時,要結合屏幕的提示來完成操作,但在執(zhí)行錄入指紋、刪除指紋、設置密碼、時間、應急密碼開門操作時,都得先按下“*”鍵后,再選擇各個功能然后進行操作。
⑤日歷/時鐘芯片采用SD2400。是一種支持IIC串行接口的高精度實時時鐘芯片,CPU可使用該接口通過5位地址尋址來讀寫片內32字節(jié)寄存器的數(shù)據(jù)。 SD2400系列內置晶振,可保證時鐘精度為±5ppm(在25℃下),年誤差小于2.5min;該芯片內置時鐘精度調整功能,可在很寬的范圍內校正時鐘的偏差。通過內置或外置的數(shù)字溫度傳感器可設定適應溫度變化的調整值,實現(xiàn)在寬溫范圍內高精度計時。 SD2400系列內置的工業(yè)級電池可保證在外部掉電情況下時鐘使用壽命為5年—8年時間;該芯片的內部具備電源切換電路,當芯片檢測到主電源掉到電池電壓以下,該芯片會自動轉為備電電池供電。
⑥電控鎖狀態(tài)采用LED指示燈顯示方式。
2系統(tǒng)軟件結構
按操作流程或系統(tǒng)職能,軟件主要由以下幾部分構成:
2.1 指紋開門。按入指紋信息,系統(tǒng)核對指紋庫是否存在匹配指紋,如果存在則執(zhí)行開鎖命令,否則輸出開鎖失敗信息。
2.1.1 指紋比對即對當前輸入指紋進行驗證,系統(tǒng)首先執(zhí)行錄入圖像命令,對指紋區(qū)域的圖像驗證是否為指紋,如果是指紋則進入下一步,比對指紋系統(tǒng)通過發(fā)送比對指紋命令,比對通過則執(zhí)行開門命令,開門5秒鐘后,系統(tǒng)自動執(zhí)行鎖門動作。
驗證口令VfyPwd
功能說明: 驗證模塊握手口令。
表1 指令包格式:
表2 應答包格式
注:確認碼=00H表示口令驗證正確;
確認碼=01H表示收包有錯;
確認碼=13H表示口令不正確;
2.1.2 錄指紋圖像 GenImg 。功能說明: 探測手指,探測到后錄入指紋圖像存于 ImageBuffer,并返回錄入成功確認碼。若探測不到手指,直接返回無手指確認碼。
表3 指令包格式
表4 應答包格式
注:確認碼=00H表示錄入成功;
確認碼=01H表示收包有錯;
確認碼=02H表示傳感器上無手指;
確認碼=03H表示錄入不成功;
2.1.3 精確比對兩枚指紋特征 Match
功能說明:模塊精確比對(1∶1)CharBuffer1 與 CharBuffer2 中的特征文件,并給比對結果。
表5 指令包格式
表6 應答包格式
注:①確認碼=00H表示指紋匹配;
確認碼=01H表示收包有錯;
確認碼=08H表示指紋不匹配;
②該指令執(zhí)行后,兩特征緩沖區(qū)中的內容不變。
2.2 采集新的指紋,首先管理者授權后才可以采集新的指紋信息,即是管理者指紋比對驗證后,再采集新指紋的特征信息。
2.3 刪除指紋首先管理者授權后才可以刪除的指紋信息該項操作包括兩種操作方式:按指紋刪除或按ID號刪除。
2.4 修改管理員登陸密碼和開鎖密碼,管理員可根據(jù)需要修改登錄密碼和開鎖密碼,密碼修改成功后系統(tǒng)會自動保存在單片機的內部flash里,斷電不會丟失。
3其他模塊驅動
3.1 LCD顯示驅動
LCD12864 中文漢字圖形點陣液晶顯示模塊,自帶中文標準字庫(控制芯片ST7920)可顯示漢字及圖形,內置 8192 個中文漢字(16X16 點陣)、128個字符(8X16點陣)及 64X256點陣顯示RAM(GDRAM)。它主要由行驅動器/列驅動器及128*64全點陣液晶顯示器組成,可完成圖形顯示,也可顯示8*4個(16*16點陣漢字,與外部CPU接口采用串行或并行方式控制)。
3.2 鍵盤輸入模塊軟件設計
①4*4矩陣鍵盤識別處理
4*4矩陣鍵盤,采用P2口的P2.7、P2.6、P2.5、P2.4提供行線,P2.3、P2.2、P2.1、P2.0提供列線。當識別矩陣鍵盤時,首先,識別有無按鍵按下,讓所有行線均置為低電平,檢查各列線電平的變化,如果有變化說明有鍵被按下,如果沒有,則無鍵被按下。其次,如果有鍵被按下,則識別具體的按鍵,記下有變化的列行后,立即將所有列線置為低電平,所有行線置為高電平,記下變?yōu)榈碗娖降男芯€,然后通過X、Y坐標確定是哪個按鍵被按下。再編程過程中,要考慮按鍵抖動的影響,可以采用軟件延時的方法消除抖動。
②每個按鍵有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。每個按鍵的狀態(tài)同樣需要變成變量“0”和“1”。鍵盤處理程序的任務是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時的抖動,兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。
3.3 EEPROM的讀/寫程序模塊軟件設計
3個基本命令——字節(jié)讀,字節(jié)編程,扇區(qū)擦除。
字節(jié)編程:將“1”寫成“1”或“0”,將“0”寫成“0”。如果某字節(jié)是FFH,才可對其進行字節(jié)編程。如果該字節(jié)不是F F H,則須先將整個扇區(qū)擦除,因為只有“扇區(qū)擦除”才可以將“0”變?yōu)椤?”。
扇區(qū)擦除:只有“扇區(qū)擦除”才可能將“0”擦除為“1”。
程序如下:
void IAP_disable(void)
{
IAP_CONTR=0;//關閉IAP
IAP_CMD=IAP_cmd_idle ; //恢復待命狀態(tài)
IAP_TRIG=0;//開啟IAP后必須先向該寄存器寫入5A、A5才生效,現(xiàn)在關閉此項
IAP_ADDRH=0x80;//地址寄存器移至沒有EEPROM的地方
IAP_ADDRL=0x00;
參考文獻:
[1]郭天祥.新概念51單片機C語言教程:入門、提高、開發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社,2010.
[2]陳華,等.一種基于指紋識別的IC卡門禁系統(tǒng)[J]. 計算機工,2012(7).
[3]陳建校,石理.基于指紋識別系統(tǒng)的應用開發(fā)技術[J].微型機與應用,2001(12).
[4]吳國英.非接觸IC卡技術在門禁系統(tǒng)中的應用[J].中國安防產(chǎn)品信息,2004.
[5]譚浩強.C語言程序設計[M].北京:清華大學出版社,2010(2).
(責任編輯侯中巖)