基于指纹识别与LIN总线的汽车车门系统设计
2016-11-17索健文许景涛
凌 滨, 索健文, 许景涛
(东北林业大学 机电工程学院, 哈尔滨 150040)
基于指纹识别与LIN总线的汽车车门系统设计
凌 滨, 索健文, 许景涛
(东北林业大学 机电工程学院, 哈尔滨 150040)
为了提高汽车的安全性能,完善传统汽车的防盗问题,提出了一种新型的汽车门门锁控制方法,该方法将指纹识别技术结合LIN(local inerconnect network)总线网络对车门锁进行控制;其中通过主控节点微控制器ST792F150JDV1QC和从节点控制器ST2124J完成LIN网络数据通信,实现LIN网络的通信功能和对网关的控制,从而实现对车门锁系统的控制;该方法的指纹识别部分Gabor滤波器指纹识别方法,使用八通道的Gabor滤波器对预处理的指纹图像进行滤波,提取指纹图像的局部和全局指纹特征,使用欧氏距离方法对提取的指纹特征数据进行匹配;匹配结果经过LIN从节点控制器串行口接收,转化成LIN帧格式,传递至总线,主节点控制器接收分析,发送对应命令,实现门锁的开关;对系统进行实物搭建和系统测试,实验结果表明该方法能够有效的通过指纹实现对车门锁的开关控制,验证了提出方法的可行性。
LIN总线;指纹识别;车门控制;车门主从节点;Gabor滤波算法
0 引言
科学技术的发展和人民生活水平的日益提高,使汽车产销量越来越多,随之而来的汽车盗窃现象也在不断提高[1]。其中传统的汽车防盗技术已经不能满足现实的需要,而现在大部分汽车以机械锁和电子锁为主,安全性能较差。如何有效防止汽车被盗也成了车主比较关心的问题。指纹识别是一种知名以及公开的生物技术,因为它利用人指纹独特性和随着时间不变性和不易伪造性[2]。可以将指纹识别模块与LIN总线车门节点MCU连接,通过车主指纹以及钥匙来能开启车门。有效提高了防盗系统的安全性、灵活性和可靠性,避免盗窃事件的发生,具有一定的实用价值和经济价值[3]。
1 设计原理
本系统中,采用模块化的方式完成防盗系统的设计。主要分为自动指纹识别系统和汽车LIN网络模块。自动指纹识别系统由指纹识别传感与指纹识别算法处理器组成,而LIN网络以LIN主节点、从节点和LIN总线组成。人体指纹图像通过指纹识别传感器采集,经指纹识别处理器处理,提取指纹特征数据,存入数据库,之后将输入的指纹特征数据与已有数据比对。为了不改变原本车身布置,不给车的排线布置增加负担,比对结果直接通过串行口传递至LIN从节点微控制器,将结果转化为LIN帧的格式,传递至LIN总线,主节点接收并解析,发布相应命令。匹配成功,发布车门锁打开命令。如果匹配出错,系统将车门锁定,无法打开车门。
1.1 LIN网络结构
本系统研究对车门的控制。系统中LIN总线网络由一个车门主控节点和4个从节点组成。具有监控总线、数据校验和标识符双重奇偶校验等错误检测功能,保证数据传输的可靠性[4]。主控节点负责监控总线信息,接收各个从节点的开关状态信号和请求信息。LIN总线信息传输速率最大可达20 kb/s,将指纹识别传感器采集的图像与指纹库数据匹配,结果信号传递到LIN从节点,经过单元控制器处理转换成LIN帧的格式传递到LIN总线,传入主控节点。根据匹配结果失败,主节点给各个车门锁锁控制单元发送命令来控制车门的开关, 子节点接收到命令后, 触发电动机传动机构, 操纵车门开锁或关锁。主节点处理从节点发出的请求信息,发出相应的指令和执行中央门锁的开关。从节点之间不能直接通信,但是所有节点都听总线,主节点的请求可以处理从节点之间通信[5]。下图1为系统LIN总线拓扑结构。
图1 LIN总线拓扑结构
LIN帧包括报文头和响应部分[6]。想发起与从节点的通信,主节点需发送报文头。如果主节点想发送数据到从节点,需要继续发送的响应部分。如果主节点向从节点请求数据,从节点发送响应部分。LIN协议是面向对象的,而不是面向地址。标题包含标识符来标识LIN框架和它所包含的数据[7]。不同的节点可以接收同一帧数据。
1.2 指纹识别模块
指纹识别模块直接安放到左前车门。由自动指纹识别系统实现,包括3个基本阶段:(1)指纹采集,采集需要验证的指纹。(2)特征提取,通过八通道Gabor滤波器处理指纹图像,提取全局特征数据。(3)决策,提取采集指纹的特征数据与指纹库中数据对比。比较前指纹库中存储的模板和需要验证的指纹之间的指纹特征数据,来确定他们匹配等级。将匹配结果作为高低电平输入到LIN从节点。若匹配结果成功则为高电平,用户可以打开车门。若匹配失败则为低电平,LIN主控节点关闭中控锁,无法打开车门。即使有钥匙也无法打开车门。结果信号经继电器转化成高地电平经过MCU处理,以LIN帧的格式发送到总线上,传入主控节点[8]。系统图如下图2。
图2 指纹识别系统图
提高匹配速度,降低误识率与拒真率是指纹识别系统模块的关键。系统中采用Gabor滤波器的指纹识别算法,使用Gabor滤波器捕获局部和全局特征,得到特征编码,而指纹匹配是基于候选指纹与模板指纹的FingerCode之间的欧氏距离,提高了系统的运算速度,满足了系统的实时性。
首先需要确定输入图像的核心点。通过滤波方法实现。滤波器为:
(1)
其中,f(x,y)为高斯函数:
(2)
筛选出核心点后,以中心点为中心做同心圆,分割成若干个环形区域,再将每个环形区域分成若干扇形区域[9]。每个扇区的灰度值表示指纹在该区域的局部信息,结合在一起描述了指纹特征区域的全局信息[10]。
对裁剪之后的指纹图像进行归一化,来消除因为传感器表面污浊、光源噪声等产生的影响。
本文采用8方向Gabor滤波器,可以提取指纹全局特征,又可以提取指纹的局部特征。二维Gabor滤波器定义如下:
(3)
其中:xθ=xsinθ+ycosθ,yθ=xcosθ-ysinθ,w=2π/k。θ是滤波器的方向因子,θ∈{0°,22.5°,45°,67.5°,90°,112.5°,135°,157.5°},通常k=10。
对于提取的指纹特征,采用欧氏距离方法来判断是否为同一人体指纹。
2 系统硬件设计
LIN总线通信采用标准的SCI(UART)硬件接口、单主多从不需要稳定时基,只需要三根线连接,有效地降低了硬件成本[11]。硬件以左前车门从节点控制器为主,在车门处安置指纹识别传感器,匹配结果传给从节点控制器通过总线传递到主节点控制器,主节点发送命令操纵中控锁开关。系统硬件设计如图3所示。
图3 硬件设计图
考虑到系统的抗高低温、抗震动以及较高抗干扰性,硬件左前车门从节点MCU选用意法半导体公司的8位核心微控制器ST72124J,具有较高的抗毁性和抗干扰性。其外围设备有看门狗定时器,两个十六位定时/计数器,而且还具有同步串行接口SPI和异步串行接口SCI两种通信接口,在软件的控制下可实现4种省电模式,停止、活动停止、待和慢,大大降低了功耗。通过I/O接口接到LIN接收器的EN引脚,可以控制收发器的开关,来降低功耗。
主控节点MCU则选用外围自带CAN模块的16位微控制器ST792F150JDV1QC。适合于高度集成,低成本场合。无需扩展存储单元,I/O资源完全满足对车门乃至车身控制的需求。
微控制器外围选用L9638LIN收发器,符合LIN规范,与MCU构成LIN总线上的通信节点。L9638是单芯片总线驱动器,实现LIN网络的双向串行通信。通常芯片处于睡眠低功耗状态,可以由LIN总线或外部信号(边沿触发)唤醒。为了降低功耗微控制器能够关闭LIN收发器通过L9638“en”输入引脚。在这种状态下对LIN总线的任何活动,将导致L9638唤醒电压调节器通过“INH”引脚。另一个唤醒源是l9638“WUP”引脚可用于接触传感。该引脚上的任何边缘也会唤醒器。L9638和ST2124J微控制器连接方式见系统硬件电路图4。
指纹识别硬件系统中,由于算法运算量过大,过程复杂,为了提高整个硬件系统的效率以及实时性,将指纹识别模块采集指纹和指纹图像的后处理分开完成。采集部分使用FPC1011F指纹传感器采集指纹,该芯片采用专业的指纹识别芯片PS1802DSP和最优化的指纹算法,指纹成像效果好,此芯片抗干扰能力强,而且耐磨[12]。在汽车环境中,具有较高的抗干扰的性,在零下45度至零上85度可以正常工作。
算法处理部分选用高性能的DSP处理芯片TMS320VC5410微处理器对采集到的指纹图像进行后处理包括特征提取,指纹库的存储,以及最终特征数据的匹配。指纹的采集和处理分开执行提高了处理速度,满足系统对实时性的要求。指纹识别模块连接方式见系统硬件电路图4。
图4 系统硬件电路连接图
指纹识别模块与LIN模块连接时,指纹识别的GPIO口与LIN从节点控制器的P1.2和P1.3接口连接,发送高地电平表示匹配的成功和而从节点的控制器SPI口与主节点控制区SPI口连接,将从节点控制器的P0.4接口接地,主节点控制器NSS口接高电平,这样就可以实现从模式。而且系统具备较高的抗毁性、抗干扰。能够抵抗温度、震动等影响。
3 系统软件设计
系统软件设计包括两部分,由LIN主节点与从节点组成的LIN网络部分和指纹识别部分。
LIN网络中主节点作为车门锁主控空节点,负责采集车门锁从节点采集的开关量信号,也就是指纹识别匹配结果信号,信号采集芯片将开关量信号缓存起来,传递给MCU,转换成LIN帧的格式,对应相应的标识符,来发送相应的命令。信号采集芯片外围提供了反映开关状态变化的终端引脚,直接与主控就节点微控制器的IRQ外部中断引脚连接,MCU通过中断信号进行读取。而左前门锁从节点负责接收开关信号,经过从节点微控制器处理,以LIN帧的格式传递到LIN总线上,最终由主控节点来处理并发送相应的命令。4个从节点的流程一致,其中左前门从节点应用接口程序中包含指纹识别结果接收转换功能。下面为LIN从节点流程如下图5。
图5 LIN从节点流程图
在LIN软件中,主要包含协议处理程序代码、应用程序接口代码以及LIN参数的配置。首先需要初始化应用程序接口,也就是I/O接口、定时器、串行接口等。LIN软件是中断驱动的,意味着你不必调查任何变量来处理LIN通信。当总线上有活动出现时,产生一个中断并自动处理协议,则进入LIN中断服务程序和启动LIN帧的解码。协议处理程序是完全自治,它在后台运行。处理指纹匹配结果信号的软件部分由应用程序接口代码来完成。主要处理3种帧,左前车门节点请求帧、主节点回应帧以及主节点对所有门锁从节点发送命令帧。由DataRequest_Notification函数和DataReceived_Notification函数实现。LIN主节点流程图下图6。
图6 LIN主节点流程图
指纹识别模块软件也划分为模块的形式。主要包括对指纹采集程序、指纹算法处理程序。还包括图像的保存、控制底层程序,首先需要对需要的接口外围相关驱动程序。可以保证系统实时性。对于匹配结果,通过产生中断信号来表示高低电平传递给LIN从节点。指纹识别流程如下图7。
4 系统测试
为了测试系统的可行性以及抗干扰性,使用的样本具有多样性,包括带有油污以及灰尘的手指,同时测试环境模拟汽车工作的环境。首先对指纹识别模块进行设定。将指纹识别算法程序下载到模块中,先进行指纹库的录入如图所示,同一指纹成功录入三次会存到指纹库中并且编码,之后进行指纹比对。进行100次实验的验证,测试的识别率结果如表1。
图7 指纹识别系统流程图
图8 指纹录入
图9 指纹对比
块与从节点控制器模块连接,从节点控制器与主节点控制器连接。对系统上电,将程序编写到板子中,初始化,进行实验。LIN模块与指纹识别模块通信接收稳定,能正常工作接收指纹识别结果,测试结果证明了设计的可行性。通过观察LIN通信的帧数据来测试系统实际效果,用1表示开锁,0表示关锁。系统的测试结果如下表所示。
表1 测试结果
5 总结
系统将生物识别技术与汽车LIN网络对车身的控制相结合,为汽车设计了比传统汽车防盗安全性能更高的防盗系统。整个系统的设计,不会对汽车成本问题以及汽车各种复杂的布线问题增加难度。此外指纹识别算法中加入改进的Gabor滤波算法有效降低了指纹误识率与拒真率,对使用者不会造成识别率低而出现尴尬的问题。最后通过测试表明了本文设计的防盗系统可实现和网络通信可靠性以及较高的抗毁性。有效的解决了中端低端汽车安全问题。
[1] 孙 伟. 基于DSP的电动汽车驱动控制系统的设计[J]. 控制工程, 2013, 20(4): 667-675.
[2] Daniel Peralta, Mikel Galar, Isaac Triguero et al. Minutiae filtering to improve both efficacy and efficiency of fingerprint matching algorithms[J]. Engineering Applications of Artificial Intelligence, 2014, 32(3): 37-53.
[3] 边文俊. 嵌入式无线智能汽车防盗系统的开发与应用[J]. 内蒙古大学学报(自然科学版),2012, 43(2): 18187.
[4] 廖先莉. 基于CAN/LIN总线的车载通信网络设计[J]. 成都大学学报(自然科学版), 2014, 33(4):354-357.
[5] 姜义成. 基于LIN总线的雨刮电机自动控制系统的设计[J]. 计算机测量与控制, 2014, 22(12): 3970-3972.
[6] Terçariol W. L. Analogue control of the slew-rate in LIN bus digital transitions using translinear circuits[J]. Analog Integrated Circuits and Signal Processing, 2012, 72 (2): 325-331.
[7] H8/300H Tiny Series LIN(Local Interconnect Network)Application Note: Master, Renesas Technology[Z]:2010:26-28.
[8] 汪 淼. 基于LIN总线的车身控制系统设计[J]. 合肥工业大学学报(自然科学版), 2009, 32(1): 93-96.
[9] Li S, Shawe-Taylor J. Comparison and fusion of multi resolution features for texture classification[J]. Pattern Recognition Letters, 2005, 26(3): 633-638.
[10] 贺 颖. 应用 Gabor滤波的指纹识别算法的研究和实现[J]. 计算机工程与应用, 2010, 46(12): 17175.
[11] 张 昱. 基于CAN/LIN混合网络的车门控制系统[J]. 电气自动化, 2013, 35(3): 36-38.
[12] 陈文燕. 指纹传感器FPC1011F在ARM 9指纹采集系统中的应用[J]. 中北大学学报(自然科学版), 2011, 32(5): 642-647.
Design of Automotive Door System Based on Fingerprint Identification and LIN Bus
Ling Bin,Suo Jianwen,Xu Jingtao
(College of Machinery Electricity, Northeast Forestry University, Harbin 150040,China)
In order to improve the security of the traditional car and perfect, a new type of door lock control method for automobile door is presented, which jointed the vehicle LIN bus network and the fingerprint recognition technology to control the door lock. Data communication achieved by the ST792F150JDV1QC as the main control node microcontroller, the ST2124J as the slave node controller for realize the communication function of LIN network and the control of the gateway. The method’s fingerprint identification section based on Gabor filter, fingerprint image is carried out using eight channels of Gabor filter, to extract the fingerprint features of the fingerprint image The fingerprint feature is matched with the Euclidean distance method in fingerprint verification. The matching result is received from the node controller serial port by LIN, converted into LIN frame format, transfered to bus, master node controller received and analyzed to send command to realize the door lock switch. To built and test the system, experimental results show that the method can effectively control the switch control of the car door lock by means of fingerprint, the feasibility of the proposed method is verified.
LIN bus; fingerprint identification; door control; door master and slave node;Gabor filtering algorithm
2015-09-22;
2015-11-04。
凌 滨(1962-),男,黑龙江哈尔滨人,硕士学位,硕士研究生导师,副教授,主要从事电力测量和汽车总线方向的研究。
1671-4598(2016)03-0193-03
10.16526/j.cnki.11-4762/tp.2016.03.052
TP202
A