劉歡1,方華2
(1.廣西科技大學 電氣與信息工程學院,廣西 柳州 545006;2.廣西科技大學 工程訓練中心,廣西 柳州 545006)
摘要:為提高實驗室管理效能,加強高校實驗室安全,設計了一種以STM32微處理器、STC89C52單片機為核心的可視化指紋識別門禁控制管理系統,其中STC89C52用于FM-180指紋識別模塊及門禁的控制,STM32作為管理系統核心模塊,兩者通過2.4 G無線通信模塊實現數據同步,系統可完成指紋的錄入、識別、修改、刪除、進入人數統計、被拒人數統計、人員進入時間顯示等功能。
關鍵詞:單片機;指紋識別;無線通信;門禁
中圖分類號:TP23文獻標識碼:ADOI: 10.19358/j.issn.16747720.2016.23.027
引用格式:劉歡,方華. 基于指紋識別的實驗室門禁管理系統設計[J].微型機與應用,2016,35(23):93-95,99.
0引言
在互聯網時代的今天,每個人都有大量的安全認證密碼,如銀行密碼、支付密碼、聊天軟件密碼、開機密碼、網站登錄密碼等,且配備有各種鑰匙,如門鎖鑰匙、車輛鑰匙、保險柜鑰匙等,這些都是傳統的安全系統所采用的密鑰認證方式。但是這種傳統安全系統的密鑰存在易丟失、易遺忘、易被盜用等不安全因素,因此迫切需要一種安全、可靠、方便的認證技術來代替現有的安全認證[1]。
指紋特征是人類終生不變的特征之一,其恰恰具備密鑰的3個必要性質:廣泛性、唯一性和終生不變性,因此,指紋識別作為一種可靠的生物辨識技術,受到人們青睞和倚重[2]。指紋辨識技術在當今人們的生活和工作中的應用越來越廣泛,譬如指紋考勤、指紋銀行、指紋商場、指紋接送學生等,此技術正在日益刷新人們的生活方式。在識別技術界悄悄拉開“指紋時代”的巨幕[3]。
高校實驗室教學需要更為先進的技術作為支撐,本文針對實驗室尤其是高校開放性實驗室的管理要求,提出一種基于指紋識別的實驗室門禁管理系統,此系統可提高實驗室的自主管理程度,方便實驗室管理人員有效掌握實驗室的使用情況。
1系統設計方案
系統主控單元分為兩個部分,STC89C52單片機和STM32微處理器。其中STC89C52單片機主要用于實時控制FM180指紋識別模塊,通過編程控制單片機串口與指紋識別模塊進行數據通信。FM180指紋識別模塊有固定的指令集和數據發送格式,系統程序可以根據指令集和數據發送格式進行編寫,進而實現用戶指紋錄入、識別、修改、刪除等功能,同時控制LCD1602液晶顯示器和繼電器,達到提示用戶和實時操縱電子鎖開關的功能。STM32微處理器主要用于實現實驗室管理,通過2.4 G無線通信模塊將同步過來的數據顯示在彩屏上,包括室內人數、被拒人數、指紋序號、進入時間等。系統可以保存每個用戶最后一次進入的時間,并可以隨時方便地在彩屏上進行歷史數據查詢。其硬件結構圖如圖1所示。
2硬件設計
2.1STC89C52及其外圍電路設計
STC89C52是STC公司生產的一種低功耗、高性能的CMOS 8位微控制器,具有8 KB在系統可編程Flash存儲器,使用經典的MCS51內核,其主要特性是自帶8 KB程序存儲空間和512 B數據存儲空間,內帶2 KB EEPROM存儲空間,可直接使用串口下載。
2.1.1復位電路
本設計采用手動按鈕復位,復位電路主要由復位按鈕、電阻、電容等組成。當輸入連續兩個機器周期以上高電平給STC89C52單片機RES引腳時,單片機復位有效。
2.1.2指紋識別模塊
FM-180指紋識別模塊主要包括指紋采集頭和指紋處理電路兩部分,指紋采集頭使用光學指紋傳感器,指紋處理電路由指紋特征提取的高性能DSP處理器和指紋特征存儲的Flash等芯片構成。自帶DSP處理器的指紋處理模塊中集成了固定的指令集和數據傳送格式,可以通過處理器的串口與模塊進行數據交換,根據用戶的命令來完成如指紋的錄入、刪除、比對等一系列的動作,并將指紋特征值加密后存儲于處理模塊的Flash中。當用戶進行指紋識別時,系統會將采集到的用戶的指紋特征值與Flash芯片中存儲的指紋特征值進行比較,以確定該用戶指紋是否符合要求,實現指紋檢測、識別的功能。
STC89C52單片機通過串口與FM-180指紋識別模塊進行數據傳輸,根據指紋識別模塊的性能指標,可以通過軟件編程將數據通信的波特率設置為9 600 b/s,以實現通信的準確性和可靠性。單片機的RXD(P30)與指紋識別模塊的TXD連接,單片機的TXD(P31)與指紋識別模塊的RXD連接。
2.1.3按鍵設計
指紋控制部分包括4個按鍵,分別為S1、S2、S3、S4,其中S1定義為模式識別轉換按鍵,用于控制系統使其在指紋識別和指紋錄入兩個模式之間進行切換;S2定義為指紋錄入按鍵,當系統處于指紋錄入模式下,按下S2可以進行一次指紋的錄入工作;S3定義為指紋清除按鍵,用以控制對指紋識別模塊Flash庫中的指紋特征的清除;S4定義為室內一鍵開門按鍵,當用戶需要出門時,通過此按鍵可使電子鎖門禁打開。
時鐘調整部分包括3個按鍵,分別為S5、S6、S7,其中S5定義為調整選擇鍵,按下此鍵可以在年、月、日、時、分、秒、星期之間進行切換調整;S6、S7分別定義為數字加1、減1鍵,通過這兩個按鍵可以將數字快捷地設置為所需時間數據。
2.1.4LCD顯示
設計采用LCD1602液晶顯示器作為指紋采集、指紋識別等系統當前功能模式的顯示提醒工具。通過STC89C52單片機對LCD1602進行控制,在使用相應功能的同時,LCD1602會有相應的語句提示,使系統有更好的可視化效果。單片機通過P0口與LCD1602之間進行數據傳輸,在LCD1602上顯示出相應的字符或數字。
2.1.5電子鎖門禁
電子鎖門禁電路主要包括電子鎖開關電路和用于控制其開關的繼電器驅動電路。本設計采用上電開鎖形式的12 V電子鎖,當電子鎖線圈兩端電壓達到12 V時就會上電開鎖,具體接口電路如2所示。其中Q2為PNP型三極管,工作在開關模式下,用于控制繼電器的上電和復位。
2.2STM32及其外圍電路設計
STM32系列微處理器是專為高性能、低成本、低功耗的嵌入式應用而設計的以ARM Cortex-M3為內核的控制芯片。按性能可分成兩個不同的系列:STM32F103“增強型”和STM32F101“基本型”。增強型系列時鐘頻率達到72 MHz,是同類產品中性能最高的產品;基本型時鐘頻率為36 MHz,以16位產品的價格得到比16位產品大幅提升的性能,是16位產品用戶的最佳選擇[4]。兩個系列都內置32 KB~128 KB的閃存,不同的是SRAM的最大容量和外設接口的組合。時鐘頻率為72 MHz時,STM32功耗為36 mA,是32位市場上功耗最低的產品,即0.5 mA/MHz。本設計采用增強型的STM32F103ZET6微處理器。
2.2.1液晶顯示
本設計采用的是3.2英寸的TFT彩色顯示屏,分辨率為320×240,16位真彩顯示。彩色顯視屏上顯示出室內人數、被拒人數、指紋序號、進入時間等信息。由于STM32微處理器中集成了FSMC總線機制,可以方便地對液晶顯示器進行控制,所以通過軟件編程設置FSMC控制方式即可實現目的[5]。
2.2.2用戶查詢按鍵
查詢用戶按鍵與STM32連接,主要用于查詢用戶最后一次進入時間、指紋序號、歷史數據瀏覽等相關信息。主要包括3個按鍵,分別為S1、S2、S3,其中按鍵S1用于進入查詢用戶模式,此時按鍵S2、S3分別用于用戶信息查詢的上、下切換,能快速瀏覽到用戶信息。
2.3無線通信
NRF24L01是一款單片射頻收發器件,工作于2.4 GHz~2.5 GHz ISM頻段。內置頻率合成器、功率放大器、晶體振蕩器、調制器等功能模塊,并融合了增強型Shock Burst技術,其中輸出功率和通信頻道可通過程序進行配置。NRF24L01功耗低,在以-6 dBm的功率發射時,工作電流只有9 mA;接收時,工作電流只有12.3 mA。多種低功率工作模式(掉電模式和空閑模式)使節能設計更方便。
2.4G無線通信模塊可采用SPI進行控制,SPI口為同步串行通信接口,最大傳輸速率為10 Mb/s,傳輸時先傳送低位字節,再傳送高位字節,但針對單個字節而言,要先傳送高位再傳送低位。與SPI相關的指令共有8個,使用時這些控制指令由NRF24L01的MOSI輸入,相應的狀態和數據信息是從MISO輸出給MCU。由于STC89C52單片機內部沒有集成SPI總線,所以只能通過普通的I/O口模擬SPI通信方式。此處采用STC89C52的P3口進行模擬,根據圖3、圖4所示的SPI讀寫時序圖,通過軟件編程可以實現SPI的通信協議,達到控制目的。
2.4電源
本設計中需要12 V電壓為電子鎖供電,使其正常通斷,5 V電壓為STC89C52單片機及其外圍電路供電,3.3 V提供STM32微處理器和2.4 G無線模塊的正常工作電壓。通過3個不同的穩壓芯片可以分別得到這三種電壓,為整個系統提供穩定電源。
3軟件設計
3.1軟件設計思路
根據系統硬件電路,系統的軟件設計包括以STC89C52為核心的指紋錄入和識別、液晶顯示子程序,以STM32為核心的系統管理查詢、顯示子程序和無線通信程序。系統軟件部分采用C語言編程,最終將程序分別下載到STC89C52單片機和STM32微處理器中,實現整個系統的通信和其他功能。
3.2指紋錄入及識別
(1)指紋錄入
FM180指紋識別模塊內部集成了專用的函數指令集和數據發送格式,單片機通過指令集訪問指紋識別模塊,通過數據交換達到控制模塊的目的。具體流程如圖5所示。
(2)指紋識別
首先檢測是否有指紋出現在光學鏡頭上面,有指紋出現時,發送搜索用戶指令,將指紋與指紋庫中的指紋作對比。如果與指紋庫中指紋符合則返回1,否則返回0。具體流程如圖6所示。
3.32.4 G無線通信模塊子程序
在啟動數據發送之前,將其模式設定為發送模式。將需要發送的數據轉入發射寄存器,等待發送。啟動發送命令后,數據開始發送,并等待發送完成的標志,發送完成則結束,否則等待發送完成。具體發送流程如圖7所示。
在啟動數據接收之后,首先模塊查詢數據是否有更新,如果有數據更新,則將接收到的數據存入緩沖區,并進一步存入用戶指定位置,以方便程序調用。具體接收流程如圖8所示。
4結束語
隨著社會的進步,需要指紋識別可視化門禁系統這種安全管理設施的場所越來越多。本設計采用STM32微處理器和STC89C52單片機協同工作,構造了功能較為完善的可視化指紋識別門禁管理系統。該系統具有用戶信息查詢功能,不僅可以用于高校實驗室門禁還可以用于其他多種場所,具有廣闊的市場前景和實用價值。但是,系統在遠程監控方面還有所欠缺,需要進一步研究本系統與網絡的通信,以滿足不同場所的需求。
參考文獻
[1] 王超,魏啟明,鄧安遠.無線指紋識別技術在考試系統的應用研究[J].計算機仿真,2010,27(1): 309-312.
[2] 田捷,陳新建,張陽陽,等.指紋識別技術的新進展[J].自然科學進展,2006,16(4):400-408.
[3] 吳成楓,趙振華.基于指紋識別技術的智能門禁系統研究[J].微型電腦應用,2012,28(6):45-47.
[4] 王明冬,方華,劉成鳳,等.基于STM32為平臺的食堂自助點菜結賬裝置設計[J].數字技術與應用,2016(1):166-168.
[5] 湯莉莉,黃偉.基于STM32的FSMC接口驅動TFT彩屏設計[J].現代電子技術,2013,36(20): 139-141.