孟 濤,孫乾程,王 偉
(中電??禑o(wú)錫科技有限公司,江蘇 無(wú)錫 214000)
隨著生活水平的提高,人們對(duì)安全和便利性的要求也越來(lái)越高。伴隨物聯(lián)網(wǎng)的逐步發(fā)展和普及,智能鎖憑借無(wú)需攜帶鑰匙、支持遠(yuǎn)程解鎖等優(yōu)點(diǎn),逐步普及。
為了滿(mǎn)足當(dāng)前市場(chǎng)的需要,本文自主研發(fā)了用于智能鎖的MCU,將智能鎖特定的按鈕、語(yǔ)音等外設(shè)資源在其中固化,實(shí)現(xiàn)了指紋、密碼、刷卡、遠(yuǎn)程解鎖等多種開(kāi)鎖方式,同時(shí)具有良好的安全性、滿(mǎn)足超低功耗的運(yùn)行模式。
智能門(mén)鎖由自主研發(fā)主控MCU、指紋識(shí)別模塊、RFID刷卡模塊、按鍵模塊、OELD屏幕顯示模塊、語(yǔ)音導(dǎo)航模塊、電源模塊、聯(lián)網(wǎng)模塊等部分組成。整體設(shè)計(jì)框圖如圖1所示。
圖1 整體設(shè)計(jì)框圖
系統(tǒng)工作原理如下:
用戶(hù)使用時(shí),開(kāi)啟電源,整個(gè)系統(tǒng)上電工作。MCU首先檢測(cè)電源電壓是否正常,如果電壓過(guò)低則向用戶(hù)報(bào)警提示更換電池。MCU作為整個(gè)系統(tǒng)的控制核心,實(shí)時(shí)讀取指紋、刷卡、按鍵、藍(lán)牙、WIFI等模塊傳遞進(jìn)來(lái)的信息,然后做出相應(yīng)的動(dòng)作;指紋識(shí)別、輸入密碼對(duì)比、讀取卡片信息、遠(yuǎn)程控制等方式認(rèn)證通過(guò)后,MCU通過(guò)電機(jī)驅(qū)動(dòng)模塊打開(kāi)門(mén)鎖,同時(shí)OLED屏幕顯示、語(yǔ)音播報(bào)開(kāi)鎖成功相關(guān)信息。
HIK32L301是智能鎖專(zhuān)用32位低功耗MCU控制電路,片內(nèi)集成ARM Cortex-M3 RISC內(nèi)核、觸摸按鍵、音頻導(dǎo)航DAC、硬件RTC,具有多種低功耗模式。特點(diǎn)如下:
存儲(chǔ)器:256kB Flash32kB RAM;
電源系統(tǒng):2.6V~5.5V供電、內(nèi)置LVT低壓檢測(cè)功能、內(nèi)置LDO 1.5V提供數(shù)字模塊工作電壓;
時(shí)鐘系統(tǒng):HXT 4 ~16MHz、LXT 32.768kHz、HRC 32MHz、LRC 38.4kHz。其中,ULRC :1kHz超低 RC振蕩器,睡眠模式下可供 WDT、RTC、LTIMER工作;
復(fù)位系統(tǒng):POR上電復(fù)位、BOR低壓復(fù)位、外部按鍵復(fù)位、WDT復(fù)位、異常軟復(fù)位;
中斷系統(tǒng):ARM內(nèi)置中斷向量控制器(NVIC)、低延遲的異常和中斷處理、支持中斷嵌套;
工作模式支持以下情況:
運(yùn)行模式:小于220μA/MHz,CPU和外設(shè)均激活;
睡眠模式:小于 63μA/MHz,CPU 停止工作,內(nèi)核時(shí)鐘關(guān)閉,外設(shè)仍可工作;
深度睡眠模式: 小于 1μA,HXT、HRC、PLL 停止工作,CPU停止工作,外設(shè)(LUART)工作在低頻時(shí)鐘;
停止模式:小于 0.7μA,HXT、HRC、PLL、LRC、ULRC停止工作,CPU及所有外設(shè)停止工作,支持4個(gè)按鍵喚醒;
關(guān)閉模式:小于 0.35μA(RTC 開(kāi)啟)/小于 30nA(RTC關(guān)閉),支持4個(gè)按鍵喚醒,最低功耗模式,LDO 1.5V電源區(qū)完全掉電;RTC和備份寄存器可以工作;
DMA:12通道,支持RAM、Flash與外設(shè)之間的DMA操作;
安全系統(tǒng):AES&RNG&CRC,AES256/128可配置,CRC-8、CRC-16、CRC-32、RNG 硬件真隨機(jī)數(shù)發(fā)生器;
WDT:1個(gè)18-bit WDT,支持各種工作模式的看門(mén)狗復(fù)位使能和關(guān)閉;
Timer(PWM):4 個(gè) 16-bit Timer,支持三通道比較、捕獲功能,支持PWM輸出,占空比、死區(qū)可配置;
LTimer:1個(gè) 16-bit低功耗 Timer、 支持 RTC觸發(fā)、比較器觸發(fā)、循環(huán)計(jì)數(shù)、PWM輸出;
RTC:1個(gè)24-bit RTC,萬(wàn)年歷、自動(dòng)閏年閏月,具有軟件可調(diào)整、溫度補(bǔ)償功能;
I2C接口:2個(gè),主從模式可配置,支持100kB/s標(biāo)準(zhǔn)模式、400kB/s快速模式、1MB/s增強(qiáng)模式;
USART接口:3個(gè),最快速度達(dá)主時(shí)鐘MCLK/4,可配置為IrDA接口;
UART:2個(gè),最快速度達(dá)主時(shí)鐘MCLK/4;
LUART:2 個(gè),低功耗 UART,300~9600 波特率;
SPI接口:3個(gè),主從模式可配置,最快速度達(dá)主時(shí)鐘MCLK/2;
TouchKey:16通道,支持SLEEP模式下的Touch喚醒;
ADC:1 個(gè),12 BIT SAR ADC,2MSPS,8 通道;
音頻DAC:1個(gè),16 BIT單聲道音頻DAC;
ACMP:2個(gè),ACMP0和ACMP1輸入通道可選擇(各4路),比較電平可配置為內(nèi)部1.25V、內(nèi)部2.5V、DAC輸出和外部輸入電平;
封裝:LQFP80,QFN64。
系統(tǒng)框圖如圖2所示。
圖2 整體設(shè)計(jì)框圖
市面上常見(jiàn)的指紋識(shí)別模塊有半導(dǎo)體指紋識(shí)別模塊和光學(xué)指紋識(shí)別模塊,優(yōu)缺點(diǎn)對(duì)比如下表1所示。
表1 不同指紋識(shí)別模塊的優(yōu)缺點(diǎn)對(duì)比
綜上所述,主要考慮到安全、識(shí)別精度、功耗、增強(qiáng)用戶(hù)體驗(yàn)等因素,本系統(tǒng)選用了半導(dǎo)體指紋識(shí)別模塊。
半導(dǎo)體一體化指紋產(chǎn)品,具有體積小、功耗低、接口簡(jiǎn)單等特點(diǎn),集半導(dǎo)體傳感器和指紋算法芯片為一體,可靠性高、干濕手指適應(yīng)性好、算法性能優(yōu)、指紋搜索速度快。模塊中使用的芯片符合國(guó)密二級(jí)標(biāo)準(zhǔn)和ELA4+安全級(jí)別,具備安全存儲(chǔ)、加密通訊等安全功能。
指紋識(shí)別模塊以UART為通信接口作為從屬設(shè)備,與MCU交互通信,實(shí)現(xiàn)指紋采集、錄入、刪除、搜索等一體化功能。在智能門(mén)鎖控制系統(tǒng)中,指紋模塊上電后,主控MCU會(huì)通過(guò)UART接口發(fā)送一條握手指令,如果握手成功,則模塊初始化完成,通訊方式如圖3所示。
圖3 主控MCU與指紋識(shí)別模塊的通訊
指紋開(kāi)鎖過(guò)程如下:指紋經(jīng)傳感器采集后,經(jīng)過(guò)指紋模塊對(duì)其進(jìn)行圖像處理、特征值提取、特征值匹配等一系列操作,并由指紋模塊處理完成識(shí)別匹配,輸出結(jié)果到主控MCU,如匹配成功,則驅(qū)動(dòng)電機(jī)模塊,打開(kāi)門(mén)鎖。
同時(shí),在管理菜單中設(shè)置了增加指紋和刪除指紋的功能。
本門(mén)鎖方案采用NXP公司推出的非接觸式讀寫(xiě)卡芯片MFRC522,該射頻芯片是13.56MHz非接觸式通信中高集成度讀寫(xiě)卡系列芯片,完全集成了13.56MHz下所有類(lèi)型的通信協(xié)議,支持多種工作在13.56MHz下的射頻卡讀寫(xiě)操作。其內(nèi)部發(fā)送器部分可驅(qū)動(dòng)讀寫(xiě)器天線(xiàn)與射頻卡和應(yīng)答機(jī)的通信,無(wú)需其他的電路。
MFRC522利用SPI總線(xiàn)與主控MCU進(jìn)行通訊,當(dāng)IC卡片靠近門(mén)鎖線(xiàn)圈時(shí),MFRC522對(duì)卡片信息進(jìn)行讀取后將識(shí)別結(jié)果發(fā)送給主控MCU。MCU接收到刷卡信息后通過(guò)語(yǔ)音播報(bào)的方式告知用戶(hù)刷卡是否成功。
MFRC522天線(xiàn)部分的設(shè)計(jì)原理如圖4所示。在發(fā)送部分,引腳TX1和TX2上發(fā)送的信號(hào)是由包絡(luò)信號(hào)調(diào)制的13.56MHz載波能量,經(jīng)過(guò)L1//L2和C1//C2組成的EMC濾波電路以及C3//C4、C5//C6、C7//C8組成的匹配電路,就可直接用來(lái)驅(qū)動(dòng)天線(xiàn),TX1和TX2上的信號(hào)可通過(guò)寄存器TxSelReg來(lái)設(shè)置,系統(tǒng)默認(rèn)為內(nèi)部米勒脈沖編碼后的調(diào)制信號(hào)。調(diào)制系數(shù)可以通過(guò)調(diào)整驅(qū)動(dòng)器的阻抗來(lái)設(shè)置,同樣采用默認(rèn)值即可。在接收部分,使用R1和C9以保證Rx引腳的直流輸入電壓保持在VMID,R2和C10的作用是調(diào)整Rx引腳的交流輸入電壓。
圖4 MFRC522天線(xiàn)部分原理圖
在智能門(mén)鎖控制系統(tǒng)中,密碼存儲(chǔ)在MCU中。用戶(hù)使用密碼開(kāi)鎖的過(guò)程如下:在按鍵上輸入密碼,與MCU中存儲(chǔ)的密碼比對(duì),如果正確,MCU向電機(jī)驅(qū)動(dòng)機(jī)構(gòu)供電,打開(kāi)門(mén)鎖。如果密碼輸入錯(cuò)誤,對(duì)比失敗,連續(xù)5次輸入密碼錯(cuò)誤,則啟動(dòng)報(bào)警程序,同時(shí)鎖定系統(tǒng)1分鐘,期間無(wú)法進(jìn)行任何操作。
本設(shè)計(jì)使用WIFI和藍(lán)牙模塊與手機(jī)APP連接通信實(shí)現(xiàn)遠(yuǎn)程開(kāi)鎖。智能門(mén)鎖控制系統(tǒng)連接服務(wù)器,可以實(shí)時(shí)將開(kāi)鎖信息上傳,通過(guò)手機(jī)APP獲取相關(guān)信息。同時(shí)可以通過(guò)手機(jī)APP生成臨時(shí)密碼,提供給訪(fǎng)客使用。
使用WIFI和藍(lán)牙建立無(wú)線(xiàn)通信的連接機(jī)制如圖5所示。
圖5 無(wú)線(xiàn)通信的連接機(jī)制
智能門(mén)鎖的安全可靠設(shè)計(jì)分為兩部分:無(wú)線(xiàn)傳輸?shù)臄?shù)據(jù)加密和各模塊間的一對(duì)一匹配。
本設(shè)計(jì)中的智能門(mén)鎖涉及到與手機(jī)端進(jìn)行通信,通過(guò)無(wú)線(xiàn)傳輸進(jìn)行數(shù)據(jù)的上傳與指令的下發(fā)。進(jìn)入網(wǎng)絡(luò)的數(shù)據(jù),如不進(jìn)行加密,則存在很大的安全隱患。因此,本設(shè)計(jì)對(duì)所有的網(wǎng)絡(luò)數(shù)據(jù)收發(fā)進(jìn)行了數(shù)據(jù)加密。
現(xiàn)在主流的加密算法有:對(duì)稱(chēng)加密算法DES、RC5,密鑰交換算法RSA和DH,摘要算法MD5和SHA。本設(shè)計(jì)方案選擇DES對(duì)稱(chēng)加密算法,如圖6所示。
圖6 DES算法結(jié)構(gòu)流程圖
DES算法具有極高安全性,到目前為止,除了用窮舉搜索法對(duì)DES算法進(jìn)行攻擊外,還沒(méi)有發(fā)現(xiàn)更有效的辦法。
智能門(mén)鎖系統(tǒng)包含的外圍模塊很多,每個(gè)模塊的本地?cái)?shù)據(jù)存儲(chǔ)在MCU中,可以確保安全性,否則通過(guò)對(duì)模塊進(jìn)行替換,可以實(shí)現(xiàn)破解。
刷卡模塊、密碼輸入模塊都將本地?cái)?shù)據(jù)存儲(chǔ)于芯片的FLASH中,不易被破解。指紋識(shí)別模塊將指紋數(shù)據(jù)存儲(chǔ)于外部存儲(chǔ)芯片中,故在此處增加MCU與指紋模塊間的設(shè)備ID驗(yàn)證流程,實(shí)現(xiàn)MCU與指紋模塊一對(duì)一匹配,避免被其他指紋模塊替換,造成安全隱患。
智能門(mén)鎖的低功耗主要從MCU的低功耗和外設(shè)的低功耗兩方面考慮,同時(shí)也要考慮MCU的引腳配置。
MCU的引腳配置要根據(jù)其連接情況(未連接、接3.3V、MCU輸出、MCU輸入),按照當(dāng)前需要將引腳配置成輸入、輸出上拉等適合的配置方式,才能達(dá)到低功耗運(yùn)行的目的。
表2所示為MCU的運(yùn)行模式介紹。
根據(jù)系統(tǒng)運(yùn)行需要,外設(shè)模塊會(huì)產(chǎn)生中斷,可以來(lái)喚醒MCU。對(duì)比功耗和喚醒需要,我們選擇了停止模式。
為滿(mǎn)足外設(shè)模塊低功耗設(shè)計(jì),采取了以下措施:
(1)指紋模塊中,指紋傳感器長(zhǎng)供電,在感應(yīng)到手指時(shí),喚醒MCU,同時(shí)MCU向指紋模塊主控單元供電,完成指紋識(shí)別過(guò)程。操作完成后,再次對(duì)指紋模塊主控單元斷電。
(2)按鍵模塊,配置按鍵模塊的寄存器為低功耗運(yùn)行模式。
(3)刷卡模塊,電源的供給采用間歇式上電的方式。在MCU運(yùn)行過(guò)程中,間歇式地關(guān)閉和打開(kāi)模塊的電源,這樣就可以做到尋卡和休眠來(lái)回切換。
表2 MCU的運(yùn)行模式
(4)按鍵背光燈部分,電源的供給也是由MCU來(lái)控制通斷的。在有按鍵需要輸入,以及喚醒系統(tǒng)時(shí),背光燈電源打開(kāi),驅(qū)動(dòng)LED燈。在完成操作后,切斷背光燈的電源。
在完成了上述對(duì)于MCU引腳、低功耗運(yùn)行模式、外設(shè)電源管理部分的配置,整個(gè)系統(tǒng)就可以處于低功耗的運(yùn)行環(huán)境了。
本智能鎖專(zhuān)用MCU在設(shè)計(jì)上結(jié)合了當(dāng)前市場(chǎng)需要,在資源規(guī)劃方面,將特定的按鍵、語(yǔ)音等功能集成在MCU中,節(jié)省了外部資源,也降低了成本。
在智能鎖需求不斷增加的今天,以方案資源化提供方式,將安全、可控的自主研發(fā)MCU應(yīng)用其中,真正做到自主、安全、可控,保護(hù)用戶(hù)使用安全,同時(shí)增強(qiáng)用戶(hù)體驗(yàn)。