楊爭輝,李多,葉樺
(東南大學自動化學院,南京210096)
基于AS602的智能指紋鎖系統(tǒng)設(shè)計與實現(xiàn)
楊爭輝,李多,葉樺*
(東南大學自動化學院,南京210096)
針對市場上指紋鎖存在著價格高、功耗高等問題,設(shè)計了一種低成本、低功耗的智能指紋鎖系統(tǒng)。STC12LE5A60S2作為核心處理器,對各模塊進行控制。選用AS602作為指紋處理器,F(xiàn)PC1011F作為指紋采集器。從軟硬件方面進行了低功耗設(shè)計,對密碼進行TEA加密設(shè)置。采用了有限狀態(tài)機模型來進行軟件設(shè)計,避免了大量標志位與多層判斷的問題。最后,對整個系統(tǒng)進行了綜合測試,結(jié)果表明,本智能指紋鎖系統(tǒng)運行穩(wěn)定,安全可靠,指紋識別率高、識別速度快。
智能指紋鎖系統(tǒng);AS602;低功耗;密碼加密(TEA算法);有限狀態(tài)機模型
隨著社會的發(fā)展,信息化程度越來越高,在這信息膨脹的時代,人們對于個人隱私與個人財產(chǎn)的保護意識也不斷加強。指紋鎖也應(yīng)運而生,作為指紋識別技術(shù)應(yīng)用門鎖的代表,兩個顯著的特征決定了指紋鎖將成為未來門鎖行業(yè)發(fā)展的制高點。一是安全性,指紋具有唯一性;二是方便性,相比其它生物類識別技術(shù)(臉譜、瞳孔、聲音、手掌等),手指更為適用,密碼開鎖容易忘記密碼,卡與鑰匙容易丟失與忘記攜帶,手指指紋更為方便。因此指紋鎖被廣泛運用于政府機構(gòu)、銀行、高級公寓等需要絕對安全和隱私的場所[1]。
隨著電子商務(wù)的發(fā)展,家庭數(shù)字化的需求和消費類電子產(chǎn)品的普及,越來越多的家居民用領(lǐng)域需要智能指紋鎖系統(tǒng)。但由于平臺的規(guī)模、算法技術(shù)的獨創(chuàng)性保密性,使得指紋鎖的價格居高不下。因此,開發(fā)高性能、低成本、安全可靠的民用智能指紋鎖系統(tǒng)具有很強的現(xiàn)實意義和廣闊的市場空間[2]。
本智能指紋鎖系統(tǒng)主要有三大創(chuàng)新點:一是通過軟硬件設(shè)計來降低整個系統(tǒng)的功耗,硬件設(shè)計主要通過供電模塊電路設(shè)計實現(xiàn),軟件設(shè)計則采用動態(tài)電源管理和優(yōu)化編譯的方式來實現(xiàn);二是通過語音提示與觸摸按鍵的方式來實現(xiàn)人機交互,幫助用戶更方便的進行操作;三是對存儲的密碼進行加密處理,再存入非易失存儲器中,避免了直接從非易失存儲器中讀取密碼的風險。
開門方式主要包含指紋開門,密碼開門和鑰匙開門(應(yīng)急使用,會觸發(fā)警報)。指紋開門需要杜絕假指模即需要活體識別,對真皮層、體溫、血液流動都有著感應(yīng);密碼開門需要具備防尾隨功能,比如密碼為12345678,那么在正確密碼之后加入最多8位數(shù)字都可以打開門,比如增加至12345678(12345678)等等,這樣防止了密碼被偷窺的情況。
指紋最多可以錄入99枚,其中ID號為1~3的為管理員指紋,可用于授權(quán)指紋和密碼操作,ID為1的指紋可以授權(quán)所有用戶,ID為2、3的指紋可以授權(quán)除ID為1以外的所有用戶;其他ID號為用戶指紋,只能開門,不能添加、刪除指紋。
密碼最多可以錄入10組,位數(shù)為8位。
時間設(shè)置用于通過USB導(dǎo)出開門記錄。
整個系統(tǒng)還帶有語音導(dǎo)航功能,全智能語音提示操作系統(tǒng)幫助用戶更方便的進行操作。例如添加或刪除指紋、重設(shè)密碼等,避免了用戶的錯誤操作,老人小孩也能輕松操作;TOUCH PAD觸摸屏技術(shù),背光非機械式觸摸面板,反應(yīng)靈敏,觸感極佳。簡潔、流暢、硬朗的設(shè)計,彰顯出鎖具的高貴、典雅、安全、健康。
2.1FPC1011F指紋傳感器及其接口
FPC1011F是瑞典FINGERPRINT CARDS AB(簡稱FPC)公司推出的基于半導(dǎo)體硅電容效應(yīng)的指紋傳感器。其采取了獨創(chuàng)的反射式測量法,就像回聲原理一樣,發(fā)出的聲音越大,回聲就越大,這就增強探測信號。保證取得穩(wěn)定清晰的指紋圖像,同時探測信號增強也帶來了另一個好處,芯片表面的保護膜可以做得更厚(比同類厚10倍~25倍),擁有更厚的保護層這就意味著有更強的耐磨性(>100萬次)和抗靜電能力(大于15 kV)[3]。每個硅傳感器等效于電容的一個極板,手指則是另一個極板,由于手指谷與脊離傳感器陣列的距離不同,產(chǎn)生不同的電容值,經(jīng)過運算放大電路,形成不同的電壓值,通過內(nèi)部的A/D轉(zhuǎn)換,獲得高質(zhì)量的數(shù)字指紋圖像[4]。FPC1011F在指紋采集質(zhì)量、耐用性等方面,均得到業(yè)內(nèi)人士的肯定,因此,本系統(tǒng)也采用FPC1011F作為指紋傳感器。
FPC1011F采用4線制SPI接口,與AS602指紋識別芯片連接通信,接口電路如圖1所示。
圖1 FPC1011F接口電路
2.2AS602指紋處理芯片及其接口
AS602芯片是杭州晟元公司為指紋USBKEY等應(yīng)用領(lǐng)域推出的32 bit RISC處理器內(nèi)核的安全芯片。其內(nèi)部集成指紋識別引擎,可以直接在芯片內(nèi)部實現(xiàn)指紋身份認證。內(nèi)嵌1 Mbyte大容量FLASH,支持USB 2.0協(xié)議的USB全速從控制器。芯片還集成了對稱和非對稱加解密硬核,可以硬件實現(xiàn)MD5算法、RSA算法。芯片支持多級基于硬件的保護機制,可以有效保護內(nèi)部數(shù)據(jù)、代碼的安全性[5]。
本系統(tǒng)利用AS602芯片來進行指紋處理,而整個系統(tǒng)的邏輯功能則主要通過STC12LE5A60S2 MCU來實現(xiàn)。AS602支持UART模式,可以與微控制器進行信息傳送。AS602的基本配置電路與接口電路分別如圖2、圖3所示。
圖2 AS602的基本配置電路
圖3 AS602與MCU通信接口電路
圖3中主要分為3個部分:
(1)MCU_TXD2、MCU_RXD2是與微MCUSTC12LE5A60S2進行通信的串口端口。
(2)J2(USB)主要用來進行芯片調(diào)試
(3)USART1_DIO1/PA11、USART1_CLK/PA10、USART1_DIO2/PA12是AS602與指紋傳感器FPC1011進行通信的端口。
2.3電容式觸摸屏設(shè)計與實現(xiàn)
與傳統(tǒng)的機械按鍵相比,電容式觸摸感應(yīng)按鍵不僅美觀時尚,而且壽命長、功耗小、成本低、體積小、持久耐用。人的手指觸碰后會改變其電容,從而通過檢測觸摸板的電容來確定是否有手指按下。其電容組成如下:
其中固有寄生電容CB由PCB材質(zhì)和結(jié)構(gòu)決定,它主要由銅盤與地之間的電容和電路形成的,一般就制作完成的觸摸板而言,該值是固定的。變化電容ΔC,主要指外界導(dǎo)體與PAD之間的寄生電容,通常也是檢測這個電容值的改變[6]。本系統(tǒng)采用SC12A芯片來進行觸摸按鍵管理。SC12A是帶自校正的容性觸摸感應(yīng)器,可以檢測12個感應(yīng)盤是否被觸摸。它保持自動校正,無需外部干預(yù)。它的按鍵輸出經(jīng)過完全的消抖處理,采用多接口I2C串行接口/BCD碼輸出。所有按鍵共用一個靈敏度電容,可以通過選用不同的靈敏電容來改變觸摸按鍵板的靈敏度。接口電路如圖4所示。
圖4 SC12A芯片接口電路
表1 觸摸板電容結(jié)構(gòu)常數(shù)(自上而下)
CDC是靈敏度設(shè)置電容,取值范圍是15 pF~100 pF,電容值越小靈敏度越高。但靈敏度越高,容易受到噪聲干擾,本系統(tǒng)中CDC電容選取為20 pF。
經(jīng)過查閱,當CDC取最小值15 pF時,芯片可檢測到的最小電容為0.2 pF,即變化電容ΔC。
利用式(2)可以分別計算出每層介質(zhì)的電容值:式中:C為電容量;d為極板間極距;ε0為空介電常數(shù)(8.85 pF/m2);εr為極板間介質(zhì)的相對介電常數(shù);S為極板的有效面積。
表2 觸摸板各介質(zhì)電容值(自上而下)
各介質(zhì)電容相當于串聯(lián)構(gòu)成變化電容,利用公式(3)可以計算出最終的變化電容ΔC
經(jīng)過計算ΔC≈0.428 pF?ΔCmin,大于最小變化電容并有一定的余量。方案可行。
2.4低功耗電源管理設(shè)計與實現(xiàn)
嵌入式系統(tǒng)低功耗設(shè)計的目標是在滿足用戶對性能需求的前提下,盡可能降低系統(tǒng)的能耗,延長設(shè)備的待機時間。隨著市場對可移動式嵌入式設(shè)備在體積和性能方面要求的不斷提升,嵌入式設(shè)備小體積、高性能與有限的電池能量之間的矛盾日益突出,嵌入式系統(tǒng)低功耗設(shè)計是解決這一矛盾的有效手段。它包括硬件低功耗設(shè)計和軟件低功耗設(shè)計兩個方面[7]。
本系統(tǒng)有3種供電方式:6 V電池(2組4節(jié)5號電池并聯(lián))、9 V電池、USB供電。
6 V電池:為整個系統(tǒng)的主要供電方式。
9 V電池:應(yīng)急使用,防止6 V電池電量耗盡。
USB供電:系統(tǒng)調(diào)試使用。
這3種電源經(jīng)過電源選擇模塊后為整個系統(tǒng)供電。經(jīng)過3個穩(wěn)壓芯片的電壓調(diào)整,分成3組電源分別為MCU和電容觸摸、外圍電路、指紋識別模塊供電。電源模塊框圖如圖5所示。
圖5 電源模塊框圖
其中MUC可以工作在低功耗方式下,對于MCU外圍電路及指紋識別模塊,當MCU處于低功耗模式時,MCU可以通過控制器使能端無效的方式來切斷電源,以減少功耗。這樣就可以最大程度上的減少整個系統(tǒng)的功耗。
3.1MCU與AS602的通信協(xié)議
智能指紋鎖系統(tǒng)中,AS602指紋識別芯片始終處于從屬地位(Slave mode),主機(Host)MCU需要通過不同的指令讓模塊完成各種功能。MCU可以通過UART串口協(xié)議與AS602通信,UART波特率為57.6 kbit/s,數(shù)據(jù)格式:8 bit數(shù)據(jù)位,2 bit停止位,無校驗位。
主機的指令、模塊的應(yīng)答以及數(shù)據(jù)交換都是按照規(guī)定格式的數(shù)據(jù)包來進行的。主機必須按照一定格式封裝要發(fā)送的指令或數(shù)據(jù),也必須按相應(yīng)格式解析收到的數(shù)據(jù)包。
整個系統(tǒng)主要用了表3中的8個指令集。
表3 AS602指令集
由于沒有操作系統(tǒng)的支持,如果采用面向過程的方法,必然會引入大量的標志位,出現(xiàn)大量、多層的判斷、轉(zhuǎn)移語句,導(dǎo)致程序的可讀性變差[8]。有限狀態(tài)機的靈活運用可以減少程序中的判斷步驟,縮短程序執(zhí)行時間,提高單片機處理的實時性[9]。因此,對于指令的發(fā)送、解析、應(yīng)答采用狀態(tài)機的方式進行處理,這樣可以減少標志位與多層判斷。
3.2TEA密碼加密的軟件設(shè)計與實現(xiàn)
如果將開鎖密碼采用直接存儲的方式,存在從EEPROM中直接讀取密碼的風險??紤]到密碼存儲的安全性,本系統(tǒng)將密碼通過TEA加密算法加密后,再存入EEPROM中。當需要密碼驗證時,則從EEPROM中提取出密碼進行解密再進行比對。由于將密鑰固化在code中燒寫進單片機中,因此,其他人很難得知密鑰,這樣就大大提高了系統(tǒng)的安全性。
TEA算法采用擴散和混亂方法,對64 bit的明文數(shù)據(jù)塊,用128位密鑰分組進行加密,產(chǎn)生64 bit的密文數(shù)據(jù)塊,其循環(huán)輪數(shù)可根據(jù)加密強度需要設(shè)定[10]。
TEA加密算法過程[11]:
(a)初始化:
待加密的數(shù)據(jù)分成2部分v(0)和v(1),各32bits,y=v(0),z=v(1),Sum=0;
Delta=0X9E377989;
密鑰128比特分成相等4部分:k(0),k(1),k(2),k(3)
a=k(0),b=k(1),e=k(2),d=k(3),n=32;
(b)若n>0則轉(zhuǎn)第c),否則轉(zhuǎn)d)。
(c)Sum=Sum+Delta;
y=y+(z<<4)+a^z+Sum(^z>>5)+b;
z=z+(y<<4)+c^y+Sum(^y>>5)+d;
n=n—l,轉(zhuǎn)第b)步。
(d)v(0)=y,v(1)=z,加密結(jié)束,密文在v(0)和v(1)中,共64位。同時,對對AES,RC5,TEA三種加密算法進行代碼實現(xiàn)與性能比較(硬件平臺:STC12LE5A60S2,22.1184 MHz晶振)。
表4 AES,RC5,TEA加密算法性能比較
對表4中測試得到的數(shù)據(jù)進行分析:
(a)就資源(RAM、ROM)消耗而言,AES,RC5算法遠大于TEA算法
(b)就時間(加密、解密)消耗而言,AES算法遠高于RC5,TEA算法,RC5,TEA相差幾個毫秒
考慮到本系統(tǒng)采用STC12LE5A60S2單片機,1280字節(jié)的RAM,60K字節(jié)程序空間。選擇TEA加密算法。與AES相比,不存在S盒的“陷門”問題,具有更好的安全性能。另外,無論是硬件實現(xiàn)還是軟件實現(xiàn),TEA都比AES、RC5更簡單。因此,整個系統(tǒng)采用TEA算法對開鎖密碼進行加密處理。
3.3低功耗的軟件設(shè)計與實現(xiàn)
動態(tài)電源管理在降低嵌入式系統(tǒng)功耗發(fā)揮著不可替代的作用,屬于操作系統(tǒng)級別的管理方式。動態(tài)電源管理的本質(zhì)是一種電源管理的機制或策略,能夠在系統(tǒng)運行時,動態(tài)地管理電源[12]。本系統(tǒng)采用STC12LE5A60S2作為MCU。STC12LE5A60S2單片機可以運行3種省電模式以降低功耗,它們分別是:空閑模式,低速模式和掉電模式。正常工作模式下,STC12C5A60S2系列單片機的典型功耗是2 mA~7 mA,而掉電模式下的典型功耗是<0.1 μA,空閑模式下的典型功耗是<1.3 mA[13]。因此,可以采用動態(tài)電源管理的方式減少整個系統(tǒng)的功耗。如果3 s內(nèi)無任何操作,則將MCU切換到掉電模式,并將外圍電路穩(wěn)壓芯片的使能端設(shè)為低電平,停止供電(參見硬件部分的電源管理),使整個系統(tǒng)處于休眠狀態(tài),從而大大降低了系統(tǒng)功耗。休眠模式可以通過外部中斷進行喚醒。
其次,對程序進行適當優(yōu)化,如:減少冗余代碼,算法優(yōu)化等等,來實現(xiàn)低功耗的軟件設(shè)計。
4.1功能測試
對整個系統(tǒng)進行綜合性的功能測試,完全可以達到前述智能指紋鎖系統(tǒng)功能需求。可以準確的錄入、刪除指紋,識別指紋ID進行指紋開鎖;也可以添加、刪除開鎖密碼,利用密碼開鎖。每步操作都會有相應(yīng)的語音提示,若長時間沒有操作,會進入休眠狀態(tài)。
圖6 智能指紋鎖系統(tǒng)實物圖
4.2功耗測試
電池:南孚AA 1.5 V無汞堿性電池,型號:LR6,數(shù)量:8(4節(jié)串聯(lián)形成一組,兩組并聯(lián))。
表5 初次測試結(jié)果單位:mA
表6 不同休眠模式的測試結(jié)果
待機時間理論分析:
表7 各模式理論工作時間
在軟件設(shè)計過程中,休眠采用掉電模式,假設(shè):每天開鎖操作進行3次,功能設(shè)置進行3次,其余時間處于休眠狀態(tài)。經(jīng)過計算,8節(jié)(4節(jié)4節(jié)并聯(lián))理論工作時間達到0.42年。
本智能指紋鎖系統(tǒng)以STC12LE5A60S2作為核心處理器,AS602作為指紋處理芯片,F(xiàn)PC1011F作為指紋采集器,。通過語音提示與電容式觸摸屏來實現(xiàn)人機交互。利用TEA加密算法,對開鎖密碼進行加密,提高整個系統(tǒng)的安全性。經(jīng)過功能測試,本系統(tǒng)可以實現(xiàn)功能需求。從軟硬件方面都進行了相應(yīng)的低功耗設(shè)計,其中包括芯片選型、電源管理、控制策略等,經(jīng)過功耗測試,本系統(tǒng)可以實現(xiàn)低功耗目標。其結(jié)果表明,本文設(shè)計的智能指紋鎖系統(tǒng)運行穩(wěn)定,安全可靠,指紋識別率高、識別速度快,低功耗。
[1]王鑫.指紋鎖的市場需求與發(fā)展[J].中國公共安全(綜合),2014,(24):110-111.
[2]楊偉鈞.基于DSP的指紋鎖的設(shè)計與實現(xiàn)[D].廣東工業(yè)大學,2008.
[3]Fingerprints公司.FPC1011F Area Sensor Package[Z].Product Specification,2009.
[4]陳文燕,劉良勇.指紋傳感器FPC1011F在ARM9指紋采集系統(tǒng)中的應(yīng)用[J].中北大學學報(自然科學版),2011,32(5):642-647.
[5]鐘文東,林喜榮,戴曉清,等.采用AS602的指紋鑰匙應(yīng)用系統(tǒng)的設(shè)計與實現(xiàn)[J].電子產(chǎn)品世界,2013,(4):62-65.
[6]陳斌.電容式觸摸按鍵設(shè)計與專用芯片應(yīng)用[J].電子世界,2014,(16):281-281.
[7]梁晶.嵌入式系統(tǒng)低功耗設(shè)計研究與實現(xiàn)[D].華中科技大學,2004.
[8]管庶安.單片機程序的狀態(tài)機模型[J].武漢工業(yè)學院學報,2004,23(2):1-2,9.
[9]黃新林,王鋼,劉春剛,等.有限狀態(tài)機在單片機編程中的應(yīng)用[J].哈爾濱理工大學學報,2008,13(4):7-9.
[10]謝林栩.基于TEA加密算法在網(wǎng)絡(luò)傳輸中保護文件數(shù)據(jù)安全的應(yīng)用[J].廣西師范學院學報(自然科學版),2010,27(2):76-80.
[11]朱璇,唐曉茜,殷建軍,等.基于單片機的智能加密電子密碼鎖設(shè)計[J].輕工機械,2009,27(4):76-78,82.
[12]姚偉.嵌入式系統(tǒng)低功耗軟件技術(shù)研究[J].計算機技術(shù)與發(fā)展,2011,21(1):112-115.
[13]宏晶科技有限公司.STC12C5A60S2系列單片機數(shù)據(jù)手冊[DB/OL].http://www.stcmcu.com/datasheet/stc/STC-AD-PDF/ STC12C5A60S2.pdf,2013.
楊爭輝(1991-),男,漢族,山東省萊州市人,東南大學碩士研究生在讀,研究方向為模式識別與智能系統(tǒng),ZhengHuiY@foxmail.com;
葉樺(1961-),男,漢族,江蘇省南京市,東南大學自動化學院,教授,碩士生導(dǎo)師,研究方向為模式識別與智能系統(tǒng),zhineng@seu.edu.cn。
The Design and Implementation of a Fingerprint Lock Based on AS602
YANG Zhenghui,LI Duo,YE Hua*
(School of Automation,Southeast University,Nanjing 210096,China)
Due to the high power consumption and high price of fingerprint lock on the market,the design of finger?print lock has the advantage of low cost,low power consumption.STC12LE5A60S2 is chosen as microprocessor to control different modules.AS602 is chosen to identify fingerprint,which controls the fingerprint sensor FPC1011F. The design of low power consumption consists of two parts:one is low power design of hardware and the other is low power design of software.TEA is used to encrypt the passwords.Finite state machine is used in programming to re?duce the judgment step and time.According to the results of the tests,the system is stable,safe and has reliable fin?gerprint identification rate,high recognition speed,low power consumption.
fingerprint lock;AS602;lower power consumption;encryption algorithm(TEA);finite state machine
TM925.92
A
1005-9490(2016)02-0495-06
EEACC:721010.3969/j.issn.1005-9490.2016.02.049
2015-05-14修改日期:2015-06-08