由于操作过于频繁,请点击下方按钮进行验证!

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

一、前言

 

近几年来,为减少汽车事故中对乘员的伤害,越来越多的轿车开始配备安全气囊[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总线调试助手和串口调试助手使用。

 

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

 

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。

网友评论 匿名:

分享到