新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于ARM的汽车安全气囊控制系统设计

基于ARM的汽车安全气囊控制系统设计

作者: 时间:2011-06-08 来源:网络 收藏

  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机通过串行口读出气囊控制系统黑匣子中的数据,作为分析事故之用。开发人员可自行设置读取黑匣子水平方向加速度和垂直方向加速度数据的密码。



评论


相关推荐

技术专区

关闭