++新能源汽车++
++软件开发设计规范++
版本:++1.0++
编 制:
校 对:
审 核:
会 签:
审 定:
批 准:
更改历史
|----|------|------|-----|
| 版本 | 更改描述 | 更改日期 | 更改人 |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
目****录
[前 言.............................................................................................................. 1](#前 言.............................................................................................................. 1)
[1 范围............................................................................................................... 2](#1 范围............................................................................................................... 2)
[2 规范性引用文件.......................................................................................... 2](#2 规范性引用文件.......................................................................................... 2)
[3 术语与定义................................................................................................... 2](#3 术语与定义................................................................................................... 2)
[4 软件架构设计............................................................................................... 2](#4 软件架构设计............................................................................................... 2)
[5 应用层软件设计.......................................................................................... 4](#5 应用层软件设计.......................................................................................... 4)
[5.1 应用层架构...................................................................................... 4](#5.1 应用层架构...................................................................................... 4)
[5.1.1 Unit单元设计.................................................................... 4](#5.1.1 Unit单元设计.................................................................... 4)
[5.1.2 Component模块设计.......................................................... 4](#5.1.2 Component模块设计.......................................................... 4)
[5.1.3 System系统设计................................................................ 5](#5.1.3 System系统设计................................................................ 5)
[5.1.4 变量管理.............................................................................. 5](#5.1.4 变量管理.............................................................................. 5)
[5.1.5 应用层Simulink工程目录.............................................. 9](#5.1.5 应用层Simulink工程目录.............................................. 9)
[5.1.6 Simulink工程配置.......................................................... 10](#5.1.6 Simulink工程配置.......................................................... 10)
[5.2 定制工具开发................................................................................ 12](#5.2 定制工具开发................................................................................ 12)
[5.2.1 转换标定变量文件........................................................... 12](#5.2.1 转换标定变量文件........................................................... 12)
[5.2.2 转换a2l标定文件........................................................... 12](#5.2.2 转换a2l标定文件........................................................... 12)
[6 软件编程规范............................................................................................ 15](#6 软件编程规范............................................................................................ 15)
[6.1.1 命名规则............................................................................ 15](#6.1.1 命名规则............................................................................ 15)
[6.1.2 建模规则............................................................................ 18](#6.1.2 建模规则............................................................................ 18)
[6.1.3 C语言编程规则................................................................ 18](#6.1.3 C语言编程规则................................................................ 18)
[7 软件开发流程............................................................................................ 18](#7 软件开发流程............................................................................................ 18)
[7.1.1 岗位职责............................................................................ 18](#7.1.1 岗位职责............................................................................ 18)
[7.1.2 软件开发流程................................................................... 19](#7.1.2 软件开发流程................................................................... 19)
[7.1.3 系统需求............................................................................ 19](#7.1.3 系统需求............................................................................ 19)
[7.1.4 系统方案............................................................................ 20](#7.1.4 系统方案............................................................................ 20)
[7.1.5 软件功能规范................................................................... 20](#7.1.5 软件功能规范................................................................... 20)
[7.1.6 软件开发............................................................................ 20](#7.1.6 软件开发............................................................................ 20)
[7.1.7 Bootloader、底层驱动、协议栈以及模型测试........ 20](#7.1.7 Bootloader、底层驱动、协议栈以及模型测试........ 20)
[7.1.8 软件集成............................................................................ 20](#7.1.8 软件集成............................................................................ 20)
[7.1.9 HIL测试、台架及实车测试........................................... 20](#7.1.9 HIL测试、台架及实车测试........................................... 20)
[7.1.10 整车标定.......................................................................... 20](#7.1.10 整车标定.......................................................................... 20)
[7.1.11 软件最终版本................................................................. 21](#7.1.11 软件最终版本................................................................. 21)
[8 总结............................................................................................................. 21](#8 总结............................................................................................................. 21)
前 言
本规范为新能源研发部提出,用于规范新能源汽车软件开发设计。本规范以新能源VCU项目中的设计流程、设计要求、设计经验等基础上,结合行业设计要求而编制。为软件开发提供设计参考依据,帮助工程师快速有效、科学规范的进行软件开发设计。所有涉及新能源研发部软件开发设计的人员须严格按照本办法规范操作,也可针对不同的项目进行适当的可行性调整。
本规范暂时由新能源研发部归口并试运行,待运行成熟后可转为企业标准执行。
本规范起草单位:新能源研发部。
本规范主要起草人:
新能源商用车控制器应用层软件开发设计规范
- 范围
本规范规定了新能源汽车控制器应用层软件开发设计所需要遵循的规范要求,指导设计方案。
本规范适用于新能源汽车控制器应用层软件开发设计过程。本规范的软件设计只针对应用层软件开发设计过程。
- 规范性引用文件
下列文件对于本规范的应用是必不可少的。凡是标注日期的引用文件,仅标注日期的版本适用于本文件。凡不标注日期的引用文件,其最新版本(包括所有的修改版本)适用于本文件。
|-------|--------------|---------|
| 标号 | 标题 | 版本/修改日期 |
| Ref.1 | MISRI C编程规范 | |
| 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指定并且实施的;其下层程序接口受标准接口程序的限制。复杂驱动可以使用特定的中断或是复杂的微控制器外设来直接访问微控制器,从而实现对复杂传感器的评估和执行器的控制,比如喷油控制,电磁阀控制,增量位置检测等。
完整版设计规范点击如下链接下载: