技术

便携式安全气囊诊断仪的设计与研究

2025China.cn   2009年01月09日

一、前言

 

近几年来,为减少汽车事故中对乘员的伤害,越来越多的轿车开始配备安全气囊[1]。但是,人们往往会质疑气囊是否正常工作、是否起到预期的保护效果。因此越来越多的气囊ECU设置了黑匣子功能,能够保存事故发生时的重要数据信息以便于事故处理[2]

 

由于国内和国际都没有针对气囊ECU规定其数据存储和输出格式,加上技术保密的原因,导致每个生产气囊ECU的厂商都有自己的一套标准,这个标准往往只有制造商具有解释权。当事故发生后,只有制造商能够读出气囊ECU里面的数据并对其进行解释,为避免承担由于气囊故障造成事故的责任,制造商很有可能对数据进行处理,这就很难使公众相信黑匣子数据处理后的结果[3]

 

解决这种问题的办法就是设计制造一种第三方专业设备,能够对气囊ECU进行数据读出、解析,客观公正地反映事故中气囊的工作状况,从而对事故处理起到一个更好的辅助作用。

 

作者主要针对QH32F以及QH42OCS型气囊ECU以及乘员识别系统设计一套对应的便携式气囊诊断仪,能够方便地读出气囊ECU中的事故数据以及故障码,并对数据进行解码显示,便于事故现场对数据进行处理。

 

二、气囊诊断仪系统功能需求

 

与气囊ECU的数据通信目前气囊ECU与外界的通信方式一般可以采取SCICAN总线、KWP2000等形式,由于CAN网络已经成为汽车车身的一个重要网络形式,该诊断仪采用CAN总线和气囊ECU建立通信[4]

 

和上位机的信息共享由于上位机具有更强大的运算能力,有更为丰富和灵活的软件对数据进行分析和处理,因此主要的数据处理工作需要由上位机完成,通过和诊断仪的通信实现信息共享。

 

气囊工作状态及故障指示诊断仪的主要功能是通过和气囊ECU建立通信,显示出气囊的工作状态等信息,因此需要诊断仪能够通过显示组件显示出这些相关信息。

 

数据读取、存储、管理及分析诊断仪需要能够永久保存读出的气囊信息,并能在事故现场对数据进行一些初步分析。

 

具有多重权限和用户管理功能由于使用者的不确定性,需要对诊断仪设定不同的权限,避免无关人员对数据的破坏或篡改。

 

功能清晰,便于操作对于诊断仪常用的功能设置常用功能键,其它非常用功能通过软件进行切换,并设置方便的软件菜单。

 

便携性由于事故现场的环境无法预知,因此需要诊断仪具有很强的移动性,能够随身携带。

 

三、气囊诊断仪系统结构设计

 

该诊断仪系统由硬件部分和软件部分组成,每个部分都划分成几个模块,便于进行模块化设计,图1是诊断仪整个系统的框图。

 

 

 

(一)气囊诊断仪硬件设计

 

1MCU和数据存储器

 

51系列单片机在国内工业控制领域应用相当广泛,具有很好的价格优势,因此设计使用51系列单片机作为诊断仪主控芯片,具体型号为ATMEL公司生产的89C52芯片。外扩存储器使用一片NVRAM,同时起到数据存储器和程序RAM的作用。图3是诊断仪MCU和数据存储器框图。

 

 

 

2是诊断仪硬件部分的模块图。

 

 

 

 

2.和气囊ECU的通信电路设计

 

诊断仪的MCU并没有内置CAN控制器,因此采用PHILIPS公司的CAN控制器SJA1000,总线收发器采用82C250。图4是诊断仪MCUCAN控制器框图。

 

 

 

3.液晶显示电路设计

 

为了能够显示气囊的状态信息以及显示各个功能菜单,诊断仪使用型号为RT12864M的汉字图形点阵液晶显示模块,可显示汉字及图形。图5是诊断仪MCU和显示组件框图。

 

 

 

4.键盘输入电路设计

 

诊断仪使用一块8×8的矩阵键盘和外界进行交互,为减小单片机的计算压力,使用键盘控制器82C79进行键盘扫描、编码、消抖。图6是诊断仪MCU和键盘控制器框图。

 

 

 

5.电源电路设计

 

诊断仪的MCU、存储器以及液晶显示模块等都工作在5V电压下,考虑到事故发生后汽车往往停止供电,想要实现和气囊ECU的通信,必须同时给其ECU供电,一般使用通信线直接给气囊ECU供电。而气囊ECU工作在12V电压下,因此诊断仪电源需要12V电源。考虑到系统的便携性,这里使用一块1800mAh12V锂电池作为电源,它的输出经过LC滤波后直接接到CAN通信线上,单片机需要的5V电压是经过DC转换芯片2576转换得到。

 

6.其它电路

 

除了上述电路外,为满足诊断仪的其它功能需求,还需要有复位电路、看门狗电路和串口通信电路等。这里使用Xiacr的看门狗复位芯片X25045,集成最常用的3种功能:看门狗定时器、电压管理和串行EEPROM,它能够减少成本和线路板面积。串行EEPROM具有512B,用它保存用户信息和系统使用权限信息。

 

另外,和PC机的串口通信使用常用的MAX232进行电平转换。图7是诊断仪其它接口电路框图。

 

 

 

(二)气囊诊断仪软件设计

 

1.系统软件功能需求[5]

 

数据通信、解码及显示功能作为诊断仪,要能够实现和待诊断设备的通信,从待诊断设备中读出故障码和数据并进行存储或者显示。其中数据需要以曲线的方式进行显示,故障码需要对其进行解码,找到对应的故障组件,进而显示到显示屏上。

 

数据分类管理功能由于诊断仪一次可能读取多个气囊ECU的数据,因此需要对数据进行分类管理。

 

数据处理功能为能够在现场得到一些有用信息,要求诊断仪对数据进行初步的分析和处理,因此需要有简单的数据处理功能,包括滤波、消除零漂和传感器标定等功能。

 

气囊工作状态实时显示功能在诊断气囊ECU时,同样需要知道气囊ECU的当前状态。比如当气囊ECU未发出点火信号时,因此其内部没有故障码和其它各种数据,这时就需要诊断仪获取气囊ECU的工作状态,以比较直观的方式提示操作者。

 

CAN总线调试助手功能在调试气囊ECU时,由于使用的是CAN总线,因此要知道CAN总线的工作状态。诊断仪最好具有CAN总线调试功能,显示CAN总线的工作状态以及对特定的数据进行实时观测,这个功能实际上具有通用性,同样能够应用于其它使用CAN总线的场合。

 

数据共享功能由于诊断仪的数据处理功能有限,而PC机具有丰富的第三方数据处理软件,因此主要的数据后处理应该依靠PC机完成,诊断仪要能够和上位机采用串口通信,传输存储的数据和故障码。

 

串口调试助手功能由于诊断仪使用串口通信,因此可参照CAN总线,同样设置串口通信调试功能,能够改变波特率,发送和接收特定的字符或字符串,这也可作为一个通用的便携式串口调试助手使用。目前串口设备的应用相当广泛,便携式的串口调试助手能够和PC机一样和这类设备建立通信,是一个很好的调试工具。

 

自检测功能作为专用诊断设备,不仅能对气囊ECU进行诊断,还应能够进行自检测,否则诊断仪自身的故障可能造成数据的读取失败甚至数据清除。诊断仪自检测需在开机时进行,确保诊断仪的正常工作。诊断仪的自检测包括电源电压、CAN总线通信、串口通信、存储器存储、液晶和键盘的工作状态等。其中电源电压的检测依靠气囊ECU,这是因为诊断仪的单片机本身没有AD采样模块,而单独使用AD芯片将会使成本不必要地上升,考虑到CAN总线的通信线实际上也是电源线,因此可使用气囊ECUAD模块。诊断仪通过CAN总线发送电源电压检测指令,气囊ECU进行AD采样并将结果通过CAN总线发回诊断仪,诊断仪再通过查表法得到电源电压对应的电量,完成电量的自检测。

 

用户管理功能诊断仪对操作者设置不同的使用权限。

 

帮助功能由于诊断仪的功能很多,每种功能对应的操作也不同,特别是软件的使用,因此设置帮助功能,显示特定状态下的帮助信息,帮助操作者掌握诊断仪的使用。

 

8是诊断仪系统控制软件的功能需求模块图,软件开发时,实际是先进行模块开发,最后进行模块的整合。

 

 

 

2.系统主程序

 

诊断仪系统主程序的基本功能是进行系统各设备的初始化,验证用户信息等。另外,由于系统的中断源较多,且有部分操作具有实时性要求,因此主程序表现为背景程序,承担绝大部分的数据处理功能。图9是诊断仪主程序的基本流程图。

 

 

 

3.系统子程序控制策略

 

系统辅助子程序诊断仪系统辅助子程序主要包括硬件的初始化、驱动程序以及一些底层的代码,由于这部分程序直接和硬件相关,因此控制软件主要参照硬件的使用说明编写标准控制函数,预留程序的控制接口。

 

中断子程序由于诊断仪的系统比较复杂,部分操作占用较多的时间,为保证系统的实时性,设置3个中断源:CAN总线接收中断(外部中断0)、键盘中断(外部中断1)和串口接收中断。和上位机通信时,诊断仪不需要对CAN总线以及键盘等中断源进行响应,因此设置串口接收中断具有高优先级。CAN总线上发送给诊断仪的数据需要诊断仪进行迅速接收和存储,否则可能出现重叠错误,因此设置CAN总线接收中断比键盘中断具有较高的优先级。

 

中断子程序策略诊断仪的部分功能对于实时性要求较高,为得到更快和更有效的代码,需要在中断服务程序中只做一些比较简单的操作,而把长的数据处理放在背景程序(主程序)中完成,这样既可充分利用背景程序中的等待时间,又能很好保证系统的实时性。在这3个中断子程序里,都只进行简单的操作。其中串口接收中断仅保存接收到的字符串到缓冲区,并设置标志位,为背景程序指示有串口中断发生;CAN总线接收中断也只把CAN总线的数据保存到缓冲区,并设置标志位;键盘中断只读取键值到缓冲区。在背景程序(主程序的无限循环)中,按照顺序查询每个标志位是否设置,如果检测到某个标志位设定,则执行相应的操作,否则继续往下查询。

 

四、结论

 

对于配置安全气囊的汽车,在发生碰撞事故后,需要有便携的专用设备读出气囊ECU中的黑匣子数据,便于进行事故分析。

 

由于每个生产安全气囊的厂商制定的通信规范都不一致,因此很难开发一种通用的诊断设备,作者主要针对使用CAN总线通信的气囊ECU

 

气囊诊断仪是便携式仪表,具有通用的键盘、液晶显示屏、CPU等模块,通过CAN总线和气囊ECU实现通信,通过串口和PC实现数据共享,能够读出气囊ECU中的数据存储或者实时显示,并具有简单的数据处理功能。

 

气囊诊断仪可以作为通用的便携式CAN总线调试助手和串口调试助手使用。

 

作者针对“黑匣子局面”进行一次有益的尝试,但由于无法获取各个厂商的数据格式,所以主要使用试验室的数据格式,因此要想真正摆脱这种局面,需要得到各个厂家的配合,需要数据格式的公开、透明和标准化。

 

标签:便携式 安全气囊诊断仪 设计与研究 我要反馈 
什么是新一代机器人界面(HMI)?
ABB协作机器人,自动化从未如此简单
优傲机器人下载中心
即刻点击并下载ABB资料,好礼赢不停~
西克
专题报道