文献标识码:A
DOI:10.16157/j.issn.0258-7998.2016.12.012
中文引用格式:陈同山,朱群峰,方治. PSI5异步通信传感器的硬件在环仿真[J].电子技术应用,2016,42(12):48-50.
英文引用格式:Chen Tongshan,Zhu Qunfeng,Fang Zhi. HIL of PIS5 asynchronous communication sensor[J].Application of Electronic Technique,2016,42(12):48-50.
0 引言
在安全气囊控制模块(ACU)的开发过程中,加速度传感器是安全气囊起爆的输入信号,但由于这类加速度传感器都是IC封装,测试时只能通过实际的碰撞验证ACU的起爆性能。而受实车碰撞的成本高、周期长、操作复杂等因素制约, 使得利用最终的实车碰撞来标定ACU算法成为不可能。同时,加速度传感器在生成制造过程中同样有很多失效形式,而在加速度传感器上又无法模拟其内部故障,因此如何验证ACU在其失效时是否能提醒驾驶员及时维修/更换产品,避免功能失效导致的安全问题同样是重中之重。
鉴于以上原因,针对加速度传感器的硬件仿真是解决上述问题的唯一途径。在硬件仿真测试过程中,由于碰撞信号、加速度数据、寄存器状态等都是可配置的,因此具有操作简单、一致性高、成本低等优点。
本文以飞思卡尔的PSI5加速度传感器MMA5124LWR2为例,利用单片机模拟加速度信号与ACU进行数据交互。配置文件(包含传感器初始化信息、寄存器信息、是否模拟故障等)及加速度信息通过CAN接口预植入到单片机内部,通过触发方式模拟碰撞产生,发送碰撞时的加速度信号。采用此种方式可实现基本的数据通信以及碰撞模拟、故障注入等功能,可以代替传统的实车验证来标定算法、验证软件鲁棒性等功能。
1 PSI5通信简介
PSI5(Peripheral Sensor Interface)最早由博世、奥托利夫、大陆集团成立的“PSI5委员会”联合开发,专门用于安全气囊加速度传感器的通信。由于PSI5是已经在数以百万计的安全气囊控制系统中验证的开放标准,其低成本易应用的技术特点使PSI5也适用于其他的汽车传感器。
PSI5采用两线供电的传感器和数据传输。安全气囊控制模块给传感器提供电压,从传感器到ACU的数据通过对电源线的电流调制进行传输。
数据传输采用Manchester编码,电流下降表示逻辑“0”,电流上升表示逻辑“1”。每一帧数据由2 bit起始位、10~20 bit数据位、1 bit奇偶校验位或3 bit CRC校验位组成[1]。单帧数据结构如图1所示。
2硬件在环仿真系统介绍
硬件在环仿真是指被仿真环境中存在实物硬件的实时动态仿真技术。仿真环境不仅需要数据输入、输出测试,还要进行信号模拟、故障注入、时序控制等复杂工作。信号发生器的信号源无法满足需求,而在实际产品上测试存在费用高、时间长、条件不确定等因素,导致实际无法执行测试。随着计算机技术的发展,开始使用硬件在环仿真技术进行控制系统软硬件的开发和测试[2-4]。
在ACU的开发过程中,加速度传感器作为气囊起爆与否的输入信号,任何差错都可能导致严重后果。对加速度传感器进行仿真,可以模拟整车碰撞实验,降低实验费用,同时可在软件开发期间进行故障注入测试,有效地缩短产品开发周期,提前发现问题,控制产品风险。
3 硬件设计
(1)微控制器单元
DSPIC33FJ128GP706是Microchip公司推出的高性能16位数字信号控制器,带有128 KB的Flash存储器和16 KB的在片RAM,可存储超过1 s的模拟加速度数据;DSP的DMA指令可实现快速数据处理,节省测试时间;利用其高速CAN接口可实现外部快速配置;片上AD接口用于传感器供电电压的检测。基于这些特殊性能,可实现复杂的系统需求。
(2)上位机接口
系统采用高速CAN连接上位机,波特率为500 K,数据长度8 B。假设待传输的加速度数据最大为2 KB,数据帧发送周期为10 ms,则发送所有数据所需要的时间约为2.56 s,在设计允许范围内。同时在仿真传感器运行时,上位机可通过CAN接口进行故障注入的设置。
(3)AD接口单元
使用MCU自带AD接口,实时监控ECU提供的电压,当电压大于5.5 V时,表示系统已经为模拟传感器供电,开始进入传感器初始化阶段。
(4)外部触发
通过外部触发功能,用于模拟碰撞的零时刻。当触发信号翻转时,表示车辆发生了猛烈的撞击,此时将预置在模拟器中的加速度数据通过PSI5接口发送给ACU,就可以实现碰撞的模拟。这种碰撞持续时间短,一般只有几百毫秒,利用单片机的RAM存储碰撞加速度信息可以实现快速读取。从碰撞的产生到发送碰撞加速度,最大延时为250 μs(即一个PSI5发送周期)。
(5)ACU连接单元
由于PSI5通信数据由电流信号以Manchester编码方式进行传输,MCU输出信号为电压信号,无法直接被ACU识别,因此需要将MCU输出信号作为控制端,当电平变化时,对应负载不同,以达到电流变化的目的。
与ACU的连接,可以使用I/O口来调整传感器电源线的电流,但I/O口对MCU资源占用太高,稳定性差,因此采用MCU的SPI接口,工作在主模式,所用的信号线为SCK、MOSI。
从PSI5的数据帧格式来看,PSI5每一位都对应高低两个电平的变化才能实现,因此SPI速率应为PSI5通信速率的2倍。由于MOSI的信号电平在空闲状态时不可控,因此增加了4个串入串出的8位移位寄存器SN74LV166AD,用SPI的SCK信号线来驱动移位寄存器,实现32位SPI信号的发送。
ACU连接部分电路如图2所示。
4 软件设计
待模拟的MMA5124LWR2的PIS5通信方式为125 kb/s异步通信,加速度数据输出速率为250 μs,上电初始化完成后,持续发送加速度数据给ACU[5]。初始化和发送加速度数据都是通过PSI5通信完成。传感器初始化执行过程如图3所示[6]。
从芯片的说明手册可以得知,该芯片在上电后和ACU的FILC芯片只有PSI5通信数据的交互,因此若要模拟其功能,只需要在上电后持续发送指定的PSI5数据就可以实现其基本功能的仿真。在仿真环境中,ACU的FLIC芯片提供传感器供电电压,仿真器供电由外部电源控制。仿真器上电后,首先通过CAN消息指定待发的PSI5数据,当检测到FLIC芯片提供传感器电压后,将预设的PSI5数据发出即可。
需要注意的是,由于移位寄存器的锁存特性,每次发送的PSI5数据会在第二个32位SCK下发送。根据这一硬件特性,在传感器上电后,除了需要清楚移位寄存器的数据外,还需要预发第一帧SPI数据。当第二帧SPI数据发送时,第一帧数据才从移位寄存器移出。
在作硬件在环时,除了正确模拟传感器工作之外,还需要设置模拟传感器的各种工作情况,如碰撞时加速度信号以及各种错误情况和报告寄存器值错误、通信错误、数据错误等。在该应用项目中,只需要通过DSPIC33FJ128GP706的CAN通信配置相应软件参数即可实现,由于CAN的速率高,且DSP存储数据可以采用DMA方式传输,因此可以实现快速配置。
软件实现过程如图4所示。
5 系统验证
仿真测试时,需要将原有加速度芯片移除,用仿真设备连接至ACU电路中,同时ACU需要具备诊断功能,可以检测到传感器不通信的故障。
对硬件在环仿真测试系统的验证主要从两方面入手:(1)如果脱离硬件仿真平台后,被测产品无法正确运行,当被测产品运行在仿真环境下,仿真信号和实际信号匹配,应能做到正确无故障运行;(2)执行仿真测试时,导入仿真数据,被测产品能够按照预期目标执行,同时仿真数据与ACU监控到的加速度数据要保持一致。
仿真信号的示波器截图如图5所示。从该图中可以看出,PSI5信号非常完整,并能被ACU正常识别,同时可以方便地通过控制SPI信号模拟各种信号故障,如起始位错误、校验位错误、数据错误等,从而验证安全气囊控制模块的鲁棒性。
在ACU算法开发过程中,该模拟器可模拟实际碰撞时产生的加速度信号,使ACU认为处于碰撞环境中,从而验证算法的开发,为后续碰撞实验节约大量的宝贵资源。
6 结论
本模拟传感器实现了加速度传感器的基本功能,并可实现故障注入、碰撞模拟等特殊功能。从实际仿真效果来看,各项性能指标均达到设计要求,并且运行平稳,目前已成功应用于高田ACU的研发和测试中。
参考文献
[1] PSI5 Steering Committee.Peripheral sensor interface for automotive applications[DB/OL].(2012-08-10)[2016-07-05].http://psi5.org/specification/.
[2] 张永刚,刘志峰.硬件在环仿真技术在汽车安全气囊电子控制系统中的运用[J].电子技术与软件工程,2014(24):251-255.
[3] 吴伟斌,洪添胜,李震,等.基于虚拟仪器技术的汽油发动机ECU仿真测试系统[J].微计算机信息,2006(8):205-208.
[4] 朱辉,王丽清.硬件在环仿真在汽车控制系统开发中的应用[J].汽车技术,1998(12):7-9.
[5] 飞思卡尔开云棋牌官网在线客服(中国)有限公司.飞思卡尔推出符合PSI5标准的汽车气囊系统产品[J].电子产品世界,2010,17(6):27-27.
[6] Freescale.PSI5 inertial sensor[DB/OL].(2016-04-12)[2016-07-05].http://cache.nxp.com/files/sensors/doc/data_sheet/MMA51xxLW.pdf.