彭克勤 朱敏玲 北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院
一款基于MSP430單片機(jī)指紋密碼鎖系統(tǒng)的設(shè)計(jì)
彭克勤 朱敏玲 北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院
密碼鎖的形態(tài)有很多種,按照相關(guān)技術(shù)可分為分:按鍵式的、射頻式、還有指紋式等。本文選用低功耗的單片機(jī)MSP430F5419作主控機(jī),采用指紋模塊ATK-AS608、LCD屏、按鍵、語音等硬件,嘗試設(shè)計(jì)一款指紋式密碼鎖。MSP430F5419通過串口對指紋模塊ATK-AS608數(shù)據(jù)讀取即錄入指紋,通過對MSP430F5419編程,實(shí)現(xiàn)指紋密碼鎖功能。本文主要介紹指紋模塊ATK-AS608基本特性,接口協(xié)議;分析MSP430F5419與指紋模塊ATK-AS608之間通信要求以及實(shí)現(xiàn)指紋密碼鎖系統(tǒng)的編程方法。
單片機(jī)MSP430F5419 指紋模塊ATK-AS608 串口通訊接口協(xié)議 密碼鎖
系統(tǒng)結(jié)構(gòu)如圖1所示。指紋模塊通過串口協(xié)議與MSP430F5419相互通信,LCD屏采用OCMJ128x64帶字庫LCD顯示屏;語音采用ISD1720,通過SPI接口與MSP430F5419相互通信;按鍵采用HD7279,通過其特殊的SPI協(xié)議與MSP430F5419進(jìn)行通信。
圖1 系統(tǒng)結(jié)構(gòu)
1.2.1 MSP430F5419
MSP430f5419 系列單片機(jī)(MCU)是一個(gè) 16 位、采用了精簡指令集(RISC)結(jié)構(gòu)的MCU;簡便的 27 條內(nèi)核指令和大量的模擬指令;具有很多尋址方式如:源操作數(shù)尋址、目的操作數(shù)尋址等;片內(nèi)數(shù)據(jù)存儲(chǔ)器以及大量的寄存器都可參加多種運(yùn)算;還有高效的查表處理指令;有較高的處理速度,在 8MHz 晶體驅(qū)動(dòng)下指令周期為 125 ns ;片上資源豐富,具有超低功耗的優(yōu)點(diǎn)。
1.2.2 按鍵接口HD7279
按鍵接口選用的是HD7279。這是一片智能顯示驅(qū)動(dòng)芯片,采用串行接口, 能同時(shí)接8位LED數(shù)碼管,同時(shí)可以連接8*8個(gè)矩陣鍵盤。
本設(shè)計(jì)中采用中文液晶顯示(LCD)模塊。該模塊采用新型控制器8133,它完全兼容原8130 控制器的指令系統(tǒng),是原8130控制器的基礎(chǔ)上升級改進(jìn)版,并增加了一些特殊的功能,老用戶可在原有硬件接口不改變的條件下,對軟件程序稍做修改就可實(shí)現(xiàn)以下特殊的功能:
(1)光標(biāo)功能:寫入光標(biāo)功能指令后,光標(biāo)會(huì)在下一個(gè)輸入的字符或漢字的下一地址位顯示(不在最后顯示的字符或漢字下方)??筛鶕?jù)需要對光標(biāo)閃爍效果和光標(biāo)長度(8點(diǎn)或16點(diǎn))進(jìn)行設(shè)置。
(2)反白功能:寫入反白功能指令后,以后寫入的內(nèi)容將出現(xiàn)反顯效果。
(3)漢字字模為 16*16點(diǎn)陣,字體改為15*15點(diǎn)陣,內(nèi)置字庫增加為GB 2312國標(biāo)一、二級簡體漢字字庫及前16區(qū)字符(16*16點(diǎn)陣)。
(4)顯示移動(dòng)功能:寫入顯示移動(dòng)功能指令后;整屏顯示移動(dòng)的位置和速度可編程。
1.2.4 指紋模塊ATK-AS608介紹
(1)指紋模塊ATK-AS608性能介紹
ATK-AS608指紋識別模塊采用了國內(nèi)著名指紋識別芯片公司杭州晟元芯片技術(shù)有限公司(Synochip)的AS608指紋識別芯片,是ALIENTEK推出的一款高性能的光學(xué)指紋識別模塊。由于芯片內(nèi)置DSP運(yùn)算單元并集成了指紋識別算法,因此ATK-AS608模塊能高效快速采集圖像并識別指紋特征。
制取模型時(shí)2組患者的舒適度比較差異有統(tǒng)計(jì)學(xué)意義(P<0.05)(見表1)。數(shù)字化方法組取模時(shí)所有患者舒適度評級均為A級和B級,傳統(tǒng)方法組有3例患者在取模過程中存在強(qiáng)烈不適感。2組瓷貼面隨訪期內(nèi)脫落率比較:46例患者跟蹤隨訪時(shí)間6個(gè)月,在隨訪期內(nèi),2組患者均未出現(xiàn)瓷貼面脫落,2組瓷貼面脫落率的差異無統(tǒng)計(jì)學(xué)意義。
ATK-AS608模塊具有USB、串口兩種通訊接口標(biāo)配,用戶不需研究復(fù)雜的圖像處理過程以及指紋識別算法,而只需通過對USB或串口按照提供通訊協(xié)議便可對模塊實(shí)施控制。本模塊可應(yīng)用于指紋鎖、保險(xiǎn)箱柜、考勤機(jī)、門禁系統(tǒng)等場合。
ATK-AS608模塊內(nèi)設(shè)有二個(gè)512bytes大小的特征文件緩沖區(qū)與一個(gè)72K字節(jié)的圖像緩沖區(qū),名字分別稱為:CharBuffer1,CharBuffer2和ImageBuffer。用戶可以通過指令讀寫任意一個(gè)緩沖區(qū)。CharBuffer1或CharBuffer2既可以用于存放普通特征文件也可以用于存放模板特征文件。為了加快速度,通過UART口上傳或下載圖像時(shí),只用到像素字節(jié)的高4位,即將兩個(gè)像素合成一個(gè)字節(jié)傳送;通過USB口則是整8位像素。
指紋庫容量根據(jù)掛接的FLASH容量不同而改變,系統(tǒng)會(huì)自動(dòng)判別。指紋模板按照序號存放,序號定義為:0—(N-1)(N為指紋庫容量)。用戶只能根據(jù)序號訪問指紋庫內(nèi)容。
(2)通信協(xié)議分析
上位機(jī)與模塊之間通訊、MCU與模塊之間通訊,模塊指令和數(shù)據(jù)的發(fā)送或接收,都是按照模塊指令格式和數(shù)據(jù)格式打包;解析指令和接收數(shù)據(jù)包也按照對應(yīng)的格式。
一、指令格式
模塊指令格式分為三種:命令格式(如表1所示)、數(shù)據(jù)格式(如表2所示)、結(jié)束包格式(如表3所示)。
表1 命令格式
表2 數(shù)據(jù)包格式
表3 結(jié)束包格式
二、模塊應(yīng)答格式
應(yīng)答是將有關(guān)命令執(zhí)行情況與結(jié)果上報(bào)給上位機(jī)或者M(jìn)CU;應(yīng)答包含有參數(shù),并可跟后續(xù)數(shù)據(jù)包。上位機(jī)或者M(jìn)CU只有在收到模塊的應(yīng)答包后才能確認(rèn)模塊收包情況與指令執(zhí)行情況。模塊應(yīng)答包中包含一個(gè)參數(shù):確認(rèn)碼。確認(rèn)碼表示執(zhí)行指令完畢的情況。模塊應(yīng)答格式如表4所示。
表4 模塊應(yīng)答格式
MSP430F5419 編譯環(huán)境為IAR for 430軟件,采用C語言編程。
按照功能來分,主要分為三部分:主程序,中斷程序,指紋模塊功能子程序等部分,每個(gè)功能是相互關(guān)聯(lián)的,又相互獨(dú)立,下面按功能要求來講述。
主程序流程圖如圖2:程序上電時(shí),首先,時(shí)鐘及IO口初始化,串口初始化,語音初始化,指紋模塊初始化,,然后進(jìn)入查詢按鍵,檢查按鍵功能進(jìn)入相應(yīng)的功能程序。
圖2 主程序流程圖
本次設(shè)計(jì)里一共有三個(gè)函數(shù),分別是刪除指紋、錄指紋、刷指紋;每個(gè)函數(shù)都包含著很多相同的子功能函數(shù),如獲取圖像命令PS_GetImage()、應(yīng)答包處理功能JudgeStr()等,在此僅對press_FR()刷指紋函數(shù)實(shí)現(xiàn)進(jìn)行介紹;其流程程圖如圖3所示。
圖3 刷指紋函數(shù)流程圖
函數(shù)代碼如下:
串口接收數(shù)據(jù)采用中斷的方式,當(dāng)有數(shù)據(jù)來時(shí),串口接收中斷信號,進(jìn)入接收中斷,然后接收數(shù)據(jù),按照指紋模塊提供的數(shù)據(jù)協(xié)議進(jìn)行接收,其流程圖如圖4所示
圖4 串口接收指紋數(shù)據(jù)流程圖
中斷接收處理函數(shù)如下
本文由于篇幅的原因,很多細(xì)節(jié)沒有詳盡寫入。比如串口接收數(shù)據(jù),文中只是簡單提到接收,其實(shí)這個(gè)也需要處理,在本次設(shè)計(jì)實(shí)現(xiàn)的程序里,開啟了一個(gè)1MS的定時(shí)器,時(shí)間到,即表示接收完畢,然后主程序開始處理接收到的數(shù)據(jù);這是整個(gè)系統(tǒng)數(shù)據(jù)處理最重要的一塊。
[1]洪利,章?lián)P,李世寶.MSP430單片機(jī)原理與應(yīng)用實(shí)例詳解[M].北京:北京航空航天大學(xué)出版社,2010.7
[2]沈建華,楊艷琴,翟驍曙.MSP430系列16位超低功耗單片機(jī)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2004.11
[3]王桂榮,李憲芝.傳感器原理及應(yīng)用[M].北京:中國電力出版社,2010.5
[4] Ramon Bardolet,Enrico Pigorsch.Sensors [M].Springer,2014.8
[5]ATK-AS608指紋識別模塊用戶手冊.pdf HTTP://www.openedv.com/thread-77992-1-1.html
[6]HD7279A串行接口8位LED數(shù)碼管及64鍵鍵盤智能控制芯片(第四版).PDF》HTTP://www.bitcode.com.cn
[7] B系列改進(jìn)型中文液晶顯示模塊使用說明書.pdf HTTP://www.gptlcm.com
[8] ISD 1700系列數(shù)碼語音電路使用手冊(中文版).pdf HTTP://www.atvoc.com
彭克勤,女,碩士,副教授;朱敏玲,女,博士,副教授。