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

news2024/9/29 23:38:07

 

前  言.............................................................................................................. 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.coloradmin.cn/o/984269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用HexView 观察编译后的机器代码

HexView 用于打开任意一个文件,以十六进制的形式从头到尾显示它每个字节的内容。 下载: 链接:https://pan.baidu.com/s/1zB9r5WwuTMIPNMlYl5HlvA 提取码:5ndl双击启动 HexView,然后选择菜单“文件”-“打开文件以显…

专业游戏翻译公司怎么选择比较合适

近年来,游戏行业持续繁荣,市场需求也在不断扩大,其中游戏翻译的需求越来越旺盛。无论是引进游戏还是让游戏走向国际市场,都需要专业的翻译公司来帮忙。那么,怎么选择合适的游戏翻译公司呢?让我们一起来看看…

jmeter 准确的吞吐量定时器 Precise Throughput Timer

准确的吞吐量定时器使用实例 提取码:gpex: 说明:配置10个线程,每个线程请求200次,通过准确地屯托梁定时器模拟QPS为20的场景 配置测试接口参考链接 配置jmeter测试脚本,主要关注准确的吞吐量定时器参数配置…

(2022 COLING)Context-Tuning情景化提示

论文题目(Title):Context-Tuning: Learning Contextualized Prompts for Natural Language Generation 研究问题(Question):自然语言生成,生成长文本。 研究动机(Motivation&#…

春播秋收 “羊”鸣德州 一场“苏尼特羊”跨越千里的美丽邂逅

恰逢金秋丰收时节,中秋佳节来临之际,9月2日,百仕达地标之都整合天南海北优质农产品,联合苏尼特右旗和德州市天衢新区,共同举办“2023年地标之都中秋选货节暨苏尼特羊推介会”。 本次活动以“ 收自然之硕鉴本味之美”为…

国标GB28181协议视频平台EasyGBS国标平台设备播放断流现象的排查分析及解决

EasyGBS平台基于GB28181国标协议,支持多路设备接入,并对多平台、多终端分发出RTSP、RTMP、FLV、HLS、WebRTC等多种格式的视频流。平台可为大数据等综合性监管平台提供极强的视频能力,已经在大量的项目中落地应用,如明厨亮灶、平安…

框架分析(10)-SQLAlchemy

框架分析(10)-SQLAlchemy 专栏介绍SQLAlchemy特性分析ORM支持数据库适配器事务支持查询构建器数据库连接池事务管理器数据库迁移特性总结 优缺点优点强大的对象关系映射支持多种数据库灵活的查询语言自动管理数据库连接支持事务管理易于扩展和定制 缺点学…

华硕ROG2/ROG5/ROG6/ROG7Pro强解锁L锁-快速实现root权限-支持Zenfone9/8/7

2023年9月新增解锁BL适配(需要联系技术远程操作): 新增支持华硕ROG5/5S/5Pro机型强制解锁BL,并且支持OTA在线更新功能 新增支持华硕ROG6/6Pro机型强制解锁BL,并且支持OTA在线更新功能 新增支持华硕ROG7/7Pro机型强制解…

antd中在vue项目中自定义穿梭框

antd中在vue项目中自定义穿梭框 1、完成代码 <template><a-modaltitle"高危因素选择":width"1000":visible"riskVisible":confirm-loading"confirmLoading"ok"handleOk"cancel"handleCancel"okText&qu…

攻克海外市场!企业客户培育,销售额倍增

随着全球市场的不断融合和国际贸易的加速&#xff0c;越来越多的企业纷纷进军海外市场&#xff0c;寻求新的增长机会。然而&#xff0c;在这一过程中&#xff0c;客户培育成为了取得成功的关键因素之一。运营坛今天将带领大家深入剖析为什么客户培育在国际市场尤为关键&#xf…

手写Spring:第2章-创建简单的Bean容器

文章目录 一、目标&#xff1a;创建简单的Bean容器二、设计&#xff1a;创建简单的Bean容器三、实现&#xff1a;创建简单的Bean容器3.0 引入依赖3.1 工程结构3.2 创建简单Bean容器类图3.3 Bean定义3.4 Bean工厂 四、测试&#xff1a;创建简单的Bean容器4.1 用户Bean对象4.2 单…

cmake编译(qtcreator)mingw下使用的osg3.6.5

官网下载osg3.6.5源码&#xff0c;先不使用依赖库&#xff0c;直接进行编译 如果generate后报错&#xff0c;显示找不到boost必须库&#xff0c;则手动增加路径。然后先在命令行中使用mingw32-make&#xff0c;如果显示不存在&#xff0c;则需要去环境变量里配置一下这个工具的…

h5开发网站-使用jquery来实现二层嵌套的左侧列表,点击后显示右侧内容的效果

一、需求&#xff1a; 使用jquery来实现二层嵌套的左侧列表&#xff0c;点击后显示右侧内容的效果。 二、思路&#xff1a; 为一级列表项和二级子列表项分别添加了点击事件处理程序。当一级列表项被点击时&#xff0c;使用.slideToggle()方法展开或收起对应的二级子列表项。…

Linux--进程--vfork与fork区别

vfork&#xff1a; 所需头文件&#xff1a;#include <sys/types.h> #include <unistd.h> pid_t vfork(void); 功能&#xff1a; vfork() 函数和 fork() 函数一样都是在已有的进程中创建一个新的进程&#xff0c;但它们创建的子进程是有区别的。 参数&#xff…

【自执行闭包JS逆向】某网站登录MD5加密分析

文章目录 一、写在前面二、抓包分析三、加密函数分析 一、写在前面 最近工作比较忙&#xff0c;不过还是在督促自己利用有限的时间学习更新一些技术文章。互联网这个行业大家目前也都知道是非常内卷的&#xff0c;所有大家在工作之余养成良好的自主学习习惯是非常好的&#xff…

egg单元测试Mocha报错Error: Cannot find module ‘mocha‘解决办法

最近在玩egg&#xff0c;使用mocha作为单元测试工具时发现一个很奇怪的报错&#xff0c;差了大多数文档都没说明&#xff0c;只好去官网搜了下&#xff0c;发现官网有解决方案。 1. 问题 如果你的报错和我的差不多&#xff0c;恭喜您&#xff0c;以下就是解决方案。 2. 解决方…

基于Delft3D模型水体流动、污染物对流扩散、质点运移、溢油漂移及地表水环境报告编制丨掌握模型建立、参数校准、模拟运行和结果分析等实际操作

目录 专题一 Delft3D软件介绍及建模原理和步骤 专题二 掌握Delft3D各模块的基本原理&#xff0c;以及在模型中的操作流程、实例练习模型 专题三 Delft3D数值模拟溶质运移模型建立 专题四 工程实施前后水文情势、流场、冲淤的变化 专题五 地表水环境风险预测 专题六 地表水…

HarmonyOS/OpenHarmony(Stage模型)应用开发组合手势(一)连续识别

组合手势由多种单一手势组合而成&#xff0c;通过在GestureGroup中使用不同的GestureMode来声明该组合手势的类型&#xff0c;支持连续识别、并行识别和互斥识别三种类型。 .GestureGroup(mode:GestureMode, …gesture:GestureType[]) mode&#xff1a;必选参数&#xff0c;为G…

老听说企业要做私域运营,那具体如何做呢?

以前企业获得新客户的方式是从各大流量平台进行引流&#xff0c;但现在这些公域平台人力投入和产出的比例不合理&#xff0c;或者费用太高而无法承担。因此&#xff0c;企业需要建立自己的私域流量池&#xff0c;无需付费、随时可接触的私域流量池。 那么&#xff0c;怎么做私域…

【数据结构】 七大排序详解(壹)——直接插入排序、希尔排序、选择排序、堆排序

文章目录 &#x1f340;排序的概念及引用&#x1f431;‍&#x1f464;排序的概念&#x1f431;‍&#x1f453;排序运用&#x1f431;‍&#x1f409;常见的排序算法 &#x1f334;插入排序&#x1f38b;基本思想&#xff1a;&#x1f6eb;直接插入排序&#x1f4cc;算法步骤&…