车载以太网第二弹 | 测试之实锤-IOP测试实践
前言
上一期“物理层PMA测试实践”,咱们从环境设备组成、被测对象组成再到测试过程和测试结果,将完整的PMA测试过程做了一个经验分享。
由下层开始逐层“披沙沥金”,这一期轮到IOP测试上阵了。同样,先展示下典型的测试报告,覆盖了TC8 2.0 IOP的各项测试。
下图1为典型的IOP测试报告图,覆盖了TC8 2.0 IOP的各项测试。

图1:IOP测试报告
IOP测试-设备环境组成
CANoe
开发并运行IOP的自动化测试脚本(CAPL)
VN5640
与DUT诊断接口交互及Golden Device的控制
VT板卡
实现DUT电源回路控制和唤醒源仿真
程控电源
DUT电源供电
Golden Device
• 实物如下图2所示(Technica定制),其实质就是一个更为稳定可靠,性能更强的以太网节点,从其使用的处理器为PowerPC,可见一斑,不拿被测对象做小白鼠是它的“责任”
• 通过与DUT Link,获取与“本地”计算相关的测试参数和数据;提供通信链路特性仿真和故障仿真功能
• 提供了100Base-Tx的程控接口和基于SOME/IP的API,通过CANoe可控制其实现自动化测试

图2:Golden Device实物图
IOP测试-被测对象组成
硬件
以太网节点及线束连接器,实物如下图3:

图3:被测以太网节点
软件接口定义
DUT相关的诊断指令接口定义,实现PHY相关状态的读取。
IOP测试-测试过程
测试准备
连接DUT与Golden Device、VN5640及VT。
测试执行
运行IOP自动化测试脚本➔ 获得测试数据和报告。

图4:测试软件界面
IOP测试-测试分析
关于IOP测试的必要性
首先,从以太网的通信机制上物理层面需建立Link才可进行后续的通信,这是基础,和传统车载总线完全不是一个套路。
其次, NXP、Marvell、Broadcom的PHY UserManual都遵循802.3bw中定义通用特性和状态机,但实现细节是各显神通,即使是一家厂商的PHY,配置的不同也会带来影响,从OEM角度要保证各个节点之间可通信交互,从Tier1角度要证明自己可以和其它节点通信。
综上,为何IOP测试重要,为何须对PHY有深入的知识储备才可以支撑该测试?剧透:TC8-IOP所提供的测试项也是不够的,还有很多场景是需要从车辆实际使用的角度去追加考量的。
关于测试规范及实现方案
TC8 1.0到2.0的IOP存在几处变化,TC8 2.0中关于SQI测试的描述“the respective artificial noise injection ”引起大家焦虑,如何实现“noise injection(噪声注入)”?需要用抽丝剥茧的方法进行分析:
• SQI测试目的/目标
SQI值应随着通信信号质量的变化而“相向”变化,当SQI值小于40%时,应停止通信
• 对应的应用场景
应用层可获得当前的通信质量状态,通信信号质量变差到一定程度,为保证数据的有效性,此时宁可不发,不能错发
• 通信信号变差因素
概括来说,一是来自外部的辐射,二是通信链路的物理特性。第一点可暂且忽略(原因大家可自行分析),第二点进一步剖析
• 通信链路物理特性的影响因素
对以太网通信而言首当其冲的是阻抗及阻抗突变,比如线束特性/长度、连接器接入等,从而引起信号衰减/反射,其中的信号反射会在原信号中产生“叠加噪声”
噪声注入,是通过现象来仿真,而引起这种现象最重要的根源是阻抗;噪声注入是可行的方案之一,但是可操控性、“性价比”较低(需信号发生器、耦合器等)。所以,接近本源的,看似简单略显粗暴的方式,其实更为有效(以下图5的SQI测试报告为证)。

图5:基于CANoe和Golden Device自动生成的SQI测试报告
测试前提条件
IOP测试需要Tier1伙伴准备大量条件和自测参数才可以完成,这些参数用于满足不同的测试条目(比如下述的测试),如PHY Link模式、PHY准备Link的时间等,这些参数与软件配置、硬件特性及设计都有一定的关联,比如并不是所有的PHY都支持SQI测试。

图6:Link-Up Time测试报告
小结
尽信书则无书,面对技术疑惑/难题,不可想当然或似是而非地放过,也不必焦虑甚至恐慌;要严谨对待,从多个维度分析,并加以实践验证;分析问题的过程和方法,表象背后的原因、场景,才是需要学习和积累的核心价值。
后期将陆续更新以太网测试其他相关的干货技术文章,敬请期待!
车载以太网第二弹 | 测试之实锤-IOP测试实践的更多相关文章
- 车载以太网第二弹|测试之实锤-AVB测试实践
背景 AVB(Audio Video Bridging)音视频桥接,是由IEEE 802.1标准委员会的IEEE AVB任务组制定的一组技术标准,包括精确时钟同步.带宽预留和流量调度等协议规范,用于构 ...
- 车载以太网第二弹|测试之实锤 -DoIP测试开发实践
前言 车载以太网测试之实锤系列,之前我们已经从环境设备组成.被测对象组成再到测试过程和测试结果分析,分享了完整的PMA测试 .IOP测试 .TC8中的TCP/IP协议一致性测试 .也分享了1000BA ...
- 车载以太网第二弹|测试之实锤-TC8 TCP/IP协议一致性测试实践
前言 车载以太网测试实践系列,我们还分享了PMA测试实践.IOP测试实践 .本期给大家介绍的是TC8中的TCP/IP协议一致性测试(以下简称TCP/IP测试). TCP/IP测试-设备环境组成 TTw ...
- 车载以太网第二弹|测试之实锤-1000BASE-T1 IOP测试实践
背景 车载以太网通信技术在汽车行业的应用速度远超预期,去年本土OEM已经上市了应用100BASE -T1的车型.今年,应用1000BASE -T1的车型预计也将会量产上市.针对测试而言,带来另外一个难 ...
- 车载以太网第二弹|测试之实锤-1000BASE-T1物理层PMA测试实践
背景 100BASE-T1方兴未艾,国内外OEM量产车型纷至沓来:为了满足高带宽的应用场景需求(如图像.雷达等数据传输),1000BASE-T1将至已至,如大众MEB平台采用1000BASE-T1总线 ...
- 车载以太网第二弹 | 测试之实锤-物理层PMA测试实践
前言 本期先从物理层"PMA测试"开始,下图1为"PMA测试"的测试结果汇总图.其中,为了验证以太网通信对线缆的敏感度,特选取两组不同特性线缆进行测试对比,果然 ...
- SOA=SOME/IP?你低估了这件事 | 第二弹
哈喽,大家好,第二弹的时间到~上文书说到v-SOA可以通过SOC.SORS和SOS来分解落地,第一弹中已经聊了SOC的实现,这部分也是国内各大OEM正在经历的阶段,第二弹,我们继续聊 ...
- 关于『HTML5』:第二弹
关于『HTML5』:第二弹 建议缩放90%食用 咕咕咕咕咕咕咕!!1 (蒟蒻大鸽子终于更新啦) 自开学以来,经过了「一脸蒙圈的 半期考试」.「二脸蒙圈的 体测」的双重洗礼,我终于有空肝 HTML5 辣 ...
- LCA问题第二弹
LCA问题第二弹 上次用二分的方法给大家分享了对 LCA 问题的处理,各位应该还能回忆起来上次的方法是由子节点向根节点(自下而上)的处理,平时我们遇到的很多问题都是正向思维处理困难而逆向思维处理比较容 ...
随机推荐
- [hdu6316]Odd shops
记$m=10$,即商品的种类 记$g(x)=1+\sum_{i=1}^{m}a_{i}x_{i}$,问题即求$f_{n}(x)=g^{n}(x)$非0项数(模2意义下) 注意到$f^{2}(x)\eq ...
- [loj6498]农民
对每一个节点用二元组$(p,v)$表示,其中$p$是其是父亲的左(0)还是右(1)儿子,$v$是其父亲的点权 $x$合法当且仅当:对于其到根路径上所有$(0,v)$都有$a_{x}<v$.$(1 ...
- [luogu7092]计数题
由于$\mu(i)$,因此每一个素数最多存在1次,当$k=0$答案必然为0 根据莫比乌斯和欧拉函数的积性,答案与对素数的划分无关,仅与每一个素数是否出现有关,换言之枚举素数出现的集合$P'$,答案即为 ...
- Jenkins快速上手安装
目录 环境准备 - JDK 安装 1. APT 安装 2. WAR包方式运行 3.Docker 方式运行 Jenkins 是一个独立的开源自动化服务器,可以用来自动化与构建.测试.交付或部署软件相关的 ...
- MySQL数据库之大厂面试必备技能v8.0.27
概述 **本人博客网站 **IT小神 www.itxiaoshen.com 定义 MySQL官方地址 https://www.mysql.com/ MySQL 8系列最新版本为8.0.27,5系列的最 ...
- 洛谷 P7156 - [USACO20DEC] Cowmistry P(分类讨论+trie 树上 dp)
题面传送门 题意: 给出集合 \(S=[l_1,r_1]\cup[l_2,r_2]\cup[l_3,r_3]\cup\dots\cup[l_n,r_n]\) 和整数 \(k\),求有多少个三元组 \( ...
- Small but Funny Tricks [Remember them all!]
模数 1e9 的神奇求行列式: #include <bits/stdc++.h> using namespace std; const int maxn = 1e2, mod = 1e9; ...
- MySQL-数据库多表关联查询太慢,如何进行SQL语句优化
工作中我们经常用到多个left join去关联其他表查询结果,但是随着数据量的增加,一个表的数据达到百万级别后,这种普通的left join查询将非常的耗时. 举个例子: 现在porder表有 10 ...
- 面向多场景而设计的 Erda Pipeline
作者|林俊(万念) 来源|尔达 Erda 公众号 Erda Pipeline 是端点自研.用 Go 编写的一款企业级流水线服务.截至目前,已经为众多行业头部客户提供交付和稳定的服务. 为什么我们坚持自 ...
- 关于java中的安全管理器
最近再查看java的源码的时候看见了这一类代码 final SecurityManager sm = System.getSecurityManager(); 想要了解这个是为了做什么,查看资料之后发 ...