汽车ECU通信相关验证项有哪些?

2023-05-16

已剪辑自: https://mp.weixin.qq.com/s/-fIAXkS37r6jvnuA7yIQDA

汽车电子的高速发展决定了基础软件所面临的要求将会更加严格,其要求会覆盖软件的安全性、稳定性、可扩展性等方方面面。为了提高软件质量,降低软件应用风险,构建高安全、高可靠性、高效率实施的基础软件验证平台则是必不可少的一环。

当前,汽车电子厂商大多采用 V 模式进行新产品开发,相应的,基础软件验证也可以参照 V 模型流程,持续进行不同层面的验证。

图片

充分的测试验证需实现需求阶段至系统阶段的全覆盖。

在需求分析阶段,要考虑系统验证的计划,包括确保每一个需求点都是可验证的,并设计相应的初步系统验证用例;

在概要设计阶段,要考虑部件验证计划,设计相应用例,验证高级模块的功能以及模块之间的接口关系;

在详细设计阶段,要考虑单元验证计划,编制单元验证用例。

图片

总体而言,每部分的软件验证包括五个基本过程:测试需求分析、测试策划、设计与实现、测试执行、测试总结 。

那对于车载ECU通信而言,有哪些验证项呢?

网络通信测试验证

网络通信是实现汽车各控制器进行信息交互的桥梁,无论是传统的分布式电子电气架构,还是域控制器架构,或是基于中央大脑的电子电气架构,其在汽车主干网中常用的总线通信类型大致包含CAN总线、LIN 总线、以太网三类。此外,智能网联化的发展也对车辆的网络通信提出了大带宽、高时效,功能及信息安全防护等要求。上述三类网络通信方式的组合及其在基础软件验证平台的应用,基本能够满足汽车在不同架构类型及不同功能场景下的通信需求。与之相对应的基础测试验证则成为了检验基础软件是否满足通信需求的重要一环。

1.需求分析

基础软件虽然具备软硬件的解耦、接口的可复用性、平台的可移植性等优势,但是其可灵活配置的特性也决定了其面向整车系统时配置参数具有差异化或在基础软件代码开发移植阶段存在不满足整车通信需求的情况。例如某一车型平台或某一架构下各个控制器的基础软件在开发阶段的通信参数设置、信号交互、总线通信故障处理逻辑等与期望不一致的情况。这些差异化的内容往往会导致汽车总线无法通信、功能无法正常执行等问题,因此网络通信测试的验证务必在单个控制器开发完成后进行,以保证装车后的通信质量。

2.验证方法

CAN/LIN 网络通信的验证主要针对通信配置参数、总线容错处理及恢复逻辑、报文交互等内容进行验证,因此测试设计方法主要为需求分析方法、边界值分析、等价类法。为实现网络通信验证,需视不同的需求搭建测试环境。网络通信验证的测试环境可分为基于示波器的测试、基于总线分析仪的测试、基于总线干扰仪的测试三类。

3.验证范围

依据 OSI 模型,为保证基础软件开发严格按照需求进行,需针对通信需求内容进行覆盖。网络通信的测试验证主要包含数据链路层、交互层、应用层测试。数据链路层主要针对采样点、波特率、帧类型兼容等层面进行基础软件通信配置参数的验证;交互层主要针对车辆的报文交互是否严格按照通信定义开发进行验证,应用层主要针对总线故障及 busoff 等网络容错处理恢复策略进行验证。此外,如有功能或信息安全的应用,需基于交互层进行算法逻辑的验证。如下表为网络通信基础验证的部分用例,详细测试用例中的每条用例应包含有唯一的编号、需明确需求点、测试目的、测试环境、测试步骤、评价标准等内容。

图片

图片

图片

网络管理测试验证

网络管理主要负责对汽车上控制器进行配置管理和协调工作的,无论是传统的汽油车,还是新兴的电动车,其控制器的供电均是通过蓄电池来提供的。网络管理可以通过车载网络,设计一套规则,来实现各控制器的睡眠和唤醒,以此来减少蓄电池的耗电。例如:AUTOSAR-NM 是基于 AUTOSAR 架构提出的网络管理方案,通过 BusSleep、PreSleep、Network 三个状态及其子状态,来实现整车控制器的协同睡眠和唤醒。因此,网络管理测试对于协同睡眠和唤醒功能的验证是整车功能实现的重要保障。

1.需求分析

AUTOSAR 架构虽然完整定义了网络管理组件中网络状态的类型以及不同网络状态之间跳转的条件,但是实际控制器的网络管理协议栈成熟度各不相同,并且软件模块之间如果没有较好地进行解耦,进而就会造成车辆上下电的不稳定性,某些功能场景也会受到影响。所以不论是单部件环境下的休眠和唤醒还是整车环境下协同休眠和唤醒,都是保障汽车通信和功能实现的重要前提。

2.验证方法

控制器的网络状态往往在总线中即可获取到,影响其状态跳转的因素基本可分为本地条件与远程条件两类。本地条件与供电关联较强,远程条件与总线状态交互较强,因此结合影响因素,其网络管理的测试验证环境如下图所示:

图片

  • 总线分析仪:用来模拟除控制器外的其他节点发送和接收报文;记录监测总线报文;对控制器进行 ACK 应答。
  • 电源:通过 PC 可控模拟不同供电电压。
  • R1:120Ω;R2:120Ω。

注:若控制器内部含有 120Ω 终端电阻则无需匹配 R2;若控制器内部不含有120Ω 终端电阻则需同时匹配 R1 和 R2。

注:若控制器为 Ethernet 控制器,CAN_H/CAN_L 为 ETH_P/ETH_N,无终端电阻。

3.验证范围

为保证单部件控制器网络管理行为的正确性,需要对控制器的网络管理策略进行全方位的测试。网络管理的测试验证主要包含网络管理报文数据格式测试、网络管理状态转换策略测试、特殊网络管理策略测试。网络管理报文数据格式测试主要用来验证控制器的网络管理报文格式是否和需求定义保持一致。网络管理状态转换策略测试主要用来验证控制器的网络状态跳转是否满足规范要求。特殊网络管理策略测
试主要用来验证控制器在极端总线条件下(如总线高负载率或总线 busoff)的状态跳转是否受到影响。如下表为网络管理测试验证部分用例,详细测试用例中的每条用例应包含的内容与网络通信要求一致。

图片

图片

诊断服务测试验证

网络诊断应用于车辆的初始目的是确定汽车工作状态,排查汽车故障。随着诊断协议的不断完善,其应用场景也不断在扩展,例如产品开发测试阶段的软件升级、生产阶段的下线配置、售后阶段的故障诊断、用户使用过程中的 OTA 远程升级以及远程诊断等。这些诊断功能场景基本涵盖了车辆的全生命周期,诊断协议则是实现这些功能的基础原则。因此,诊断服务测试验证是实现诊断功能场景的基本保证。

1.需求分析

ECU 诊断功能是由内部自诊断功能及相关诊断协议组成。通常大多数诊断功能是由两者共同完成的,诊断服务中包含 ECU 自诊断的数据,维修车辆则是通过诊断协议读取自诊断的数据。例如车辆行驶过程中可能会发生一些故障 , 当故障发生时会以点亮报警灯等方式来提示驾驶员。但具体故障的原因是无法通过报警灯体现的,这时则需要通过车上的 OBD 接口连接诊断仪来将故障代码读取出来。而诊断测试可实现 ECU 诊断功能的验证及诊断协议一致性检测,从而确保装车后车辆诊断功能能够正常运行。

2.验证方法

诊断测试的验证主要针对控制器收发多帧报文情况、诊断服务、子功能、诊断会话控制、安全状态和相关定时参数等内容进行验证。为实现网络诊断验证,搭建下面基于总线分析仪的测试环境。基于总线分析仪的测试设备包括电源、总线分析仪,测试环境如下图所示:

图片

  • 总线分析仪:用来模拟除控制器外其他节点发送和接收报文;记录监测总线报文;对控制器进行ACK 应答。
  • 电源:可模拟不同供电电压。
  • R1\R2:选配型终端电阻 120 Ω。对于终端型控制器,需选配 R1 或 R2;对于非终端型控制器,需同时配置 R1 与 R2。

注:若控制器为 Ethernet 控制器,CAN_H/CAN_L 为 ETH_P/ETH_N,无终端电阻。

3.验证范围

网络诊断的测试验证主要包含传输层及应用层测试。传输层主要针对控制器能够进行多帧报文的收发等层面进行诊断配置参数的验证;应用层主要针对诊断服务、子功能、诊断会话控制、安全状态和相关定时参数进行验证。如下表为网络诊断基础验证的部分用例,详细测试用例中的每条用例应包含有唯一的编号、需明确需求点、测试目的、测试环境、测试步骤、评价标准等内容。

图片

时间同步测试验证

时钟同步功能给车载系统提供统一的时间基准,在高级别智能驾驶、视音频时钟同步、数据上传分析等场景中发挥着越来越重要的作用。目前以太网时钟同步协议中,使用最多的为精准时钟同步协议(Generalized Precision Time Protocol, gPTP),遵循 IEEE 802.1AS 标准。在 AUTOSAR 中也有对应的模块eth_stync 实现该协议。

1.需求分析

gPTP 分为 Grand Master 和 slave,顾名思义,前者为系统中提供授时的节点,后者将自己的本地时间同步到 Grand Master 的时钟进行同步。gPTP 网络拓扑示意图如下图所示:

2.验证方法

gPTP 测试的验证与被测件的角色相关,有针对 Endpoint 的测试以及 Bridge 的测试,测试环境如下图所示:

图片

  • 电源:可模拟不同供电电压。
  • 转换板:100/1000base-T1 转换为 100base-Tx/1000base-T。
  • 流量仪:包含多个车载以太网接口的流量发生设备。
  • 电脑:安装了测试软件的测试电脑。

3.验证范围

时间同步测试主要包含 gPTP 协议一致性测试和 gPTP 配置测试,如表 3.2-6 为网络诊断基础验证的部分用例,详细测试用例中的每条用例应包含有唯一的编号、需明确需求点、测试目的、测试环境、测试步骤、评价标准等内容。时钟同步测试验证部分用例如下表所示:

图片

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

汽车ECU通信相关验证项有哪些? 的相关文章

  • C语言Socket编程,实现两个程序间的通信

    文章目录 server和client通信流程图实现两个程序间的通信1 服务端server2 客户端client3 怎么运行呢 xff1f 4 重写代码 已剪辑自 https www cnblogs com fisherss p 120851
  • 基于UDP的服务器端和客户端

    文章目录 再谈UDP和TCP基于UDP的服务器端和客户端UDP中的服务器端和客户端没有连接UDP服务器端和客户端均只需1个套接字基于UDP的接收和发送函数基于UDP的回声服务器端 客户端 再谈UDP和TCP 已剪辑自 http c bian
  • Windows下的socket演示程序及加载DLL

    Windows下的socket演示程序 已剪辑自 http c biancheng net view 2129 html 上节演示了 Linux 下的 socket 程序 xff0c 这节来看一下 Windows 下的 socket 程序
  • QT文件操作

    文章目录 QFile文件操作QFile 43 QTextStreamQFile 43 QDataStream 已剪辑自 http c biancheng net view 9430 html 很多应用程序都需要具备操作文件的能力 xff0c
  • C语言文件操作

    文章目录 C语言文件操作C语言中的文件是什么 xff1f 文件流 C语言fopen函数的用法 xff0c C语言打开文件详解fopen 函数的返回值判断文件是否打开成功 fopen 函数的打开方式关闭文件实例演示 文本文件和二进制文件到底有
  • Chapter-3_概率分布

    Chapter 3 概率分布 本文内容摘自 xff1a https seeing theory brown edu probability distributions cn html 概率分布描述了随机变量取值的规律 1 随机变量 随机变量
  • C++文件操作

    文章目录 计算机文件到底是什么 xff08 通俗易懂 xff09 xff1f C 43 43 文件类 xff08 文件流类 xff09 及用法详解C 43 43 open 打开文件 xff08 含打开模式一览表 xff09 使用 open
  • C语言文件操作、C++文件操作、QT文件操作汇总及对比分析

    前面对C语言文件操作 C 43 43 文件操作 QT文件操作进行了比较详细的说明 xff0c 文章链接如下 C语言文件操作 C 43 43 文件操作 QT文件操作 通过大致的了解 xff0c 我们知道C语言文件操作 C 43 43 文件操作
  • 破茧化蝶,从Ring Bus到Mesh网络,CPU片内总线的进化之路

    文章目录 为什么需要片内总线 xff1f 星型连接 环形总线 xff08 Ring Bus xff09 Mesh网络 结论 转载于 xff1a https zhuanlan zhihu com p 32216294 在大多数普通用户眼里 x
  • 片内总线在cpu扮演什么角色?他为什么能实现高效,不同的CPU为什么采用不同的总线协议?

    文章目录 各种新型片上总线维度 xff08 Degree xff09 跳 xff08 Hop xff09 和跳数 xff08 Hop Count xff0c HC xff09 直连拓扑和路由器 Intel的Ring和Mesh 43 总线双R
  • 如何一步一步成为一个技术领域专家

    已剪辑自 https mp weixin qq com s biz 61 Mzg4NjIxODk4Mg 61 61 amp mid 61 2247497216 amp idx 61 1 amp sn 61 12c8b2449baa2c236
  • 电子电气架构设计需要考虑哪些方面?

    当前车辆日益复杂 xff0c 车联网功能在各个细分领域都在不断增加 xff0c 而更强大的智能功能也逐步增加 所有这些高级功能都依赖于线束和控制器才能发挥作用 然而面对日益增加的车辆复杂性和产品开发周期缩短的压力 xff0c 导致汽车制造商
  • 深度解读汽车域控制器

    已剪辑自 https mp weixin qq com s biz 61 Mzg4NjIxODk4Mg 61 61 amp mid 61 2247496089 amp idx 61 1 amp sn 61 db5c08f97342decfa
  • 单片机硬件和软件延时、RTOS相对延时和绝对延时

    已剪辑自 https mp weixin qq com s RPLQn4KO9Aqu1fpfZeOKA 前不久有个读者在问关于延时的问题 xff0c 大概就是问 xff1a 软件延时和硬件延时是啥意思 xff1f 做项目时他俩有什么区别 x
  • 计算机端口的安全知识大全,整的明明白白!

    已剪辑自 https cloud tencent com developer article 1406267 看了网安众安的这篇计算机端口文章 xff0c 你要是学不会你来打我 鲁迅没有说过 端口是计算机的大门 xff0c 计算机的安全应该
  • 自然语言处理概述

    文章目录 本文系书稿选登 2 1 自然语言处理概述2 1 1 什么是自然语言处理2 1 2 自然语言处理的任务 已剪辑自 https mp weixin qq com s hSTkA2ffa1YWCoZOgQdrBQ 本文系书稿选登 2 1

随机推荐

  • Ubuntu安装JLink_Linux_V434a & eclipse for c/c++

    按照网上说法 xff1a 由于ubuntu电脑使用usb口来连接Jlink 因此首先要安装usb的库 使用apt get install libusb命令无法定位到libusb软件 xff0c 于是 下载并安装 http sourcefor
  • 详解C语言二级指针三种内存模型

    已剪辑自 https mp weixin qq com s LRMjzIYIVPs6x6ja5ffp w 二级指针相对于一级指针 xff0c 显得更难 xff0c 难在于指针和数组的混合 xff0c 定义不同类型的二级指针 xff0c 在使
  • 可参考的通信数据接收解析方法

    已剪辑自 https mp weixin qq com s ZwAlQv1wV4M3ivCv4wKakw 前阵子一朋友使用单片机与某外设进行通信时 xff0c 外设返回的是一堆格式如下的数据 xff1a AA AA 04 80 02 00
  • 嵌入式软件测试怎么实现自动化测试?

    我是做嵌入式自动化测试的 xff0c 我来回答下吧 题主你的表达有点混乱 xff0c 我挑出来三个问题 xff1a 1 希望做测试做的高大上 2 不用手工这么累 3 测试做出能看到前景 我也做测试 xff0c 虽然自以为也不很高大上 第一个
  • 嵌入式软件自动化测试方法

  • STM32 | hex文件、bin文件、axf文件的区别?

    已剪辑自 https mp weixin qq com s 1EQRooYYpDeKvHpqguik6w 在STM32开发中 xff0c 经常会碰到hex文件 bin文件与axf文件 xff0c 这些都是可以烧写到板子里运行的文件 这三个文
  • 嵌入式 C 语言进阶小技巧,弱符号和弱引用

    已剪辑自 https mp weixin qq com s 7gBn4CB PwiJBfM0v57 xA 我是老温 xff0c 一名热爱学习的嵌入式工程师 关注我 xff0c 一起变得更加优秀 xff01 工程师老温 xff
  • 单片机开发中,传感器的数据处理算法

    已剪辑自 https mp weixin qq com s Yy7ysMXoeokW2g yaqsw3w 在传感器使用中 xff0c 我们常常需要对传感器数据进行各种整理 xff0c 让应用获得更好的效果 xff0c 以下介绍几种常用的简单
  • 功能安全软件架构

    已剪辑自 https mp weixin qq com s pCenGTqg2Xi t7b8ebNHMA 1 E GAS 安全架构思想 汽车功能安全旨在把电子电气系统失效而导致的人身危害风险控制在合理范围内 下图是常见的电子电气系统硬件构成
  • 代码是如何控制硬件的?

    简单来说 xff0c 就是软件指令通过操作寄存器 xff0c 控制与 或 非门搭建的芯片电路 xff0c 产生 保存高低电平信号 xff0c 实现相应的逻辑 xff0c 最终通过IO 串口等输出 要想更清楚的了解软件控制硬件的原理 xff0
  • Windows下的TCP/UDP网络调试工具-NetAssist以及Linux下的nc网络调试工具

    已剪辑自 https blog csdn net ccf19881030 article details 109370384 一 Windows下的网络调试工具 NetAssist 1 TCP服务端和客户端测试2 UDP服务端和客户端测试
  • 软件产品化

    1 产品化定义 xff1a 软件产品化是指客户无需为软件添加或调整代码和语句即能完成软件的安装配置 应用初始化 系统管理 用户使用的全过程 xff0c 并且软件至少能满足80 以上的用户某一组应用需求 微软Office或杀毒软件就是产品化软
  • 使用Dev C++进行Windows socket网络编程,需链接lws2_32库

    背景 在我们使用Dev C 43 43 进行C语言编程时 xff0c 如果我们引入的库是C语言标准库 xff0c 那我们是不要在编译器选项中进行额外的设置的 xff0c 但是如果我们使用的是一些不是C语言标准库 xff0c 那我们可能就需要
  • Windows下C语言程序和网络调试助手通信

    网络调试助手之间进行UDP通信 前面一篇文章介绍了Windows下的网络调试助手 xff0c 文章链接如下 xff1a Windows下的TCP UDP网络调试工具 NetAssist以及Linux下的nc网络调试工具 下面我们简单介绍一下
  • 为什么char a[]的a不能用a=“hello”来赋值?

    问题 char b里面的b是一个指向char的指针 xff0c 而b可以用b 61 hello 来复制 同样 xff0c a代表char数组的第一个元素的指针 xff0c 类型应该也是char xff0c 为什么b可以直接用赋值符号而a不可
  • Windows下使用C语言创建定时器并周期和网络调试助手通信

    在Windows C下采用timeSetEvent函数来设置定时器 关于timeSetEvent的函数原型及注释如下所示 xff1a MMRESULT span class token function timeSetEvent span
  • GCC编译程序如何减少堆栈空间的大小?

    1 静态堆空间的大小是编译期可以根据你的全局变量 静态变量尺寸算出来的 因此减少后者的长度可以减少你使用堆空间 2 MCU裸片程序 xff0c 很多环境是不方便 xff0c 不支持 xff0c 不鼓励使用malloc函数的 xff0c 裸环
  • 腾讯毕业十多年了

    已剪辑自 https mp weixin qq com s rb5aeIDQ5 qtifeoeIrqZw 昨天一个腾讯前同事加了我的微信找我聊天 xff0c 说是在网上看见我写的文章想起我了 这个同事印象中很沉默寡言的 xff0c 在腾讯除
  • ARM9和STM32什么关系?

    已剪辑自 https mp weixin qq com s QHARY D2SwFoQbFsJoCNlg 有小伙伴问 xff1a ARM9和STM32什么关系 xff1f 如果时间倒退10年 xff0c ARM9 s3c2410还算是比较流
  • 汽车ECU通信相关验证项有哪些?

    已剪辑自 https mp weixin qq com s fIAXkS37r6jvnuA7yIQDA 汽车电子的高速发展决定了基础软件所面临的要求将会更加严格 xff0c 其要求会覆盖软件的安全性 稳定性 可扩展性等方方面面 为了提高软件