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

 

前  言.............................................................................................................. 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.rhkb.cn/news/123896.html

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

相关文章

【前端demo】CSS border-radius可视化 原生实现

文章目录 效果原理代码 前端demo系列目录:https://blog.csdn.net/karshey/article/details/132585901 效果 效果预览:https://codepen.io/karshey/pen/zYyBPBR 参考: Fancy Border Radius Generator (9elements.github.io) https://borde…

zabbix 自动发现

哈喽大家好,我是咸鱼 昨天老大让我初始化一批服务器,吭哧吭哧弄完之后需要把这批机器添加到 zabbix 上去 但是我发现一台一台添加效率好低,而且特别繁琐,当时我没有想出有什么好的方法,今天上网搜了一下相关资料之后…

本地电脑搭建web服务器、个人博客网站并发布公网访问 【无公网IP】(1)

文章目录 前言1. 安装套件软件2. 创建网页运行环境 指定网页输出的端口号3. 让WordPress在所需环境中安装并运行 生成网页4. “装修”个人网站5. 将位于本地电脑上的网页发布到公共互联网上 前言 在现代社会,网络已经成为我们生活离不开的必需品,而纷繁…

系统学习Linux-ELK日志收集系统

ELK日志收集系统集群实验 实验环境 角色主机名IP接口httpd192.168.31.50ens33node1192.168.31.51ens33noed2192.168.31.53ens33 环境配置 设置各个主机的ip地址为拓扑中的静态ip,并修改主机名 #httpd [rootlocalhost ~]# hostnamectl set-hostname httpd [root…

【opencv】多版本安装

安装opencv3.2.0以及对应的付费模块 一、安装多版本OpenCV如何切换 按照如下步骤安装的OpenCV,在CMakeLists.txt文件中,直接指定opencv的版本就可以找到相应版本的OpenCV,为了验证可以在CMakeLists.txt文件中使用如下指令输出版本验证&…

C#写一个UDP程序判断延迟并运行在Centos上

服务端 using System.Net.Sockets; using System.Net;int serverPort 50001; Socket server; EndPoint client new IPEndPoint(IPAddress.Any, 0);//用来保存发送方的ip和端口号CreateSocket();void CreateSocket() {server new Socket(AddressFamily.InterNetwork, SocketT…

SolVES4.1学习1——安装与使用教程

1、下载并安装 SolVES 4版本是QGIS插件,但实际使用过程中发现在最新版的QGIS安装该插件过程中,会报错或异常。因此需安装特定版本的软件。共需安装如下图软件及Java环境等。 根据官方文档安装好后,可以进行相关操作。 2、设置QGIS环境 QG…

消息队列理解

rocketMQ RocketMQ消息存储原理_码上得天下的博客-CSDN博客 领域模型概述 | RocketMQ kafka Kafka基本架构介绍-腾讯云开发者社区-腾讯云 看完这篇Kafka,你也许就会了Kafka_心的步伐的博客-CSDN博客 Apache Kafka

PaddleX:一站式、全流程、高效率的飞桨AI套件

随着ChatGPT引领的AI破圈,各行各业掀起了AI落地的潮流,从智能客服、智能写作、智能监控,到智能医疗、智能家居、智能金融、智能农业,谁能快速将AI与传统业务相结合,谁就将成为企业数字化和智能化变革的优胜者。然而&am…

CLIP:连接文本-图像

Contrastive Language-Image Pre-Training CLIP的主要目标是通过对比学习,学习匹配图像和文本。CLIP最主要的作用:可以将文本和图像表征映射到同一个表示空间 这是通过训练模型来预测哪个图像属于给定的文本,反之亦然。在训练过程中&#…

【Axure教程】中继器网格拖动摆放

拖动摆放图标在移动端操作中扮演了重要的角色,允许用户自定义其设备的界面,使其更符合其偏好和使用习惯。这可以提高用户对设备的满意度和舒适度,将最常用的应用放置在易于访问的位置,从而提高使用效率。所以拖动摆放这类型操作不…

ESP32C3 LuatOS RC522①写入数据并读取M1卡

LuatOS RC522官方示例 官方示例没有针对具体开发板,现以ESP32C3开发板为例。 选用的RC522模块 ESP32C3-CORE开发板 注意ESP32C3的 SPI引脚位置,SPI的id2 示例代码 -- LuaTools需要PROJECT和VERSION这两个信息 PROJECT "helloworld" VERSIO…

Android逆向学习(二)vscode进行双开与图标修改

Android逆向学习(二)vscode进行双开与图标修改 写在前面 这其实应该还是吾爱的第一个作业,但是写完上一个博客的时候已经比较晚了,如果继续敲机械键盘吵到室友,我怕我看不到明天的太阳,所以我决定分成两篇…

2023百度云智大会:科技与创新的交汇点

​ 这次的百度云智大会,可谓是亮点云集—— 发布了包含42个大模型、41个数据集、10个精选应用范式的全新升级千帆大模型平台2.0,发布首个大模型生态伙伴计划,而且也预告了文心大模型4.0的发布,大模型服务的成绩单也非常秀&#x…

前端、后端面试集锦

诸位读者,我们在工作的过程中,经常会因跳槽而面试。 你开发能力很强,懂得技术也很多,若加上条理清晰的面试话术,可以让您的面试事半功倍。 个人博客阅读量破170万,为尔倾心打造的 面试专栏-前端、后端面试…

使用Apache Doris自动同步整个 MySQL/Oracle 数据库进行数据分析

Flink-Doris-Connector 1.4.0 允许用户一步将包含数千个表的整个数据库(MySQL或Oracle )摄取到Apache Doris(一种实时分析数据库)中。 通过内置的Flink CDC,连接器可以直接将上游源的表模式和数据同步到Apache Doris&…

Vue + Element UI 实现权限管理系统 前端篇(十四):菜单功能实现菜

Vue Element UI 实现权限管理系统 前端篇(十四):菜单功能实现 菜单功能实现 菜单接口封装 菜单管理是一个对菜单树结构的增删改查操作。 提供一个菜单查询接口,查询整颗菜单树形结构。 http/modules/menu.js 添加 findMenu…

VsCode搭建Java开发环境 vscode搭建java开发环境 vscode springboot 搭建springboot

VsCode搭建Java开发环境 vscode搭建java开发环境 vscode springboot 搭建springboot VsCode java开发截图1、安装Java 环境相关插件2、安装 Spring 插件3、安装 Mybatis 插件第一个 vsc-mybatis第二个 mybatisX 4、安装Maven环境4.1、安装Maven环境4.2、VsCode配置Maven环境 5、…

Excel_VBA程序文件的加密及解密说明

VBA应用技巧及疑难解答 Excel_VBA程序文件的加密及解密 在您看到这个文档的时候,请和我一起念:“唵嘛呢叭咪吽”“唵嘛呢叭咪吽”“唵嘛呢叭咪吽”,为自己所得而感恩,为付出者赞叹功德。 本不想分享之一技术,但众多学…

智慧公厕是将数据、技术、业务深度融合的公共厕所敏捷化“操作系统”

文明社会的进步离不开公共设施的不断创新和提升。而在这些公共设施中,公共厕所一直是一个备受关注和改善的领域。近年来,随着智慧城市建设的推进,智慧公厕成为了城市管理的重要一环。智慧公厕不仅仅是为公众提供方便和舒适的便利设施&#xf…