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