基于XC2000的智能进入及启动系统基站软件设计*

2019-05-28 01:31刘洪飞汪春华白稳峰李卫朋
汽车技术 2019年5期
关键词:基站电源钥匙

刘洪飞 汪春华 白稳峰 李卫朋

(1.河北工业大学,天津 300132;2.中国汽车技术研究中心有限公司,天津 300300)

主题词:智能进入及启动系统 基站 Stateflow 硬件在环测试 软件在环测试

1 前言

电子技术在汽车上的应用促使汽车防盗系统日益完善,安全性不断提高。遥控门禁(Remote Keyless Entry,RKE)系统需要操作钥匙才能进行解、闭锁,便利性较低,而且单向认证通信防盗安全性不高。智能进入及启动(Passive Entry&Passive Start,PEPS)系统与钥匙进行低频和高频双向认证通信,无需操作钥匙即可解、闭锁车门和起动发动机,具有较高的安全性、便利性和舒适性。

汽车电子系统的复杂性和成本日益增加,使其开发方式逐渐转变为基于模型的方式[1]。在产品开发过程中,功能和需求的变化导致源代码不断变化,因此,软件功能检测和代码自动生成技术越来越重要。Stateflow是集成于Simulink中的图形化设计与开发工具,用于控制系统中复杂控制逻辑的建模[2],结合Simulink可对系统功能进行仿真测试,验证控制逻辑的准确性。使用Embedded Coder工具能够自动生成嵌入式C代码,对汽车PEPS系统的设计有重要意义。

配备PEPS系统的汽车数量逐年上升,德国大陆、日本电装、德尔福、博世等企业占领了PEPS系统的主要市场份额。我国也在自主开发,但由于技术因素和成本限制,产品有待进一步完善。本文提出基于XC2000的PEPS系统基站软件设计方案,参考AUTOSAR架构设计软件程序,阐述了系统建模和代码自动生成过程,并使用硬件在环测试系统验证了基站功能。

2 PEPS系统组成和功能

2.1 PEPS系统组成

PEPS系统总体结构如图1所示。PEPS系统基站复杂性日益提高,对微控制器(Microcontroller Unit,MCU)的要求较高,MCU的选型直接影响基站的可靠性和稳定性,综合考虑系统需求和成本,选用英飞凌公司的XC2000系列芯片作为基站的MCU,其为16位MCU,具有32位处理器性能,存储空间大、性能稳定、耗能少,能够满足系统需求。

图1 PEPS系统总体结构

基站与钥匙模块进行无线通信认证,通过天线测量钥匙场强,确定钥匙位置。采集外开手柄微动开关、一键起动开关、制动踏板、离合器踏板和挡位信号,在MCU内部处理后驱动状态指示灯显示电源状态,驱动ACC和IG继电器实现电源状态切换等。MCU与电动转向柱锁(Electrical Steering Colum Lock,ESCL)模块进行LIN通信完成诊断和解、闭锁控制,与车身控制器(Body Control Module,BCM)、发动机管理系统(Engine Manage⁃ment System,EMS)等电子控制单元进行CAN通信,完成车门解、闭锁和身份认证等。

2.2 PEPS系统功能

2.2.1 无钥匙进入功能

用户携带钥匙进入有效探测区域内时,触动外开手柄微动开关后,基站通过低频天线发送低频唤醒信号,钥匙验证该信号并检测当前位置的场强,如验证结果与内部存储的数据相匹配且场强高于钥匙的预设值,钥匙被唤醒,将低频场强反馈给基站,基站利用多个低频场强的强弱程度综合判断钥匙位置。

钥匙被唤醒后将ID通过高频信号发送给基站,基站验证ID合法后向钥匙发送验证码,钥匙采用特定的跳转码算法对该验证码进行数据加密,并将加密结果反馈至基站[3]。基站将加密数据与自身的计算结果进行比对,如两者匹配,则将钥匙认证信息、解、闭锁请求和钥匙位置等信息通过CAN总线发送至BCM,BCM结合解、闭锁请求、钥匙位置和锁状态等条件执行相应的解、闭锁动作和闪烁提示。

2.2.2 无钥匙启动功能

无钥匙启动流程如图2所示,分为正常模式和应急模式。正常模式:按下一键启动开关,基站验证钥匙合法且在车内,则控制ESCL解锁。解锁后,结合制动踏板、离合器踏板和挡位信号切换电源状态。若电源状态切换到CRANK,则与EMS进行认证通信。认证通过后,EMS起动发动机并将起动成功信息反馈给基站,将电源状态切换为RUN。应急模式:在钥匙电量低或者认证失败的情况下进行备用认证。钥匙内有转发器无源芯片,当转发器进入基站的读写范围内,按下一键启动开关启动车辆时,转发器通过发动机防盗锁止系统(Immobilizer,IMMO)低频天线在电磁场中的激励得到工作电源和时钟信号[4]。转发器借助获取的电能发送存储在芯片中的相关信息,与基站进行认证通信。若基站成功认证转发器,后续启动流程与正常模式相同。

图2 启动流程

2.2.3 智能提示功能

智能提示功能包括启动IMMO认证提示、智能钥匙低电量提示、智能钥匙在车内或离开提示、制动或离合踏板被踩下未找到钥匙提示、ESCL解、闭锁失败和故障提示、PE锁车时电源状态非OFF提示功能等[5]。满足相应条件后,基站通过CAN总线发送提示或报警信息,仪表进行相关提示。

3 PEPS系统基站软件设计

3.1 软件架构

参考AUTOSAR软件架构,以层次化思想为目标,将软件架构分为应用层、接口层和基础层,各层遵循“高内聚、低耦合”原则。软件总体架构如图3所示,应用层实现系统功能,根据功能要求分模块实现。基础层与硬件电路密切相关,MCU驱动实现硬件驱动功能,ECU驱动封装了微控制器以及外围设备的驱动,COM实现协议栈功能,服务包括网络管理、存储管理和故障诊断等。基础层和应用层可同时独立开发,功能集成时通过修改接口层实现两层之间的联系,使得应用层与硬件平台分离开来,避免了硬件系统更新造成的软件重复开发。

图3 软件总体架构

3.2 应用层软件设计

3.2.1 模型搭建

根据电源分配模块功能规范确定模型输入和输出信号的名称、类型,分析不同电源状态的转换条件,搭建电源分配模型如图4所示。模型包含电源状态(OFF、ACC、ON、RUN、CRANK、ACC_Emergency)和延时等待(Delay)7个互斥状态,Stateflow激活后默认进入OFF状态,进行变量初始化。满足相应条件会触发从OFF状态跳转到相应状态,同时持续调用图形函数Power_Status_deal,控制相应继电器吸合或断开和发送继电器状态。

图4 电源分配模型

正常启动时,电源状态由OFF切换至RUN的过程如下:在满足AT车型踩下制动踏板或MT车型踩下离合器踏板的条件(((VEH_AT_AMT==1)&&(HW_Brake_ST==0))||((VEH_MT==1)&&(HW_Clutch_ST==1)))时,按下一键启动开关,模型从OFF状态跳转到Delay状态。400 ms内若在车内找到合法钥匙且ESCL解锁成功,模型跳转到CRANK状态,控制ACC和IG继电器吸合,同时发送继电器吸合状态信息和起动发动机请求。从进入CRANK状态开始计时,若16 s内接收到起动成功信号(EMS_Engine_start_flag==1),模型跳转到RUN状态。

3.2.2 模型策略仿真

应用Stateflow完成模型搭建后,建立用于仿真的Simulink模型,验证功能规范中的控制策略,保证各功能模块准确实现各控制策略。Simulink仿真模型、测试用例输入和模型对应输出如图5所示,仿真结果与期望保持一致。仿真过程中,如果模型的输出与测试用例期望输出不一致,可以使用Debug调试器对仿真模型逐步调试。在模型内部设置断点,或者使用状态图动画显示模型中的活动状态和转移。在模型调试过程中,可以逐步调试状态图中的不同函数,监视输出值,实现系统仿真的可视化。

3.2.3 软件在环测试

通过编译器使模型自动生成代码,为防止代码生成过程中出现问题导致代码不能表达原始模型,需要进行软件在环(Software-In-the-Loop,SIL)测试,验证代码与模型的输出结果是否一致。SIL测试的原理是通过编译使模型生成一个S-Function封装的动态链接库模型,给定原始模型和动态链接库模型相同的输入,观察输出是否相同[6]。选择覆盖率较高的测试用例作为模型输入,尽可能覆盖多种情形,SIL测试如图6所示。

图5 模型仿真

图6 SIL测试

3.2.4 自动生成代码

完成Stateflow建模和Simulink仿真测试,定义输入、输出信号的数据类型、存储类型和结构体名称,选择ert.tlc作为系统目标文件,Embedded Coder模块即可将模型自动生成代码。用于生成代码的电源分配模型和模型自动生成代码报告如图7所示,可以看出,模型自动生成的源文件和头文件包含了主函数、模型算法逻辑、数据结构与类型和宏定义结构体等。

图7 自动生成代码

3.3 基础层软件设计

首先利用DAvE软件通过单片机选型和各模块参数设置自动生成MCU驱动初始代码,然后利用TASK⁃ING软件编写代码,最后进行编译、下载和调试工作。基站主程序流程如图8所示,复位后关闭中断功能,防止初始化过程中产生不必要的中断。系统完成初始化后,使能中断功能进行主循环。主循环用于实现轮询时间和调度任务,首先判断休眠条件:若满足休眠条件则进入低功耗模式减少电流消耗;否则进入正常模式,采集和处理输入信号,进行逻辑处理,输出信号驱动负载,并完成通信、诊断和状态存储等功能。

图8 基站主程序流程

4 PEPS系统硬件在环测试

4.1 硬件在环测试系统

硬件在环(Hardware-In-the-Loop,HIL)测试是以实时处理器运行仿真模型模拟受控对象的运行状态,通过I/O接口与电控系统连接进行的测试[7]。硬件在环测试系统如图9所示,选用德国dSPACE提供的仿真机柜,根据系统功能测试需求配置机柜板卡资源和连接线束。测试平台软件底层模型结合dSPACE软件进行二次开发,利用Simulink与Stateflow更新底层机柜硬件接口模型和总线协议模型,同时设计测试管理界面控制信号和显示数据。

图9 硬件在环测试系统

4.2 功能测试

功能测试是基站开发过程中必不可少的,以PE解、闭锁功能为例,测试过程如表1所示。

表1 PEPS解、闭锁测试用例

测试结果如图10所示,PEPS解、闭锁命令中,1代表闭锁,3代表解锁,各输出信号中,0代表无效,1代表有效,测试结果与测试用例期望结果一致。

图10 PE解闭锁测试结果

4.3 故障注入测试

上位机通过RS232串行总线控制故障注入单元(Fault Injection Unit,FIU),通过发送指令控制FIU各通道注入对应故障,故障产生后可通过诊断工具读取与清除故障码,验证基站能否正确处理和记录故障。以ACC继电器开路为例,在上位机故障注入界面中对基站注入ACC继电器开路,通过诊断工具发送当前诊断故障请求:19 02 09,诊断工具读取到的故障结果如图11所示,回复诊断码为:59 02 7b c4 16 81 2b,其中故障码c4 16 81代表ACC继电器开路故障,此时ACC相关功能不能正常运行,满足功能要求。

图11 ACC继电器开路故障注入测试结果

5 结束语

本文以系统安全性、便利性和舒适性为前提,提出了一种汽车PEPS系统基站软件设计方案。参考AUTO⁃SAR架构分层设计软件,降低了程序复杂性;通过标准接口交互解耦软件,易于定位查找问题;硬件资源改变时,无需重新设计应用层,提高了软件可移植性。利用硬件在环测试系统对基站分别进行了功能测试和故障注入测试,验证了控制策略和自诊断策略,可有效提高测试效率和系统可靠性,缩短产品开发周期。

猜你喜欢
基站电源钥匙
基于NETMAX的基站网络优化
5G基站辐射对人体有害?
5G基站辐射对人体有害?
Cool Invention炫酷发明
5G辐射比4G小
等效电源法的应用
钥匙和锁
钥匙
新电源
运用等效电源巧解题