自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jasonj333

汽车,网络,诊断,以太网,SOMEIP,DoIP,TSN,SOA,Python,测试

  • 博客(452)
  • 资源 (61)
  • 收藏
  • 关注

原创 《车载以太网通信测试》课程来袭!!!

本课程包含和两部分内容。

2024-06-20 15:35:54 423

原创 《CAPL编程语言》来啦!!!

这里不只有CAPL语法介绍:还会用代码演示CAPL的基本函数:这里不只有多个总线或协议介绍:还会用代码实现多种通信方式:这里不只有CANoe功能介绍:还会用操作告诉你:最后还会用题目和讲解让你了解:下图列出部分知识点:

2023-07-06 15:45:06 1132 5

原创 【史上最全最细最深】CANoe文章合集来袭(持续更新中,目前已50万字,78篇文章)

本专栏除了包含其他作者常规的CANoe介绍的文章、CANoe功能介绍的文章外,更有:CANoe使用场景如何实现、你见过或没见过的CANoe的各种疑难杂症(有的问题Vector官方都从来没有发现过),vTESTstudio大全、车载以太网在CANoe中的使用和实现、SOA新型通信模式(这应该是网上没有过的),更不要说传统的CAN、LIN总线、UDS诊断等在CANoe中使用方法了。应有尽有,前所未有!

2023-01-04 10:04:45 3781 3

原创 【全网唯一细节深入】TC8一致性测试文章合集来袭(持续更新中,目前共99篇文章)

TC8作为车载以太网一致性测试规范,在车载以太网测试中具有最重要的位置。不管是PHY芯片厂商,还是ECU零部件供应商,或者是测试方案提供商,即使是整车厂都要求具备TC8测试执行、实现和分析能力。本专栏作为全网唯一介绍TC8测试的最全面最细节最深入的专栏,提供TC8测试关于测试原理、测试方法、测试目的、报文解析、知识点解读等全方位的内容。走过路过,不要错过!

2022-11-29 14:11:38 5599 3

原创 CANoe编写CAPL测试脚本的几点思考

有的控制器需要E2E校验,有的不需要;这样做的好处是当你在配置参数文件中新增参数,CAPL代码中只需要在ReadIniFile_EthComTest()函数中调用ReadParameter(),传入正确的参数即可。尤其考虑到整车厂,编写的测试脚本不能只是一锤子买卖,只能用来测试一个控制器,换一个件就出现各种奇怪的问题,这肯定是不行的!在测试脚本开发过程中,需要考虑到如何构建代码,尤其是在一个大型的测试脚本中,实现功能众多,逻辑复杂,如果没有清晰的代码架构,不仅会增加大量的冗余代码,还会造成调试的难度变大。

2024-07-26 22:58:41 4

原创 CAPL如何实现SOME_IP协议通信:SomeIP_IL.dll函数篇(简单通信)

在文章《CAPL如何实现SOME/IP协议通信:SomeIP_IL.dll函数篇(超两万字详解)》中,我们详细解析了如何通过SOME/IP交互层文件SomeIP_IL.dll和相关函数构建应用层的应用程序端点、服务实例、服务接口等对象,让SOME/IP交互层实现someip消息的收发。 这种方式更贴合SOA面向服务通信的原理,但如果我们只是想简单地给一个被测件发送一条method类型的someip消息,有更简单的方法吗?

2024-07-26 22:55:48 3

原创 CANoe在使用时碰到的一些很少见的Bug

CANoe作为一款成熟且稳定的总线仿真与测试工具,深受汽车工程师们的喜爱。CANoe虽然稳定,但作为一个软件来说,在使用中总会出现一些或大或小的Bug。最近全球范围内的大规模蓝屏事件,是由某个安全软件引起的。而很多CANoe使用者最近也反馈过滤栏消失了,这里提供两种方式:

2024-07-26 17:59:52 316

原创 由CANoe自带协议栈在TCP断开连接时同时发送两条FIN报文引起的注意事项

在我写这篇文章CAPL如何在底层模拟TCP Server端断开TCP连接时,我发现了一个奇怪的现象。我为了使用CAPL组装报文的方式实现TCP Server断开连接的过程,插入一个网络节点作为Client端。为了让Client能够发起连接和发起断开连接,给网络节点配置了独立的TCP/IP Stack,也就是CANoe自带的TCP/IP协议栈。同时编写如下CAPL代码:

2024-07-26 16:24:49 143

原创 CAPL如何在底层模拟TCP Server端断开TCP连接

TCP断开连接的四次挥手过程中,Server端需要做的事情是:接收Client端的断开连接请求,发送此断开请求的ACK确认报文,发送Server端的断开连接请求,接收ACK确认报文。

2024-07-26 13:24:46 10

原创 CAPL定义系统变量的方式

我们知道CANoe里有一个模块叫做系统变量,它可以定义命名空间,命名空间下可以定义不同数据类型的变量。这些变量可以设置初始值、最小值、最大值、使用范围、数值含义等等参数。系统变量本质上就是变量,那为什么不直接在CAPL中定义变量,而要使用系统变量呢?

2024-07-25 17:49:23 27

原创 CANoe:为什么两个VLAN接口不能设置同一个网络的IP地址呢?

经常玩CANoe的人应该配置过TCP/IP Stack中网络节点的网卡信息,基本的信息包含:MAC地址、IP地址、子网掩码、默认网关、MTU值、IPv6地址。但你不能把它们设置为同一个网络的IP地址,比如把VLAN1.20的IP地址设置为172.16.10.18/24。这两个VLAN网卡上设置的IP地址可以是不同网络的IP地址:172.16.10.17/24、172.16.20.17/24。大致的意思是:这个地址的子网与VLAN1.10的冲突,请选择另一个子网确保正确的工作。

2024-07-12 18:34:27 231

原创 如何模拟一个具有网络管理功能的被测件的一些思路

不知道大家有没有遇到过这个问题?当我们在学习如何测试网络管理时,难题不在于如何编写测试脚本,而是编写完测试脚本后,没有真实被测件来让我们执行测试脚本,进而调试脚本。这也是我在给大家讲CANoe工具和CAPL编程语言时,很多人会问我的问题:他们没有CANoe硬件,又或者他们没有测试环境,也就是被测件。也就无法确定自己辛辛苦苦敲出的代码,是不是能够顺利运行?

2024-06-24 18:17:12 718

原创 CAPL如何在底层模拟TCP Client端断开TCP连接

TCP断开连接的四次挥手过程中,Client端需要做的事情是:发起断开连接请求,接收Server端断开连接请求并响应。如果Client端不使用TCP/IP协议栈和Socket接口函数完成连接,而是通过组装以太网报文完成连接,需要注意:Client不使用TCP/IP协议栈,所以不应该配置TCP/IP协议栈。否则收到Server端的ACK+FIN后协议栈会回复RST。Server端在收到Client的FIN报文后,首先回复ACK确认。Client收到此ACK时需要识别,不做任何反应。此次的CAPL代

2024-06-14 18:19:14 226

原创 IP_Endpoint类型在CAPL中的使用

在使用TCP/IP协议栈通信时,创建Socket套接字调用接口函数实现通信的整个过程成为一种主流且便捷的方式。在CAPL中,Client需要创建TCP或UDP套接字,绑定自己的IP地址和一个端口号,作为自己的通信端点。

2024-06-12 16:20:16 700

原创 on ethernetPacket事件函数接收报文时标准的处理流程

on ethernetPacket可以用来接收指定报文,并根据一些判断条件,比如目标MAC地址和IP地址判断报文是否是发给"我"的。比如想通过on ethernetPacket *来接收发送给02:00:00:00:00:17和192.168.0.17的SYN报文。CAPL代码可以这样写:

2024-06-12 10:59:27 71

原创 CAPL如何在底层模拟TCP Server端建立TCP连接

TCP连接的三次握手过程中,Server端需要做的事情是:接受连接请求,确认和发起自己的连接,这是通过一条ACK+SYN报文完成的。如果Server端不使用TCP/IP协议栈和Socket接口函数完成连接,而是通过组装以太网报文完成连接,需要注意:

2024-06-11 16:12:17 382

原创 CAPL如何在底层模拟TCP Client端建立TCP连接

TCP连接的三次握手过程中,Client端需要做的事情是:发起连接请求,接收Server端的连接请求并确认。 如果Client端不使用TCP/IP协议栈和Socket接口函数完成连接,而是通过组装以太网报文完成连接,需要注意:

2024-06-11 15:50:02 410

原创 CAPL如何发送一条SYN报文

在TCP协议中,发起连接的Client端首先会发送一条SYN报文,用来发起TCP连接请求。这条SYN报文的本质是TCP报文,只不过flags字段中SYN位置为1。

2024-06-11 14:59:02 187

原创 CANoe-系统变量在Online模式和Offline模式里的使用

有这样一个需求:用户想回放一个CAN文件,同时监测回放的数据流里是否有CAN ID 100的报文。如果有,则在面板上亮起红灯,否则亮绿灯。

2024-06-07 16:08:44 107

原创 【AutoSar网络管理】如何循环测试CAN网络管理的唤醒时间

Preconditions:DUT出于休眠状态Steps to reproduce:Step1:仿真外部NM报文,唤醒ECU。Step2:停止仿真Step1的报文,从总线上最后一帧NM开始,等待时间T。Step3:仿真外部NM报文,此时记录为T1。Step4:等待DUT发送第一帧报文,此时记录为T2,计算T2 - T1。Step5:重复以上所有步骤,T的初始值为7900ms,每重复一次,T的值加1,直到T = 36050ms。Expected results:At Step4:DUT最大唤

2024-06-07 10:40:36 112

原创 车载以太网测试要测些什么呢?

以太网通用规范定义了以太网所要用到的协议、字段值、机制、算法、实现方式等。以太网配置规范定义了所有的ECU节点分配的MAC地址、IP地址、VLAN、ARP table、ARL等。TC8测试全称TC8一致性测试,其规范由OPEN联盟制定,包括车载以太网ECU从物理层到应用层的各层互操作性以及常规基础功能服务。这份测试用例就是以太网通信测试,根据这份测试用例开发的测试脚本就是以太网通信测试脚本。车企的以太网企标也就是以太网需求规范,通常有两本。车载以太网测试大致可以分成两块:TC8测试和以太网通信测试。

2024-06-06 17:40:39 442

原创 CANoe-Trace窗口无法解析SOME/IP报文、Demo License激活方式改变

在文章《如何让CANoe或Wireshark自动解析应用层协议》中,我们通过设置指定端口号为SOME/IP报文的方式,可以让CANoe中的Trace窗口对此端口号的报文当成是SOME/IP报文进行解析。

2024-06-06 13:50:45 514

原创 CAPL如何发送一条UDP报文

UDP作为传输层协议,本身并不具有可靠性传输特点,所以不需要建立连接通道,可以直接发送数据。当然,前提是需要知道对方的通信端点,也就是IP地址和端口号。

2024-05-31 18:15:58 310

原创 IP地址在字符串形式、数字形式和byte数组中的转换

ip地址,我们以ipv4为例,字符串形式为:“192.168.0.1”,可以转换成dword类型的数据:

2024-05-31 15:33:00 182

原创 【TC8】如何测试IOP中PHY芯片的Llink-up time

在TC8一致性测试用例中,物理层的测试用例分为两个部分:IOP和PMA。其中IOP中对PHY芯片的Link-up时间的测试,又包含三个测试用例。这三条case从名称就能够判断出它们的不同。OABR_LINKUP_01是给DUT的对手件上电唤醒,OABR_LINKUP_02是DUT上电唤醒,OABR_LINKUP_03是DUT报文唤醒。

2024-05-28 16:27:33 293

原创 【CANoe示例分析】Switch(Ethernet)

1、工程路径C:\Users\Public\Documents\Vector\CANoe\Sample Configurations 15.3.89\Ethernet\Simulation\EthernetSimSwitch在CANoe软件上也可以打开此工程:File|Help|Sample Configurations|Ethernet - Simulation of Ethernet ECUs|Switch(Ethernet)

2024-05-08 17:55:35 187

原创 CAPL如何发送一条ICMPv4 Echo Reply报文

在实际通信中,我们一般不需要构造ICMPv4回显响应报文,因为它是接收方的ICMPv4协议模块自动回复的。但不代表不能构造。想要构造并发送一条ICMPv4 Echo Reply报文,首先要了解它的报文结构。ICMPv4 Echo Reply报文结构如下:

2024-05-07 18:00:00 245

原创 如何让CANoe或Wireshark自动解析应用层协议

当我们使用CANoe软件或Wireshark工具抓取以太网总线上的报文时,网卡首先会把以太网总线上的模拟信号解析成以太网帧数据。数据链路层根据二层头部中的Type字段值确定上层的协议。

2024-05-07 17:42:26 440

原创 CANoe如何实现TLS协议

TLS,Transport Layer Security,传输层安全协议。是在传输层和应用层之间,为了保证应用层数据能够安全可靠地通过传输层传输且不会泄露的安全防护。

2024-04-29 10:52:56 213

原创 【CANoe示例分析】TCP Chat(CAPL) with TLS encription

1、工程路径C:\Users\Public\Documents\Vector\CANoe\Sample Configurations 15.3.89\Ethernet\Simulation\TLSSimChat在CANoe软件上也可以打开此工程:File|Help|Sample Configurations|Ethernet - Simulation of Ethernet ECUs|Basic AUTOSAR Adaptive(SOA)2、示例目的此示例配置数字证书,通过TLS协议实现两个Cl

2024-04-28 18:11:01 308

原创 TCP关闭连接时的一些思考

我们刚刚说了,这是常见的流程,但不是固定的流程。当其中一方在发送完自己的数据后,再没有数据需要通过TCP发送,可以发起关闭连接的请求,对方收到该请求后,首先回复ACK确认,待自己的数据发送完毕后,也会发起自己的关闭连接请求,进而完全断开TCP连接。对方B首先收到的是这个错误通知,这个错误通知触发了B发起断开连接的请求,然后才收到A的关闭连接的请求。TCP协议是TCP/IP栈中最复杂的协议,它最大的优点是传输的可靠性,这通过面向连接、按序传输、超时重传、流量控制等机制保证其传输的可靠性。

2024-04-26 20:15:20 483

原创 X.509数字证书的签名和指纹

X.509 是一种非常普遍的数字证书标准,由国际电信联盟(ITU)制定。它定义了证书的格式和一种验证证书有效性的方法。X.509 证书的结构遵循特定的语法和编码规则,通常使用 ASN.1 (Abstract Syntax Notation One) 进行描述和编码。

2024-04-25 18:15:53 197

原创 CANoe-Vector Security Manager介绍

Vector Security Manager 是 Vector 公司提供的一种工具,它为像 CANoe 这样的 Vector 工具提供安全功能,例如安全相关的通信(SecOC)、诊断、认证等,这些功能都是在安全配置文件中进行管理的。所有支持的工具都采用统一的配置方式。

2024-04-24 14:14:46 348

原创 CAPL学习之路-TLS函数

The Transport Layer Security (TLS) Protocol,传输层安全协议。通常是基于TCP传输协议基础上的安全认证协议,不用在UDP上。

2024-04-24 13:33:47 146

原创 TCP Socket通信CAPL代码演示

TCP通信过程分为三个部分:建立连接:三次握手数据传输关闭连接:四次挥手这些都可以通过socket套接字接口来实现。

2024-04-03 14:10:48 224

原创 CANoe自带的TCP/IP协议栈中TCP的keep alive机制是如何工作的

TCP keep alive机制我们已经讲过太多次,车内很多控制器的TCP keep alive机制相信很多开发和测试的人也配置或者测试过。我们今天想知道CANoe软件自带的TCP/IP协议栈中TCP keep alive机制是如何工作的。

2024-04-03 13:45:31 423

原创 CAPL实现关闭TCP连接的几种方式以及它们的区别

在讲正文前,我们有必要复习下关闭TCP连接的过程:四次挥手。假设A和B建立TCP连接并进行数据传输,当A的数据发送完后,需要主动发起断开连接的请求:A发送FIN报文,发起断开连接的请求B收到FIN报文后,首先回复ACK确认报文B把自己的数据发送完,发送FIN报文,发起断开连接的请求A收到FIN报文后,回复ACK,等待2MSL时间后,释放socket占用的所有连接资源B收到ACK后,释放socket占用的所有连接资源

2024-03-29 17:45:14 173

原创 CAPL如何使用socket套接字实现TCP通信(断开连接)

书接上回《CAPL如何使用socket套接字实现TCP通信(数据传输)》,当TCP通信一方数据传输完成后,没有再发送数据的必要时,就可以调用tcpClose()接口主动发起断开连接的请求。

2024-03-29 13:27:27 297

原创 CAPL如何使用socket套接字实现TCP通信(数据传输)

书接上回《CAPL如何使用socket套接字实现TCP通信(建立连接)》,当TCP建立连接后,就可以传输数据了。 不管是client还是server,都是使用相同的函数传输应用层数据。

2024-03-29 10:48:59 638

原创 CANoe自带的TCP/IP协议中TCP发送时的一个特殊处理(我一定是第一个发现的)

我们知道,CANoe软件中配置以太网通道后,添加的仿真节点可以作为一个主机或者一个应用来实现以太网通信。但不管是作为主机还是应用,仿真节点都需要配置TCP/IP协议栈。

2024-03-22 17:11:42 323 1

一文了解什么是SOME-IP协议(超详细).pdf

一文了解什么是SOME_IP协议(超详细).pdf

2024-07-26

诊断刷写流程中使用到的诊断服务.pdf

诊断刷写流程中使用到的诊断服务.pdf

2024-07-26

一文了解什么是DoIP协议(超详细).pdf

一文了解什么是DoIP协议(超详细).pdf

2024-07-26

适用于Windows的Linux子系统:WSL.pdf

适用于Windows的Linux子系统:WSL.pdf

2024-07-26

传统汽车总线CAN(FD)& LIN学习大纲.pdf

传统汽车总线CAN(FD)& LIN学习大纲.pdf

2024-07-26

UDS-诊断服务功能.pdf

UDS-诊断服务功能.pdf

2024-07-26

UDS-统一诊断服务.pdf

UDS-统一诊断服务.pdf

2024-07-26

AUTOSAR UDP网络管理-1.pdf

AUTOSAR UDP网络管理-1.pdf

2024-07-26

Android系统的VTS测试套件介绍.pdf

Android系统的VTS测试套件介绍.pdf

2024-07-26

数字证书在网络通信中的作用-PDF

数字证书在网络通信中的作用-PDF

2024-07-26

基于CBC、ECB、CTR、OCF、CFB模式的AES加密算法-PDF

基于CBC、ECB、CTR、OCF、CFB模式的AES加密算法-PDF

2024-07-26

同性公司总线设备选型表-PDF

同性公司总线设备选型表-PDF

2024-07-26

基于AES的CMAC算法、MAC、Hash、数字签名之间的关系

基于AES的CMAC算法、MAC、Hash、数字签名之间的关系

2024-07-26

从个人角度看什么是加密算法

个人文章,有需要的下载:从个人角度看什么是加密算法

2024-07-26

IEEE 分布式交互仿真标准--应用协议

IEEE 分布式交互仿真标准--应用协议

2022-06-22

IEEE 分布式仿真工程和执行过程多架构覆盖 (DMAO) 推荐实践

IEEE 分布式仿真工程和执行过程多架构覆盖 (DMAO) 推荐实践

2022-06-22

IEEE 高级音频编码标准

IEEE 高级音频编码标准

2022-06-22

IEEE 高级音频和视频编码标准

IEEE 高级音频和视频编码标准

2022-06-22

用于智能电网应用的低频(小于 500 kHz)窄带电力线通信的 IEEE 标准

用于智能电网应用的低频(小于 500 kHz)窄带电力线通信的 IEEE 标准

2022-06-22

IEEE Standard for Camera Phone Image Quality

IEEE Standard for Camera Phone Image Quality

2022-06-22

IEEE Standard for Extensions to Standard Test Interface Language

IEEE Standard for Extensions to Standard Test Interface Language (STIL) (IEEE Std 1450-1999) for Test Flow Specification

2022-06-22

IEEE Standard for Service Composition Protocols of Next Generati

IEEE Standard for Service Composition Protocols of Next Generation Service Overlay Network

2022-06-22

ieee-standard-for-selforganizing-management-protocols-of-next-ge

ieee-standard-for-selforganizing-management-protocols-of-next-ge.pdf

2022-06-22

IEEE Standard for Radio over Ethernet Encapsulations and Mapping

IEEE Standard for Radio over Ethernet Encapsulations and Mappings

2022-06-22

ieee-standard-for-secondgeneration-ieee-1857-video-coding.pdf

ieee-standard-for-secondgeneration-ieee-1857-video-coding.pdf

2022-06-22

ieee-standard-for-wireless-access-in-vehicular-environments-wave

ieee-standard-for-wireless-access-in-vehicular-environments-wave.pdf

2022-06-22

ieee-standard-for-the-perceptual-quality-assessment-of-threedime

ieee-standard-for-the-perceptual-quality-assessment-of-threedime.pdf

2022-06-22

IEEE Standard for a Real-Time Operating System (RTOS) for Small-

IEEE Standard for a Real-Time Operating System (RTOS) for Small-Scale Embedded Systems-2018

2022-06-21

IEEE Standard for Error Correction Coding of Flash Memory Using

IEEE Standard for Error Correction Coding of Flash Memory Using Low-Density Parity Check Codes-2018

2022-06-21

IEEE Standard for Environmental and Social Responsibility Assess

IEEE Standard for Environmental and Social Responsibility Assessment of Computers and Displays-2020

2022-06-21

IEEE Standard for Head-Mounted Display (HMD)-Based Virtual Reali

IEEE Standard for Head-Mounted Display (HMD)-Based Virtual Reality(VR) Sickness Reduction Technology-2020

2022-06-21

RFC-768-791-792-793-826-1122-6298

ARP-ICMP-IPv4-UDP-TCP协议的rfc文档打包

2022-06-16

VLAN简介 作者文章电子版 需要的下载

VLAN简介 作者文章电子版 需要的下载

2022-06-04

TCP状态转换 作者文章电子版 需要的下载

TCP状态转换 作者文章电子版 需要的下载

2022-06-04

TCP协议中的RST标志位 作者文章电子版 需要的下载

TCP协议中的RST标志位 作者文章电子版 需要的下载

2022-06-04

TCPIP-物理层 作者文章电子版 需要的下载

TCPIP-物理层 作者文章电子版 需要的下载

2022-06-04

Socket套接字介绍 作者文章电子版 需要的下载

Socket套接字介绍 作者文章电子版 需要的下载

2022-06-04

PTP协议 作者文章电子版 需要的下载

PTP协议 作者文章电子版 需要的下载

2022-06-04

一文了解什么是MTU 作者文章电子版 需要的下载

一文了解什么是MTU 作者文章电子版 需要的下载

2022-06-03

一文了解什么是MSS 作者文章电子版 需要的下载

一文了解什么是MSS 作者文章电子版 需要的下载

2022-06-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除