DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2541|回复: 1
打印 上一主题 下一主题

[待整理] 基于ARM的汽车安全气囊控制系统设计

[复制链接]
跳转到指定楼层
楼主
发表于 2015-5-2 11:16:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    引言
  随着汽车的普及和行驶速度的加快,交通事故及伤亡人数也在逐年上升。在发生汽车碰撞事故时,如何有效地保护司机和乘员生命的安全是迫切需要解决的问题。安全气囊作为与安全带配合使用的被动保护装置已经普及,成为汽车构件中保护乘员的主要装备之一。
  气囊控制系统可分为机械式、模拟电子式和嵌入式3种类型。对于机械式和模拟电子式控制系统,由于硬件的局限,灵活性受到很大限制,应用日益减少。新一代的气囊控制系统均为带微控制器的嵌入式控制系统。嵌入式控制系统的控制算法由软件实现,极大地提高了系统的灵活性,并具有记录事故数据和与上位机进行通讯的功能。
  汽车的安全气囊要求能在一个极短的时间内检测到汽车碰撞事故的发生并控制气囊启爆。为了实现上述目标,要求安全气囊控制系统的微控制器运算能力强、I/O口充足。基于此,选择高性能的32位微控制器,研究并开发出较为实用的汽车安全气囊控制系统,具有一定的应用和参考价值。本文在对国内外先进控制系统研究的基础上,提出了基于ARMCortexM3内核32位微控制器的汽车安全气囊控制系统的设计方案,并分别进行了台车和实车试验。
  1 ARMCortexM3内核与微控制器LM3S1138
  ARM公司面向低成本应用领域研发出32位CortexM3内核处理器。该处理器有效地利用芯片空间,高度集成了外设,与内核组成了一个片上系统(SoC)。ARMCortexM3处理器结合了Thumb2指令32位哈佛微体系结构。Thumb2技术提高了代码密度,比32位编码减少了26%内存使用率,较16位编码提高了25%性能。通过降低时钟频率,提供更低的功耗,降低了研发成本,提高了企业效率。芯片上实现了Tail-Chaining中断技术,该技术把中断之间的延迟缩短到6个机器周期,在实际应用中可减少70%中断。
  本系统微处理器选用TI公司基于ARMCortexM3内核的LM3S1138工业级微控制器。其工作温度范围是-40~85°C,并具有良好的电磁兼容特性,可应用于汽车电子领域。
  2 系统工作原理与设计
  2.1 系统的工作原理
      安全气囊控制系统主要由传感器、自检电路、触发电路、通讯电路和报警电路组成,如图1所示。


  其工作原理为:上电后,系统进行自检,确定触发电路是否可以正常工作。若触发电路存在故障,报警电路进行声光报警,表明系统无法正常工作,通知驾驶员及时修理。当自检正常时,通过32位微处理器LM3S1138不断对加速度传感器MMA7260测得的信号进行采样。当汽车受到一定角度内的高速碰撞时,系统在经过算法分析确认之后,立即触发气囊包内的点火器,气囊迅速充满气体,阻挡驾驶员与汽车构件之间可能发生的碰撞,通过气囊上排气孔的节流阻尼作用来缓冲吸收驾驶员动能,从而达到保护驾驶员安全的目的。
  2.2 系统的硬件设计
  2.2.1 加速度测量电路
  本文选择飞思卡尔公司的硅电容加速度传感器MMA7260。它具有信号放大调理、低通滤波和补偿功能。该器件的零加速度偏置、满量程范围和滤波特性均由制造厂家调定,不需要外接无源元件。由于该传感器制作工艺上的高集成度和可靠性,最大程度地降低了外界的干扰。MMA7260直接采用IC集成封装,可直接焊在PCB板上,调试方便。
  LM3S1138处理器内置8通道10位ADC,采样速率可达1M/s,精度足够用于安全气囊。传感器测得加速度后,从相应的输出管脚输出电压值。通过LM3S1138处理器内置的ADC对电压值进行模数转换,再存入到软件设定的数组中。
  加速度测量电路的硬件原理图如图2所示。


  本系统只使用MMA7260三轴加速度传感的X和Z两轴来进行水平方向的碰撞判断。X轴方向测量汽车正面碰撞的加速度,Z轴方向测量汽车垂直方向的加速度。当汽车高速驶过沟、坎路面时,会导致传感器即使在没有发生碰撞的情况下,也产生较大信号。此信号叠加在低速碰撞的碰撞波形上,导致微控制器误认为高速碰撞,进而发生误启爆。鉴于此,当汽车Z轴(垂直方向)。产生较大的加速度时,无论X轴方向加速度如何,安全气囊均设计为不启爆。避免了因为汽车高速驶过地面路障时,安全气囊引爆所造成的不必要的损失,增强了路面抗干扰性。
  2.2.2 点火触发电路
  由于气囊气体发生器的点爆时需20mA电流脉冲。若直接用LM3S1138的I/O口输出高电平进行引爆,驱动过小,无法满足要求。系统选用电磁式继电器,在LM3S1138输出口的控制下可驱动大功率的负载。由于继电器会产生较明显的干扰,故在继电器周围加抗干扰电路的同时与光电耦合器配合使用,使得处理器与触发电路光电隔离。当碰撞发生时,安全气囊对身材过于矮小的成年人或儿童不但没有保护作用,引爆的巨大冲击力甚至会将其弹死。为了更好地实现安全点火和智能化点火,系统在触发回路上设置一个座位压力感应装置。如果有成年人入座,则装置闭合,点火电路可正常工作。相反,如果装置断开,则表明无人入座或只有矮小成年人或儿童入座,触发电路不能形成回路。此时,即使汽车发生碰撞且算法发出点火信号,安全气囊也不爆破。这样,既防止在无人入座的状态下引爆气囊而造成的经济损失,又避免了气囊对矮小成年人和儿童造成的伤害。点火触发电路的原理图如图3所示。


  2.3 系统的软件设计
     系统采用CortexM3内核处理器简化了软件开发环境。
  针对LM3S1138等一系列的微控制器,TI官方免费提供了基于C语言(符合ANSIC标准)。的驱动库,它包含了众多固件函数库,对每一个外设都有相应例程,可以很方便地根据应用需要进行修改和移植。因此在软件编程时,无需汇编程序的软件管理,完全可以用驱动库C语言函数进行编程开发。开发应用程序时,利用驱动库的例程进行模块化设计,不仅程序编写方便,而且代码简洁且可读性强。对编写大型程序而言,采用驱动库能增强可靠性和安全性,同时降低维护成本。故本系统软件程序利用TI公司提供的驱动库例程进行模块化程序设计,把整个系统程序分为若干个小程序或模块,分别进行独立设计、编程和测试。最后将各模块构建一个完整的工程,完成应用程序设计。将整个工程分成了主程序、启动任务、定时采样任务和串行通信任务等4大模块。流程图如图4所示。



  2.3.1 主程序模块
  为增加系统的执行效率,实现多任务程序运行,系统通过移植,嵌入了μC/OS-Ⅱ操作系统。程序流程图中启动任务模块为嵌入μC/OS-Ⅱ操作系统时程序常用模式。
  2.3.2 启动任务模块
  在程序运行时,先执行启动任务,然后根据按键情况,执行通讯任务或定时采样任务。
  2.3.3 定时采样模块
  软件中实现每1s采样一次加速度并做A/D转换,存储在Flash中。若发生了撞车事故并符合算法的点火条件,记录当前数据存放地址,适时发出点火指令,启爆气囊,同时,再采样90个数据点。在分析现场时,碰撞前的90个数据和撞车后的90个数据可记录在LM3S1138内置的Flash中,作为黑匣子信息分析事故原因。
  本系统选用加入垂直量的移动窗积分算法。由于篇幅所限,将在后续文章中论述。
  2.3.4 串行通讯模块
  事故发生后,PC机通过串行口读出气囊控制系统黑匣子中的数据,作为分析事故之用。开发人员可自行设置读取黑匣子水平方向加速度和垂直方向加速度数据的密码。
  3 性能试验
  目前汽车业内普遍采用的是5英寸(1英寸=254cm)30ms准则来确定安全气囊的最佳点火时刻。在汽车碰撞过程中,乘员相对于车体向前移动5英寸时刻的前30ms是气囊的最佳点火时刻。其依据是大多数已系好安全带的轿车乘员与转向盘之间的间距为12英寸,气囊充气后的厚度为约为7英寸,气囊从点爆到充满气体的时间为30ms。当气袋充满气体的时刻乘员恰好与气袋接触,气囊保护作用最佳。若气囊点火过早,当乘员接触到气囊时,气囊已泄气,起不到保护作用。
  当气囊点火过晚,乘员由于惯性前移,气囊会把乘员打伤甚至致死。所以最佳点火时间是设计安全气囊控制器的关键。而本系统利用积分窗算法和ARMCortex处理器相结合,取得了较好的效果,试验结果和该准则基本吻合。
  3.1 台车试验
  台车试验在南昌大学科技学院汽车碰撞实验室进行,如图5所示。碰撞后,乘员身体前移的时刻比碰撞时刻滞后。滞后的大小主要取决于某款车型的吸能性能。由于台车上只有安全气囊控制系统,并无任何吸能装置,吸能几乎为零。故在本试验中,认为碰撞时刻即为乘员开始前移的时刻。台车在滑行轨道上由绳索牵引。时速由40km/h逐渐递增到60km/h。试验过程由高速摄像机录制,通过慢放录像,测得在碰撞时刻后气囊打开时刻。数据如表1所示。



  试验数据表明,气囊打开时刻与最佳点火时刻偏差很小,在此偏差内不会发生气囊弹伤乘员或过早漏气的现象。
  3.2 实车试验
  在国家某机动车检测中心,用某型号国产轿车进行了实车试验。碰撞类型为正面碰撞。驾驶员座椅上放置了假人,且已系好安全带。碰撞时速为60km/h。碰撞对象为蜂窝铝。假人传感器数采系统采样频率为1kHz。通过前期试验可知,该款车型的吸能形变过程约持续50ms,故在实车试验前,对气囊控制系统的程序进行了相应修改。试验现场录像截图如图6所示。


  通过现场放置的高速摄像机录像的回放,可知乘员在向前移动了30ms后,安全气囊准确爆破。实车试验表明,安全系统控制系统可较为准确地控制气囊的最佳点火时刻。
  4 结语
  由于安全气囊要求在极短的时间内对碰撞事故作出处理,因此要求控制系统能在瞬间完成实时处理和复杂运算的过程,即要求其具有较高的运算速度,时滞较小,以适应汽车安全气囊的实时控制要求。而一般的8位单片机编程简单,易于应用,但信号处理能力不强。本系统采用基于ARMCortexM3内核的32位高性能微控制器LM3S1138,嵌入μC/OS-Ⅱ操作系统,利用移动积分窗爆破算法,完成了系统设计。台车试验和实车试验表明,本系统可较为准确的控制气囊的最佳点火时刻,从而有效保护驾驶员的安全。系统软件设计部分使用了TI官方免费提供的驱动库,采用模块化设计,简化了开发过程。LM3S1138微控制器是片上系统(SoC)。集成了ADC、模拟比较器、flash存储器等外设资源并且价格低廉,故构建的系统集成度高、体积小、成本低。LM3S1138多达46个I/O口,增加了系统的可扩展性,可在此基础上研发多级智能型汽车安全气囊控制系统。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-23 22:40 , 耗时 0.088944 秒, 20 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表