電機(jī)驅(qū)動(dòng)電路
機(jī)械驅(qū)動(dòng)部分用小型的直流電動(dòng)機(jī)來(lái)進(jìn)行驅(qū)動(dòng)。由于單片機(jī)的驅(qū)動(dòng)能力極其有限,所以需要對(duì)單片機(jī)的輸出進(jìn)行驅(qū)動(dòng)放大。這里采用BA6289邏輯控制芯片。它可以接收TTL 邏輯電平,用于驅(qū)動(dòng)感性負(fù)載。它根據(jù)對(duì)門(mén)鎖的不同操作進(jìn)行邏輯控制,驅(qū)動(dòng)電機(jī)的正反轉(zhuǎn),推動(dòng)門(mén)鎖上的鎖舌進(jìn)出。電機(jī)正轉(zhuǎn),鎖舌退,實(shí)現(xiàn)開(kāi)門(mén)動(dòng)作;電機(jī)反轉(zhuǎn),鎖舌進(jìn),實(shí)現(xiàn)關(guān)門(mén)動(dòng)作。電機(jī)正反轉(zhuǎn)控制電路的原理圖如圖3所示。
系統(tǒng)加密設(shè)計(jì)
單片機(jī)系統(tǒng)一般都采用MCU+EPROM模式。通常EPROM都是透明的,雖然有許多的MCU都帶有加密位,但現(xiàn)在已大多能破解。為了保護(hù)自行開(kāi)發(fā)的指紋識(shí)別門(mén)鎖算法,系統(tǒng)加密是個(gè)關(guān)鍵。常用的單片機(jī)加密技術(shù)有硬件加密和軟件加密兩種。軟件加密不能防止別人復(fù)制,只能增加解剖分析的難度,安全性不足。
現(xiàn)在很多的MCU都帶有加密位,其中在單片機(jī)中運(yùn)用得最成功的加密方法是總線(xiàn)燒毀法。即把單片機(jī)數(shù)據(jù)總線(xiàn)的特定I/O永久性地破壞,解密者即使擦除了加密位,也無(wú)法讀出片內(nèi)程序的正確代碼。此外還有破壞EA引腳的方法。這種方法用來(lái)加密小程序比較成功,但由于總線(xiàn)已被破壞,因而不能再使用總線(xiàn)來(lái)擴(kuò)展接口芯片和存儲(chǔ)器,同時(shí),片內(nèi)存儲(chǔ)器也不再具有重復(fù)編程特性。
系統(tǒng)軟件設(shè)計(jì)
該指紋識(shí)別門(mén)鎖系統(tǒng)是完全自主開(kāi)發(fā)的具有獨(dú)立知識(shí)產(chǎn)權(quán)的軟件,其完整的系統(tǒng)管理協(xié)議增強(qiáng)了軟件的強(qiáng)壯性和可移植性,完整的指紋識(shí)別命令集使其可以自動(dòng)進(jìn)行指紋的注冊(cè)、識(shí)別以及指紋數(shù)據(jù)的輸出。系統(tǒng)軟件總程序包括監(jiān)測(cè)控制部分和通訊部分。監(jiān)測(cè)控制部分包括了門(mén)鎖控制軟件諸如開(kāi)關(guān)門(mén)、應(yīng)急密碼開(kāi)門(mén)、指紋錄入、指紋刪除等程序,以及指紋識(shí)別管理、電源管理、定時(shí)器中斷管理、看門(mén)狗、外部指令處理和I2C總線(xiàn)存儲(chǔ)器等程序。通訊部分主要包括通訊協(xié)議和驅(qū)動(dòng)程序,其中通訊協(xié)議包括數(shù)據(jù)接收、數(shù)據(jù)發(fā)送、校驗(yàn)、數(shù)據(jù)包處理等程序;設(shè)備驅(qū)動(dòng)包括寄存器配置和系統(tǒng)狀態(tài)控制等程序。
|
表1 指紋鎖的性能指標(biāo)
系統(tǒng)初始化
嵌入式指紋鎖系統(tǒng)在啟動(dòng)或復(fù)位之后,需要對(duì)系統(tǒng)硬件和軟件運(yùn)行環(huán)境進(jìn)行初始化,這些工作由啟動(dòng)程序完成,啟動(dòng)程序通常采用匯編語(yǔ)言編寫(xiě)。寫(xiě)好啟動(dòng)程序是設(shè)計(jì)好嵌入式程序的關(guān)鍵,系統(tǒng)啟動(dòng)程序所執(zhí)行的操作與具體的目標(biāo)系統(tǒng)和開(kāi)發(fā)系統(tǒng)相關(guān),流程如圖4所示。
指紋識(shí)別軟件的協(xié)議命令集
系統(tǒng)管理協(xié)議包括功能部件更新下載、設(shè)備復(fù)位、部件錯(cuò)誤處理、檢測(cè)注冊(cè)的用戶(hù)數(shù)量、檢測(cè)存儲(chǔ)器信息、檢測(cè)安全級(jí)、設(shè)置安全級(jí)、檢測(cè)每個(gè)用戶(hù)注冊(cè)的指紋數(shù)、設(shè)置每個(gè)用戶(hù)錄入的指紋數(shù)以及設(shè)置波特率等。指紋識(shí)別命令集包括自動(dòng)ID注冊(cè)用戶(hù)、給定ID注冊(cè)用戶(hù)、刪除給定ID用戶(hù)、匹配刪除用戶(hù)、刪除所有用戶(hù)、給定 ID用戶(hù)識(shí)別、自動(dòng)ID用戶(hù)識(shí)別、提取特征信息、特征信息匹配、從模塊獲取特征信息以及在模塊中存儲(chǔ)特征信息等。下面給出該軟件指紋識(shí)別協(xié)議命令集中自動(dòng)用戶(hù)注冊(cè)部分的設(shè)計(jì)說(shuō)明。
自動(dòng)用戶(hù)注冊(cè)是指系統(tǒng)使用自動(dòng)選擇的ID號(hào)注冊(cè)用戶(hù),如下:
STI_USER_REGISTR ATION:開(kāi)始注冊(cè)
0x1b - 0x5e - 0x50 - Start ID NumberH- Start ID NumberL
STI_USER_REGISTRATION _SUCCESS:注冊(cè)成功
0x1b - 0x5e - 0x51 - Start ID NumberH- Start ID NumberL
其中Start ID NumberH/ Start ID NumberL為注冊(cè)開(kāi)始時(shí)的ID值
STI_USER_REGISTR ATION_ERROR:注冊(cè)失敗
0x1b - 0x5e - 0x52 - 0x00- ID Number
單片機(jī)與指紋模塊的通訊協(xié)議
系統(tǒng)中的工作核心是指紋模塊,它幾乎包含了對(duì)指紋處理的所有操作。指紋識(shí)別模塊通過(guò)RS232串口與使用者接口,使用者通過(guò)此接口來(lái)命令模塊完成諸如指紋采集、指紋比對(duì)等一系列操作。單片機(jī)與指紋模塊的通訊為半雙工異步通訊,RS232接口缺省的波特率為9600bps。
單片機(jī)與指紋模塊的通訊,對(duì)命令、數(shù)據(jù)、結(jié)果的接收和發(fā)送都采用幀的形式進(jìn)行,通訊格式內(nèi)容包括包標(biāo)識(shí)、地址碼保留字、包長(zhǎng)度、包內(nèi)容和校驗(yàn)和。
由于通過(guò)串口通訊,在數(shù)據(jù)接收的開(kāi)始有時(shí)會(huì)丟失一兩個(gè)字節(jié),所以在接收數(shù)據(jù)包時(shí)可能因?yàn)榻邮兆止?jié)不完全而使程序陷入死循環(huán)。這里采用在規(guī)定時(shí)間內(nèi)如果沒(méi)有接收到數(shù)據(jù)則強(qiáng)行退出接收程序,而后重新接收數(shù)據(jù)的方法,由于指紋模塊與單片機(jī)的工作頻率非???,根本不會(huì)影響該系統(tǒng)的工作。
同樣,單片機(jī)和模塊通過(guò)一串消息幀來(lái)傳遞命令,在程序編寫(xiě)時(shí)利用數(shù)組來(lái)存儲(chǔ)Receive[Max]從模塊接收到的數(shù)據(jù),如圖5所示。單片機(jī)通過(guò)串口向模塊發(fā)送命令而后又等待接收命令時(shí),經(jīng)常丟失或有誤一兩個(gè)字節(jié),這樣導(dǎo)致數(shù)組Receive [Max]中數(shù)據(jù)會(huì)丟失一兩個(gè)字節(jié)。參考指紋模塊的通訊協(xié)議可知,消息幀中的大部分?jǐn)?shù)據(jù)都相同,只有一兩個(gè)不同的關(guān)鍵字且在數(shù)據(jù)幀的中間部分。所以,根據(jù)模塊動(dòng)作的幾種可能情況在接收數(shù)據(jù)的數(shù)組Receive[Max]中搜索對(duì)應(yīng)的一兩個(gè)關(guān)鍵字,這樣就可以正確判斷模塊的動(dòng)作。
系統(tǒng)測(cè)試
根據(jù)門(mén)鎖的安全性能指標(biāo)設(shè)計(jì)測(cè)試方案,系統(tǒng)測(cè)試主要從以下幾個(gè)方面進(jìn)行:
1) 用不同質(zhì)量的指紋:用大約500人次的不同指紋進(jìn)行開(kāi)鎖、注冊(cè)等測(cè)試;
2) 同一指紋在不同條件下:諸如干濕、破損、壓力溫度不同、位置角度不同、油污情況下進(jìn)行開(kāi)鎖試驗(yàn);
3) 不間斷的工作方式:長(zhǎng)時(shí)間的疲勞測(cè)試、頻繁的開(kāi)鎖、關(guān)鎖,測(cè)試系統(tǒng)的穩(wěn)定性;
4) 人為制造緊急狀況:電源不足情況下、惡性開(kāi)鎖、開(kāi)鎖后忘記關(guān)門(mén)、普通用戶(hù)手指不能開(kāi)門(mén)、取消非法用戶(hù)權(quán)限等。
指紋鎖的核心部分測(cè)試后的各項(xiàng)性能指標(biāo)如表1所示。
結(jié)語(yǔ)
經(jīng)過(guò)大量的測(cè)試工作,本門(mén)鎖系統(tǒng)的性能狀態(tài)良好,滿(mǎn)足安全性和易用性的指標(biāo)要求。門(mén)鎖系統(tǒng)從功能上具有授權(quán)錄入指紋、按ID號(hào)或按級(jí)刪除指紋、記錄最近的 10次開(kāi)門(mén)記錄,可錄入150枚指紋。本系統(tǒng)采用了嵌入式的體系結(jié)構(gòu),以及精度高、反應(yīng)快、功耗低、體積小的外圍器件,配合成熟的指紋識(shí)別算法和完善的功能設(shè)計(jì),以及應(yīng)急開(kāi)門(mén)方案、加密設(shè)計(jì)和低功耗設(shè)計(jì)。本嵌入式指紋鎖的誤識(shí)率為0.001%~0.01%,拒識(shí)率為0.1%~1%,處理速度低于0.3s,完全滿(mǎn)足指紋識(shí)別產(chǎn)品的要求。由本系統(tǒng)為核心制作的小樣本嵌入式指紋鎖已于2005年末供應(yīng)海外市場(chǎng)。
評(píng)論