目 录
前 言.............................................................................................................. 1
1 范围............................................................................................................... 2
2 规范性引用文件.......................................................................................... 2
3 术语与定义................................................................................................... 2
4 软件架构设计............................................................................................... 2
5 应用层软件设计.......................................................................................... 4
5.1 应用层架构...................................................................................... 4
5.1.1 Unit单元设计.................................................................... 4
5.1.2 Component模块设计.......................................................... 4
5.1.3 System系统设计................................................................ 5
5.1.4 变量管理.............................................................................. 5
5.1.5 应用层Simulink工程目录.............................................. 9
5.1.6 Simulink工程配置.......................................................... 10
5.2 定制工具开发................................................................................ 12
5.2.1 转换标定变量文件........................................................... 12
5.2.2 转换a2l标定文件........................................................... 12
6 软件编程规范............................................................................................ 15
6.1.1 命名规则............................................................................ 15
6.1.2 建模规则............................................................................ 18
6.1.3 C语言编程规则................................................................ 18
7 软件开发流程............................................................................................ 18
7.1.1 岗位职责............................................................................ 18
7.1.2 软件开发流程................................................................... 19
7.1.3 系统需求............................................................................ 19
7.1.4 系统方案............................................................................ 20
7.1.5 软件功能规范................................................................... 20
7.1.6 软件开发............................................................................ 20
7.1.7 Bootloader、底层驱动、协议栈以及模型测试........ 20
7.1.8 软件集成............................................................................ 20
7.1.9 HIL测试、台架及实车测试........................................... 20
7.1.10 整车标定.......................................................................... 20
7.1.11 软件最终版本................................................................. 21
8 总结............................................................................................................. 21
新能源商用车控制器应用层软件开发设计规范
本规范规定了新能源商用车控制器应用层软件开发设计所需要遵循的规范要求,指导设计方案。
本规范适用于新能源商用车控制器应用层软件开发设计过程。
本规范的软件设计只针对应用层软件开发设计过程。
下列文件对于本规范的应用是必不可少的。凡是标注日期的引用文件,仅标注日期的版本适用于本文件。凡不标注日期的引用文件,其最新版本(包括所有的修改版本)适用于本文件。
标号 |
标题 |
版本/修改日期 |
Ref.1 |
||
Ref.2 |
3.1术语
商用车控制器软件
软件架构
关键术语描述
3.2缩写
缩写 |
全称 |
OEM |
Original equipment manufacture主机厂 |
ECU |
Electronic Control Unit电子控制单元 |
CCD |
Complex Drivers复杂驱动 |
MISRI |
|
为了实现应用程序和硬件模块之间的分离,汽车电子软件架构被抽象成四层:由上至下依次为:应用层(Application Layer)、运行时环境(Run Time Environment,RTE)、基础软件层(Basic Software,BSW)以及微控制器(Microcontroller),如下图所示。
AUTOSAR软件体系结构包含了完全独立于硬件的应用层(Application Layer)和与硬件相关的基础软件层 (Basic Software,BSW),并在两者中间设立了一个运行时环境(Run Time Environment),从而使两者分离,形成了一个分层体系架构。一方面,OEM可以专注于开发特定的、有竞争力的应用层软件(位于RTE之 上),另一方面,它使OEM所不关心的基础软件层(位于RTE之下)得到标准化。基础软件层主要包括四部分:微控制器抽象层(MCAL),ECU抽象层,服务层以及复杂驱动。其中微控制器抽象层包含了跟硬件相关的驱动程序,可以用来访问内存、通信和I/O等;ECU抽象层负责提供统一的访问接口实现对通信、内存或者I/O的访问,从而无须考虑这些资源由微处理器提供还是由外部设备提供;服务层提供各种类型的后台服务,例如网络服务、内存管理和总线通信服务等,操作系统就位于这一层。复杂驱动(CCD)层跨越于微控制器硬件层和RTE之间,其主要任务是整合具有特殊目的且不能用MCAL进行配置的非标准功能模块,将该部分功能嵌入到AUTOSAR基础软件层中,从而实现处理复杂传感器以及执行器的特定功能和时间要求。复杂驱动程序跟单片机和ECU硬件紧密相关。其上层程序接口是根据AUTOSAR指定并且实施的;其下层程序接口受标准接口程序的限制。复杂驱动可以使用特定的中断或是复杂的微控制器外设来直接访问微控制器,从而实现对复杂传感器的评估和执行器的控制,比如喷油控制,电磁阀控制,增量位置检测等。
由于OEM主要专注于应用层软件的开发,只要整体软件架构满足AutoSAR的分层要求即可,下面将重点展开应用层软件的编写规范。
在应用层软件的设计中,应用层软件是指整个系统软件,系统软件由多个模块软件组成,模块软件由各个单元软件组成,下面将单独说明其分层意义和要求。[1]
单元设计也称最小子系统设计,最小子系统的定义可以是具备一个完整且明确功能定义的子系统,如车速计算,纯电上下电,氢堆上下电等。在