时间:2024-05-04
张宏光
摘要:该系统使用结构设计的设计方法。具有层次架构的特点,包括应用层,服务层,ECU抽象层,MCU驱动层,同时在OS层包括了RTOS(实时调度程序)和自动代码生成模块(CFG)。该层次架构具有平台化的特点,通过具体部署目前已经在BCM项目,网关项目,PEPS项目和仪表项目得到了应用,具有结构严谨,标准化,便于开发,便于维护的特点。
关键词:ADD构架设计文档(Architectural Design Document);CAN控制器局域网(Controller Area Network);ECU电控单元(Electronic Control Unit)
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)22-0239-02
Abstract:This system using the design method of structure design.Has the characteristics of hierarchical architecture,including application layer,service layer,ECU abstraction layer,MCU driver layer,at the same time,the OS layer includes a RTOS(real-time scheduler)and automatic code generation module(CFG).The hierarchical architecture has the characteristics of the platform,through specific deployment is now in the BCM project,the gateway project,PEPS project have been applied and instrumentation project and has the structure is rigorous,standardized,facilitate the development,the characteristics of easy to maintain.
Key words:ADD architecture Design Document(Architectural Design Document);LAN CAN Controller(Controller Area Network);Electronic Control Unit(ECU)for ECU(Electronic Control Unit)
车身控制软件设计采用模块化的方法,根据不同用户的需求进行集成组合,其中比较典型的模块是状态机(SRV_State_Machine),此模块在服务层。应用层的模块都需要调用状态机模块所提供的服务来实现状态转移从而实现自己的功能。
1 概述
本文档为车身控制模块软件系统构架说明,在此基础上可以开发不同的车身模块控制产品。
1)设计标准
本文中未制定严格的设计标准,但是在进行软件架构设计,描述机制和数据图时应尽可能采用通用方法。开发语言为C语言。
2)软件开发工具
使用飞思卡尔(FreeScale)提供的CodeWarrior集成开发环境。
2 系统设计
2.1 平台化设计方法
本系统使用结构设计的设计方法。具有层次架构的特点,包括应用层,服务层,ECU抽象层,MCU驱动层,同时在OS层包括了RTOS(实时调度程序)和自动代码生成模块(CFG)。该层次架构具有平台化的特点,通过具体部署目前已经在BCM项目,网关项目,PEPS项目和仪表项目得到了应用,具有结构严谨,标准化,便于开发,便于维护的特点。
2.2 模块化的设计原则
车身控制软件设计采用模块化的方法,根据不同用户的需求进行集成组合,其中比较典型的模块是状态机(SRV_State_Machine),此模块在服务层。应用层的模块都需要调用状态机模块所提供的服务来实现状态转移从而实现自己的功能,车身控制软件的各个模块的分布。
1) 应用层
(1)诊断模块
诊断模块负责实现车身控制模块的诊断功能,包含内部诊断功能和服务处理功能:
1、内部诊断功能:电控单元初始化或关闭时的故障自检测和连续故障自检测;
2、服务处理功能:包括诊断故障代码获取、输入/输出控制、安全访问、数据获取、程序控制、刷新等。
(2)安全系统
安全系统负责实现整车的安全功能,具体功能内容如下:
1、监视所有的外设状态开关;
2、控制报警喇叭;
3、控制报警灯光指示。
(3)雨刮模块
雨刮模块负责实现整车前雨刮、后雨刮的相关功能,具体内容如下:
1、开启、关闭雨刮功能;
2、控制雨刮速度;
3、开启、关闭喷水洗清功能;
4、后排乘客玻璃升降开关禁止。
(4)窗模块系统
窗模块负责实现整车玻璃升降器相关的功能,具体内容如下:
1、使能/使无效玻璃升降器系统;
2、自动开启驾驶员玻璃,其他窗手动功能;
3、同步地手动关闭所有玻璃;
4、后排乘客玻璃升降开关禁止。
(5)外部灯光系统
外部灯光系统负责实现功能如下:
1、远光灯控制;
2、近光灯控制;
3、位置灯控制;
4、后雾灯控制;
5、转向灯控制。
(6)内部灯光系统
内部灯光系统负责实现功能如下:
1、礼貌灯PWM控制,主要负责控制阅读灯,后备箱灯;
2、延时输出控制,主要负责控制阅读灯,化妆镜灯。
(7)冗余系统
冗余系统负责记录整车的冗余数据。冗余数据记录整车相关的一系列数据,存储在多个电控单元中。当需要更换某个电控单元时,新的电控单元能从其他电控单元中恢复车辆的冗余数据,如更换BCM时,新的BCM里程数能恢复被更换的BCM记录的里程数。
(8)锁模块系统
锁模块系统负责实现整车的车锁系统功能,具体内容如下:
1、开锁/闭锁所有门;
2、开锁后备箱/行李箱。
(9)辅助系统
除上述系统外,BCM还控制一些独立的功能,这些功能被集合在辅助系统中。
(10)防盗系统
用于整车的防盗,没有经过认证的钥匙无法启动汽车。
(11)PEPS系统
PEPS系统可以用于整车的无钥匙进入和无钥匙启动,按门把手启动PEPS模块发射LF信号,智能钥匙接受LF信号发送RF信号给BCM,BCM经认证后打开车门实现PE的功能。在按SSB按钮时,PEPS模块发射LF信号,智能钥匙接受LF信号发送RF信号给BCM,BCM检测智能钥匙是否在车内以实现PS的功能
(12)Power Moding系统
Power Moding系统用于整车的无钥匙启动,根据SSB按钮和刹车踏板或者离合器踏板的配合,根据UID的认证,可以实现OFF,ACC,IGN和CRANK等不同状态。
2)服务层
(1)状态机
该状态机通过提供当前状态,转移条件,转移动作,下次状态来对各个应用提供服务。
(2)DTC服务
DTC表:记录所有的DTC代码。
(3)CAN_LIN服务
提供CAN通讯和LIN通讯的服务,
3)ECU抽象层
(1)输入
输入模块读取所有输入状态,并把当前状态写入全局输入状态表中。对应用层提供输入的ON和OFF事件。
(2)输出
输出模块从全局输出表中读取输出状态,并把输出状态转换成物理输出。诊断应用可以强制输出状态为ON或者OFF。
4)MCU驱动层
(1)微处理器驱动
由Code Warrior expert集成。
(2)通讯驱动
1、CAN驱动:为其他应用程序提供访问接口,以通过CAN总线发送和接收数据。
2、LIN驱动:为其他应用程序提供访问接口,以通过LIN总线发送和接收数据。
5)OS系统层
(1)RTOS
时间调度程序,在MAIN函数中执行,根据事先设定好的时间循环执行各个任务。
(2)CFG模块
通过EXCEL表自动生成输入输出数据结构,该数据结构为枚举类型。同时生成DTC表和RTOS任务表。
3 结语
车身控制系统软件设计采用模块化的设计方法,可以加快软件设计的时间,方便集成和调试,如果在测试过程中出现了问题,工程师可以根据模块化的原理,快速找到软件设计的缺陷,从而使问题得到解决,大大提高了软件设计的水平。
参考文献:
[1] MPC5604BC数据手册Rev.8,11/2010
[2] Elecia White.嵌入式系统设计与实践[M].北京:清华大学出版社,2014.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!