APP下载

基于MATLAB的汽车智能启动系统的开发

2018-01-15李伟民

科学与财富 2018年36期

摘要:本文采用MATLAB开发汽车智能启动系统,通过Matlab statflow对智能启动系统的所有逻辑进行建模,将启动逻辑分为无钥匙进入,无钥匙启动,钥匙定位和認证三部分,用图形化的编程方式实现逻辑。在进行实车测试前,先在MATLAB的仿真环境下进行仿真测试,确认逻辑全部实现后通过MATLAB生成嵌入式代码,最后进行实车验证,通过这种开发方法能够大大减小测试时间,提高开发效率和代码质量,减少代码维护成本。

关键词:智能启动;PEPS;MATLAB;Auto code

1.引言

针对PEPS控制器的复杂功能和安全设计要求,本文提出一种基于模型开发PEPS的系统方案设计,通过MATLAB STATEFLOW对PEPS控制器的所有功能逻辑进行建模,将复杂的功能分割成不同的功能模块,再对各个子功能模块建立模型,并且在MATLAB的环境下对设计的各个子功能模型进行仿真验证,确保所有的模型设计都满足设计方案,之后再在实车上对功能进行验证,通过这种开发方法能够大大减小测试时间,提高开发效率和代码质量,减少代码维护成本,同时提高产品的安全性能。

2.系统功能

PEPS系统允许用户在不直接操作智能钥匙的前提下,实现靠近车辆时对车门进行解锁,闭锁,进入车辆后进行一键式启动,在用户离开车辆时车门自动上锁等功能。

(1)智能进入(Passive Enter)功能描述

解锁:用户携带智能钥匙,将手探入车门的门拉手内,门拉手将解锁命令发送给PEPS,PEPS根据用户操作的区域驱动天线对钥匙进行定位,确认钥匙合法并且钥匙在车外,PEPS控制器发送解锁命令给车身控制器BCM,BCM驱动电机进行解锁操作

闭锁:用户携带智能钥匙,接触车门上的闭锁触摸开关,门拉手将闭锁命令发送给PEPS,PEPS根据用户操作的区域驱动天线对钥匙进行定位,确认钥匙合法并且钥匙在车外,在四门,两盖(引擎盖、后备箱盖)都关闭的情况下,PEPS控制器发送闭锁命令给车身控制器BCM,BCM驱动电机进行闭锁操作

(2)智能启动(Passive start)功能描述

本地启动:用户携带自能钥匙进入车内,在发动机处于熄火状态,当前车辆档位处于P或N档时踩下制动踏板并按下一键启动开关,PEPS控制器会驱动低频天线发送唤醒智能钥匙信号(125KHz),当智能钥匙收到唤醒信号时,会将自身的场强强度通过高频信号传回PEPS控制器,PEPS控制器根据钥匙传回的场强值与标定数据进行比对,确认钥匙是否在车内,当确认钥匙在车内后,PEPS控制器与ESCL进行加密认证,认证通过后,PEPS控制器发送启动请求给发动机控制器(EMS)进行启动。

远程启动:用户可以通过手机APP对车辆进行启动操作,用户操作手机APP发送启动请求,通过无线网络,手机将启动请求发送到T-Box模块,T-Box模块接收到手机发送的启动请求后,会与PEPS进行加密的认证,当加密认证通过后,PEPS会把这个启动请求发送给发动机控制器(EMS),发动机控制器(EMS)将发动机启动。

3.模型的设计与仿真测试

3.1 模型的设计

(1)智能进入(Passive Enter)模型设计

我们首先将智能进入的模型分为4部分,第一部分用来对底层或CAN网络输入的信号进行处理,提取有效信息。第二部分用来触发对钥匙的认证请求,根据第一部分提出出来的有效信息,如果检测到用户在对门把手进行操作,此时需要对用户携带的钥匙进行认证,已确认钥匙的合法性。第三部分用来触发对钥匙的定位,在进行解闭锁的操作前需要确认钥匙是否在车外。第四部分为睡眠模块,当没有人去对汽车进行智能进入操作时,车辆需要进入睡眠状态,来减少电量的消耗。

(2)远程启动(Remote Start)模型设计

我们将远程启动的模型分为3个部分,第一部分用于接收T-Box通过CAN网络传递给PEPS的加密认证数据,第二部分用于提取PEPS存放在EEPROM中的SK码,第三部分实现认证算法。

在进行模型设计时通过将功能划分成不同的模块,去实现单个的简单功能,再将多个模块组合起来实现一个完整功能,这样可以减少模型的复杂度,同时在进行模型设计过程中,由于单个模块的功能较为简单,减少了代码出现Bug的可能。

3.2模型的仿真测试

在MATALB开发环境中,能够对已建好的模型进行仿真测试,已确认是否满足预期需求。首先建立测试模型,在原有的模型基础上加入SCOPE 和SIGNAL BUILDER两个组件,SIGNAL BUILDER组件可以用来模拟输入信号,以及预期的输出信号,SCOPE可以用来观测实际输出信号是否与预期输出信号相同。然后编写测试用例,测试用例需要尽可能的覆盖到模型的每个判断条件和执行路径。在运行仿真测试后,MATLAB会输出一个测试覆盖度报告,里面会将测试用例没有覆盖到的条件和路径都列举出来,之后可以依据覆盖度报告更新测试用例。同时MATLAB提供了每个信号的监控接口,可以通过M脚本的方式,将每条测试用例的执行结果通过脚本保存到文档当中,可以提高仿真效率,不用每条用例都自己比对结果。

4.结论

针对智能启动系统的复杂功能和安全设计要求,本文提出的基于MATLAB开发汽车智能启动系统的设计方案,

能够很好的实现启动系统的各个功能,并且基于图形化的设计方法,提高了代码的质量和可维护性。由于能够在开发的过程中就对每个子功能进行仿真测试,提高了产品的安全和可靠性。

参考文献:

[1]威廉.快速成长的中国汽车电子产业[J].电子与电脑,2006年04期

[2]李伯成.嵌入式系统可靠性设计[M].北京:电子工业出版社,2006.1

个人简介:李伟民,男,1991-,汉,籍贯江西,就职单位:LEAR,无职称,本科学历,主要研究:汽车零部件软件开发。