新能源商用车软件开发设计规范

 

前  言.............................................................................................................. 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

新能源商用车控制器应用层软件开发设计规范

  1. 范围

本规范规定了新能源商用车控制器应用层软件开发设计所需要遵循的规范要求,指导设计方案。

本规范适用于新能源商用车控制器应用层软件开发设计过程。

本规范的软件设计只针对应用层软件开发设计过程。

  1. 规范性引用文件

下列文件对于本规范的应用是必不可少的。凡是标注日期的引用文件,仅标注日期的版本适用于本文件。凡不标注日期的引用文件,其最新版本(包括所有的修改版本)适用于本文件。

标号

标题

版本/修改日期

Ref.1

Ref.2

  1. 术语与定义

3.1术语

商用车控制器软件

软件架构

关键术语描述

3.2缩写

缩写

全称

OEM

Original equipment manufacture主机厂

ECU

Electronic Control Unit电子控制单元

CCD

Complex Drivers复杂驱动

MISRI

  1. 软件架构设计

为了实现应用程序和硬件模块之间的分离,汽车电子软件架构被抽象成四层:由上至下依次为:应用层(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. 应用层软件设计
    1. 应用层架构

在应用层软件的设计中,应用层软件是指整个系统软件,系统软件由多个模块软件组成,模块软件由各个单元软件组成,下面将单独说明其分层意义和要求。[1] 

      1. Unit单元设计[2] 

单元设计也称最小子系统设计,最小子系统的定义可以是具备一个完整且明确功能定义的子系统,如车速计算,纯电上下电,氢堆上下电等。在

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/102200.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯云-对象存储服务(COS)的使用总结-JavaScript篇

简介 对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,具有高扩展性、低成本、可靠安全等优点。通过控制台、API、SDK 和工具等多样化方式,用户可简单、快速地接入 COS&#xff0…

单片机有哪些分类?

单片机有哪些分类? 1.AVR单片机-----速度快,一个时钟周期执行一条指令,而普通的51单片机需要12个时钟周期执行一条指令。当然,Atmel公司出品的AT89LP系列单片机也是一个时钟执行一条指令,但目前还未普及。AVR单片机比51单片机多…

Linux修复损坏的文件系统

如何判断文件系统是否损坏 当文件系统受损时,将会出现一些明显的迹象。例如,文件或文件夹无法访问、文件大小异常、系统启动慢或无法启动等。此外,系统也可能发出一些错误信息,如"Input/output error"、"Filesyst…

Android Automotive概述

Android开发者的新赛道 在智能手机行业初兴起时,包括BAT在内许多传统互联网企业都曾布局手机产业,但是随着手机市场的基本定型,造车似乎又成了各大资本下一个追逐的方向。百度、小米先后宣布造车,阿里巴巴则与上汽集团共同投资创…

【Arduino27】DHT11温湿度传感器模拟值实验

硬件准备 DHT11温湿度&#xff1a;1个 面包板&#xff1a;1个 杜邦线&#xff1a;3根 硬件连线 VDD引脚接 5V 电源 DATE引脚接 4号 接口 GND引脚接 GND 接口 软件程序 #include<DHT.h>#define DHT11_pin 4 //温湿度传感器引脚DHT dht(DHT11_pin,DHT11);float tem…

【SpringCloud微服务--Eureka服务注册中心】

SpringCloud微服务全家桶学习笔记【持续更新】 gitee仓库 内容&#xff1a;SpringCloud SpringCloud alibaba 技术栈&#xff1a;Java8mavengit&#xff0c;githubNginxRabbitMQSpringBoot2.0 微服务架构概述 微服务架构是一种架构模式&#xff0c;它提倡将单一应用程序划…

kubeadmin安装k8s集群

目录 一 、环境部署 1、服务器规划 2、环境准备 二、所有节点安装docker 1、配置yum源&#xff0c;安装docker 2、配置daemon.json文件 三、所有节点安装kubeadm、kubelet 和kubectl 四、部署k8s集群 1、查看初始化需要的镜像 2、导入镜像 3、初始化kubeadm 3.…

高忆管理:南京取消限购 苹果新机或搭载潜望式镜头

昨日&#xff0c;两市股指盘中单边下行。到收盘&#xff0c;沪指跌1.13%报3122.35点&#xff0c;深成指跌1.84%报10321.44点&#xff0c;创业板指跌2.11%报2056.98点&#xff0c;科创50指数跌3.72%&#xff1b;两市算计成交7668亿元。行业方面&#xff0c;半导体板块大幅下挫&a…

搭建RabbitMQ消息服务,整合SpringBoot实现收发消息

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;3年JAVA全栈开发经验&#xff0c;专注JAVA技术、系统定制、远程指导&#xff0c;致力于企业数字化转型&#xff0c;CSDN博客专家&#xff0c;蓝桥云课认证讲师。 目录 一、前言1.1 什么是消息队列1.2 RabbitMQ 是什么1.…

数据挖掘的学习路径

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

Llama-7b-hf和vicuna-7b-delta-v0合并成vicuna-7b-v0

最近使用pandagpt需要vicuna-7b-v0&#xff0c;重新过了一遍&#xff0c;前段时间部署了vicuna-7b-v3&#xff0c;还是有不少差别的&#xff0c;transforms和fastchat版本更新导致许多地方不匹配&#xff0c;出现很多错误&#xff0c;记录一下。 更多相关内容可见Fastchat实战…

恒运资本:银行股适合定投吗?为什么银行股适合定投?

在股票市场上&#xff0c;出资者能够通过手动不断的买入到达基金定投的效果&#xff0c;那么&#xff0c;银行股适合定投吗&#xff1f;为什么银行股适合定投&#xff1f;下面恒运资本为我们准备了相关内容&#xff0c;以供参考。 银行股适合定投&#xff0c;即通过定投不断的买…