孟 涛,孙乾程,王 伟
(中电海康无锡科技有限公司,江苏 无锡 214000)
随着生活水平的提高,人们对安全和便利性的要求也越来越高。伴随物联网的逐步发展和普及,智能锁凭借无需携带钥匙、支持远程解锁等优点,逐步普及。
为了满足当前市场的需要,本文自主研发了用于智能锁的MCU,将智能锁特定的按钮、语音等外设资源在其中固化,实现了指纹、密码、刷卡、远程解锁等多种开锁方式,同时具有良好的安全性、满足超低功耗的运行模式。
智能门锁由自主研发主控MCU、指纹识别模块、RFID刷卡模块、按键模块、OELD屏幕显示模块、语音导航模块、电源模块、联网模块等部分组成。整体设计框图如图1所示。
图1 整体设计框图
系统工作原理如下:
用户使用时,开启电源,整个系统上电工作。MCU首先检测电源电压是否正常,如果电压过低则向用户报警提示更换电池。MCU作为整个系统的控制核心,实时读取指纹、刷卡、按键、蓝牙、WIFI等模块传递进来的信息,然后做出相应的动作;指纹识别、输入密码对比、读取卡片信息、远程控制等方式认证通过后,MCU通过电机驱动模块打开门锁,同时OLED屏幕显示、语音播报开锁成功相关信息。
HIK32L301是智能锁专用32位低功耗MCU控制电路,片内集成ARM Cortex-M3 RISC内核、触摸按键、音频导航DAC、硬件RTC,具有多种低功耗模式。特点如下:
存储器:256kB Flash32kB RAM;
电源系统:2.6V~5.5V供电、内置LVT低压检测功能、内置LDO 1.5V提供数字模块工作电压;
时钟系统:HXT 4 ~16MHz、LXT 32.768kHz、HRC 32MHz、LRC 38.4kHz。其中,ULRC :1kHz超低 RC振荡器,睡眠模式下可供 WDT、RTC、LTIMER工作;
复位系统:POR上电复位、BOR低压复位、外部按键复位、WDT复位、异常软复位;
中断系统:ARM内置中断向量控制器(NVIC)、低延迟的异常和中断处理、支持中断嵌套;
工作模式支持以下情况:
运行模式:小于220μA/MHz,CPU和外设均激活;
睡眠模式:小于 63μA/MHz,CPU 停止工作,内核时钟关闭,外设仍可工作;
深度睡眠模式: 小于 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电源区完全掉电;RTC和备份寄存器可以工作;
DMA:12通道,支持RAM、Flash与外设之间的DMA操作;
安全系统:AES&RNG&CRC,AES256/128可配置,CRC-8、CRC-16、CRC-32、RNG 硬件真随机数发生器;
WDT:1个18-bit WDT,支持各种工作模式的看门狗复位使能和关闭;
Timer(PWM):4 个 16-bit Timer,支持三通道比较、捕获功能,支持PWM输出,占空比、死区可配置;
LTimer:1个 16-bit低功耗 Timer、 支持 RTC触发、比较器触发、循环计数、PWM输出;
RTC:1个24-bit RTC,万年历、自动闰年闰月,具有软件可调整、温度补偿功能;
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路),比较电平可配置为内部1.25V、内部2.5V、DAC输出和外部输入电平;
封装:LQFP80,QFN64。
系统框图如图2所示。
图2 整体设计框图
市面上常见的指纹识别模块有半导体指纹识别模块和光学指纹识别模块,优缺点对比如下表1所示。
表1 不同指纹识别模块的优缺点对比
综上所述,主要考虑到安全、识别精度、功耗、增强用户体验等因素,本系统选用了半导体指纹识别模块。
半导体一体化指纹产品,具有体积小、功耗低、接口简单等特点,集半导体传感器和指纹算法芯片为一体,可靠性高、干湿手指适应性好、算法性能优、指纹搜索速度快。模块中使用的芯片符合国密二级标准和ELA4+安全级别,具备安全存储、加密通讯等安全功能。
指纹识别模块以UART为通信接口作为从属设备,与MCU交互通信,实现指纹采集、录入、删除、搜索等一体化功能。在智能门锁控制系统中,指纹模块上电后,主控MCU会通过UART接口发送一条握手指令,如果握手成功,则模块初始化完成,通讯方式如图3所示。
图3 主控MCU与指纹识别模块的通讯
指纹开锁过程如下:指纹经传感器采集后,经过指纹模块对其进行图像处理、特征值提取、特征值匹配等一系列操作,并由指纹模块处理完成识别匹配,输出结果到主控MCU,如匹配成功,则驱动电机模块,打开门锁。
同时,在管理菜单中设置了增加指纹和删除指纹的功能。
本门锁方案采用NXP公司推出的非接触式读写卡芯片MFRC522,该射频芯片是13.56MHz非接触式通信中高集成度读写卡系列芯片,完全集成了13.56MHz下所有类型的通信协议,支持多种工作在13.56MHz下的射频卡读写操作。其内部发送器部分可驱动读写器天线与射频卡和应答机的通信,无需其他的电路。
MFRC522利用SPI总线与主控MCU进行通讯,当IC卡片靠近门锁线圈时,MFRC522对卡片信息进行读取后将识别结果发送给主控MCU。MCU接收到刷卡信息后通过语音播报的方式告知用户刷卡是否成功。
MFRC522天线部分的设计原理如图4所示。在发送部分,引脚TX1和TX2上发送的信号是由包络信号调制的13.56MHz载波能量,经过L1//L2和C1//C2组成的EMC滤波电路以及C3//C4、C5//C6、C7//C8组成的匹配电路,就可直接用来驱动天线,TX1和TX2上的信号可通过寄存器TxSelReg来设置,系统默认为内部米勒脉冲编码后的调制信号。调制系数可以通过调整驱动器的阻抗来设置,同样采用默认值即可。在接收部分,使用R1和C9以保证Rx引脚的直流输入电压保持在VMID,R2和C10的作用是调整Rx引脚的交流输入电压。
图4 MFRC522天线部分原理图
在智能门锁控制系统中,密码存储在MCU中。用户使用密码开锁的过程如下:在按键上输入密码,与MCU中存储的密码比对,如果正确,MCU向电机驱动机构供电,打开门锁。如果密码输入错误,对比失败,连续5次输入密码错误,则启动报警程序,同时锁定系统1分钟,期间无法进行任何操作。
本设计使用WIFI和蓝牙模块与手机APP连接通信实现远程开锁。智能门锁控制系统连接服务器,可以实时将开锁信息上传,通过手机APP获取相关信息。同时可以通过手机APP生成临时密码,提供给访客使用。
使用WIFI和蓝牙建立无线通信的连接机制如图5所示。
图5 无线通信的连接机制
智能门锁的安全可靠设计分为两部分:无线传输的数据加密和各模块间的一对一匹配。
本设计中的智能门锁涉及到与手机端进行通信,通过无线传输进行数据的上传与指令的下发。进入网络的数据,如不进行加密,则存在很大的安全隐患。因此,本设计对所有的网络数据收发进行了数据加密。
现在主流的加密算法有:对称加密算法DES、RC5,密钥交换算法RSA和DH,摘要算法MD5和SHA。本设计方案选择DES对称加密算法,如图6所示。
图6 DES算法结构流程图
DES算法具有极高安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。
智能门锁系统包含的外围模块很多,每个模块的本地数据存储在MCU中,可以确保安全性,否则通过对模块进行替换,可以实现破解。
刷卡模块、密码输入模块都将本地数据存储于芯片的FLASH中,不易被破解。指纹识别模块将指纹数据存储于外部存储芯片中,故在此处增加MCU与指纹模块间的设备ID验证流程,实现MCU与指纹模块一对一匹配,避免被其他指纹模块替换,造成安全隐患。
智能门锁的低功耗主要从MCU的低功耗和外设的低功耗两方面考虑,同时也要考虑MCU的引脚配置。
MCU的引脚配置要根据其连接情况(未连接、接3.3V、MCU输出、MCU输入),按照当前需要将引脚配置成输入、输出上拉等适合的配置方式,才能达到低功耗运行的目的。
表2所示为MCU的运行模式介绍。
根据系统运行需要,外设模块会产生中断,可以来唤醒MCU。对比功耗和唤醒需要,我们选择了停止模式。
为满足外设模块低功耗设计,采取了以下措施:
(1)指纹模块中,指纹传感器长供电,在感应到手指时,唤醒MCU,同时MCU向指纹模块主控单元供电,完成指纹识别过程。操作完成后,再次对指纹模块主控单元断电。
(2)按键模块,配置按键模块的寄存器为低功耗运行模式。
(3)刷卡模块,电源的供给采用间歇式上电的方式。在MCU运行过程中,间歇式地关闭和打开模块的电源,这样就可以做到寻卡和休眠来回切换。
表2 MCU的运行模式
(4)按键背光灯部分,电源的供给也是由MCU来控制通断的。在有按键需要输入,以及唤醒系统时,背光灯电源打开,驱动LED灯。在完成操作后,切断背光灯的电源。
在完成了上述对于MCU引脚、低功耗运行模式、外设电源管理部分的配置,整个系统就可以处于低功耗的运行环境了。
本智能锁专用MCU在设计上结合了当前市场需要,在资源规划方面,将特定的按键、语音等功能集成在MCU中,节省了外部资源,也降低了成本。
在智能锁需求不断增加的今天,以方案资源化提供方式,将安全、可控的自主研发MCU应用其中,真正做到自主、安全、可控,保护用户使用安全,同时增强用户体验。