- 博客(452)
- 资源 (61)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 《CAPL编程语言》来啦!!!
这里不只有CAPL语法介绍:还会用代码演示CAPL的基本函数:这里不只有多个总线或协议介绍:还会用代码实现多种通信方式:这里不只有CANoe功能介绍:还会用操作告诉你:最后还会用题目和讲解让你了解:下图列出部分知识点:
2023-07-06 15:45:06
1132
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【史上最全最细最深】CANoe文章合集来袭(持续更新中,目前已50万字,78篇文章)
本专栏除了包含其他作者常规的CANoe介绍的文章、CANoe功能介绍的文章外,更有:CANoe使用场景如何实现、你见过或没见过的CANoe的各种疑难杂症(有的问题Vector官方都从来没有发现过),vTESTstudio大全、车载以太网在CANoe中的使用和实现、SOA新型通信模式(这应该是网上没有过的),更不要说传统的CAN、LIN总线、UDS诊断等在CANoe中使用方法了。应有尽有,前所未有!
2023-01-04 10:04:45
3781
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【全网唯一细节深入】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
IEEE Standard for Camera Phone Image Quality
2022-06-22
IEEE Standard for Extensions to Standard Test Interface Language
2022-06-22
IEEE Standard for Service Composition Protocols of Next Generati
2022-06-22
ieee-standard-for-selforganizing-management-protocols-of-next-ge
2022-06-22
IEEE Standard for Radio over Ethernet Encapsulations and Mapping
2022-06-22
ieee-standard-for-secondgeneration-ieee-1857-video-coding.pdf
2022-06-22
ieee-standard-for-wireless-access-in-vehicular-environments-wave
2022-06-22
ieee-standard-for-the-perceptual-quality-assessment-of-threedime
2022-06-22
IEEE Standard for a Real-Time Operating System (RTOS) for Small-
2022-06-21
IEEE Standard for Error Correction Coding of Flash Memory Using
2022-06-21
IEEE Standard for Environmental and Social Responsibility Assess
2022-06-21
IEEE Standard for Head-Mounted Display (HMD)-Based Virtual Reali
2022-06-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人