- 博客(129)
- 收藏
- 关注
原创 我被AI骗了—关于CAN总线填充机制的回答
先说结论,AI只会基于现有知识点,通过神经网络组织起逻辑框架,很多负责的问题,AI的逻辑也会出错,故我们使用AI也要保持质疑的心理!!万万不可全信AI, 是这样的,一位读者在阅读 CAN的填充机制解释及其延伸知识_can 填充位-CSDN博客 我的一篇文章时,在关于 “填充位是否应该计入相同连续位计数的问题” 。文中解释如下:这位读者,提出了一下疑问? 如下图:给大家解释一下 :这位读者疑问在于:如果存在以下原始数据(可以理解为应用层或传输层的PDU)(二进制)1111 1000 0000,按照 “
2025-03-22 17:24:24
970
1
原创 (保姆级教程)CAN总线—如何使用CANoe(VN1640)的Scaner功能测量样件的波特率
(步骤1)前置条件连接好被测样件和VN1640,连接电源。
2025-03-19 19:22:23
1144
原创 汽车安全确认等级-中国等保
目前我所知道的,最新标准“等保2.0”,将网络安全分为5个等级等保将网络系统分为五个等级第一级(自主保护级)适用对象:小型私营企业、中小学、县级一般信息系统。破坏后果:仅损害公民、法人权益,不影响国家安全或公共利益。要求:基本安全防护,如漏洞修复和日志记录。第二级(指导保护级)适用对象:县级重要系统、地市级以上单位的一般系统(如非敏感办公系统)。破坏后果:轻微损害社会秩序或公共利益。要求:制定安全管理制度,定期风险评估。第三级(监督保护级)
2025-03-19 09:35:48
944
原创 on (start/prestart/stopmeasure/prestop)_Vector官方文档的翻译(AI翻译的)
准确的来说 on (start/prestart)是可以被“Start”触发,on (stopmeasure/prestop)可以被Stop触发。Pre开头的事件可以被称为“预事件”是先被触发的。如一个脚本中同时定义了,on (start/prestart)事件,当Start被按下时,prestart被先触发。是“测量”,这里测量原文中的单词就是Measure,对应的就是下文中两个图标“Start,和Stop”]如果测试被停止(测试模块处于非活动状态),这些处理程序将不会在 CAPL 测试节点中执行。
2025-03-18 08:14:56
835
原创 TestModule脚本中需要注意的几点
(步骤1)先CANoe内,定义一个系统变量,如下图(步骤2)代码修改一下,如下图(步骤3)运行几次,查看结果CAPL内部定义系统变量,需要通过调用CAPL封装好的函数,函数一共4个,其中2个函数比较重要,一个是用来创建namespace,一个是在已经定义的namespace中定义具体的系统变量。解析以下代码//定义命名空间“Testp”Int//命名空间“Testp,创建int类型的系统变量CAPL定义的系统变量,不能被原代码中,直接被使用,且关闭-开启工程后,CAPL定义的系统变量会消失。
2025-03-10 21:37:56
347
原创 CAPL内部定义的系统变量
手动定义系统变量和手动在CANoe的SystemVariable中定义系统变量不同,手动定义的系统变量有如下特点(手动定义特点1):先定义后使用。(手动定义特点2):定义后,在CAPL中任意地方都可以使用。(特别点1)、函数中必须,先创建后才能被使用CAPL内部通过函数定义的系统变量,有一些特别点需要注意(注意1:)创建函数后,不能立即使用这个系统变量,如如下代码,Intwrite("打印test1的值=%d",@Testp::test1);
2025-03-10 19:53:28
910
原创 枞阳农村-没有未来
过年回家过年,看了很多地方,和不少人聊了天,得出一个结论,枞阳的广大农村是没有未来的。而这些对我们的启示在于,一定要努力的摆脱这个地方!!
2025-02-24 13:46:22
771
原创 测试应该知道的—关于CAN总线layout的一些知识
测试CAN物理层和数据链路层时,归结到最底层 ,在默认原理图没有问题的前提下,最好先检查一下PCBlayout。避免最底层的设计失误,导致物理层,和数据链路层测试结果出现偏差。同时,拐角处的额外寄生电容也将导致耗时的信号传输,延迟影响。可能会产生电磁干扰(EMI)和串扰(crosstalk),从而导致。在某些情况下,可以放宽对阻抗控制的要求,并且在传输线的角部使用90°角路由,将改变线宽。过孔本身会带来寄生电容和寄生电感,过孔打的越多所带来的。一般我们的高速信号线采取不能超过三个过孔的原则,
2025-01-14 14:04:09
575
原创 UDS结合实例——DTC执行的逻辑和DTC的存储
DTC的结构和基本信息之前一篇文章就讲解过,,不过对DTC的执行逻辑和存储策略讲的不是很清晰,于是专门来讲清楚。
2025-01-13 16:51:23
1884
原创 CAN_FD中CRC填充计数中的格雷码和偶校验
(3)取模的结果装换为格雷码,首先看格雷码转换规则“保留最高bit”,这里我们看到CAN_FD中格雷码是从bit2-bit0,使用3bit来表示的,填充位数量只能是整数,任何整数对8取模,得到的结果一定在0-7(十进制)的范围内。(5)偶校验位,格雷码中存在3个1,则必须通过这个偶数校验位将1的总数,配置为偶数,则3+1=4,则偶校验位parity=1;(4)除最高位1,格雷码bit1=1^0=1,则bit1格雷码=1,bit0=0^1=1。1、先回顾下CAN_FD中的填充计数位的相关概念。
2025-01-08 08:28:25
227
原创 结合实例讲解UDS服务中的0x11—复位服务
1.基础知识1.1 请求消息格式,与肯定响应消息格式肯定响应中的第三个字节,是 子功能=04使能快速休眠,才能在肯定响应中回复的字节。对于该字节的意义和编码规则,如下:说人话就是,此参数表示key转换到off档位后,样件能保持多少时间的正常工作状态后,才进入睡眠状态。编码规则,如PowerDownTime=0x11,就表示ECUkey转换到off档位后,在能够保持17s后,再进入睡眠状态。规范14229中,只规定了四种子功能: 此种模拟的是断电后,重新开始上电初始化,这种初始化可能会导致将一些
2025-01-07 10:50:36
899
原创 UDS诊断之0x27服务—结合实例讲解
本文讲解的是比较深入一点知识,对于一些刚入门的同学,建议直接先看一遍14229规范,然后找一个实际项目练练手!然后再来看本文,相信你会对0x27服务有更深的认知!!!进入正题!!
2025-01-06 18:49:26
1612
原创 结合实例来聊聊UDS诊断中的0x2F服务
诊断请求这样发送:假设,物理请求地址为0x 701,XX(代表填充数据) ,诊断帧DLC固定为8。
2024-12-31 22:47:51
1793
3
原创 CAPL_构建基于UDS的刷写学习—04 思路的构建_第一部分
基于前几篇文章我们已经梳理了HEX文件、S19文件的读取和UDS关键的0x34/0x36/0x37等服务的结构。基于此,我们差不多就完成了前期的知识储备了,那么完成最终的目的——使用capl实现我们还需要解决以下几个问题。1、文件如何读取?2、文件读取后,常见的hex和S19都是以ASCIL码格式,而我们使用0x36服务发送出去时,是需要发送的是byte类型的十六进制数字,如何将ASCIL码格式的字符转换为byte类型的十六进制数字?
2024-12-26 12:57:12
1177
原创 结合实例讲解UDS诊断中的—会话Session的切换
这里跳转,我们暂时不关注 10 04 会话和其他会话之间的关系从这张图中可以读取很多信息和注意事项注意点1:会话跳转顺序,10 01 default会话不能直接跳转到10 02 Programming会话和10 06会话中间需要先经过 10 03 Extened会话。注意点2:Extened会话和Programming会话之间的跳转关系,只能由10 03-》10 02 ,注意只能是单向跳转。注意点3:之间可以相互跳转。
2024-12-24 00:35:27
2450
原创 简单了解下ASIL标准
ASIL就是一种根据实验或经验,判断失效(这里的失效是指本身设计,生产,装配过程中的失误或设计不合理)对所有交通参与人员生命财产,威胁的严重度的一种评级方式。等级确定后,又能按照不同等级在设计,生产,制造,装配等有关过程中作出一系列要求,和规范指导的一种工作方式。
2024-11-21 16:38:55
1601
原创 Tessy学习笔记—一些零散知识点
当我们设置好testcase后,一般选择在overview 界面下,直接选择绿色三角图标执行测试用例。Tessy实际本身将工作分为了几步**1)根据 interface信息和我们添加的源代码,生成一个驱动(driver)程序。**2)将驱动(driver)程序,link(连接)到testobject上,生成一个可执行文件**3)基于选择的Coverage instrumentation 运行测试问:什么是Testdriver,它又干了什么?
2024-11-20 15:55:16
1262
1
原创 Tessy学习笔记—requirement(需求)的管理
Tessy中的requirement(需求)是,我们还是跟着Tessy官方的文档,继续学习,打开官方自带的工程Is Value In Range Requirement.project。按照官方自带的操作手册,导入txt类型的需求文本,得到如下界面。重点讲解下答1:需求可以从两个层面来了解,从代码角度解析,是对代码实现功能的文字化描述。从测试角度来看,是对测试条件的规定,对测试方式的一种指导,同时也指明了结果2.Tessy需求是以文件为形式导入的,合理的文件格式有那些?
2024-11-15 15:41:44
1139
1
原创 TESSY学习笔记—project view界面的架构
1:project view界面能添加的元素project view界面能添加的元素(暂且称为元素),打开project view界面,下图中红框勾选出来的就是。
2024-11-07 21:53:39
483
原创 简单聊聊uds诊断中0x22服务读多个DID的情况
(2)所有读取did中,只要存在一个诊断描述文件中合法的did,其他即使你瞎写。(4)0x2C服务,能一次打包多个did ,但是要先打包,并用打包标志did,0xF0XX,再用0x22服务,再次读取。如果超过5个,读取6个did,我见过回nrc31和nrc13。(1)一般主机厂会在诊断规范中定义,最大读取数量,比如规定最大可以同时0x22读取5个did。从理论上来说can帧报文,可以一次读取(0xFFF-1)/2 个did。(3)对应0x2E写入服务,14229中规定只能一次写入一个did。
2024-11-02 09:48:39
689
2
原创 客户的奇葩要求—在CAN网络的基础上加入了CAN_FD的节点
最近的工作中,遇到了一个有点奇葩的事,客户需要开发一个系统,我们负责其中的一个ECU,这个系统采取的是经典11bit ID的CAN网络。今天突然提了一个要求,说要在网络中,加入支持CAN_FD网络的ECU节点,让我们评估对目前ECU通讯的影响。大家都知道,只有CAN_FD去兼容CAN。客户这要求,就是要我们CAN网络去兼容CAN_FD。
2024-10-31 21:14:06
1090
原创 白盒测试基本概念(学习笔记)
已知产品内部工作过程,通过测试来检测产品内部动作是否按照编码规格说明书的规定正常进行,而不管它的功能。这里对应的黑盒测试,黑盒测试就是只关注测试结果,最然黑盒测试也是需要判定覆盖率的问题。主要特点:语句覆盖是最起码的结构覆盖要求,语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。缺点:由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件和可能到达的隐式逻辑分支,是无法测试的。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。4、测试内部数据结构的有效性,等。
2024-10-31 19:08:11
343
原创 Tessy学习笔记-CTE如何生成测试用例
1:前提工作在开始设置测试用例之前,我们还需要将树图补充完整,如下图补充步骤,1:在palette中,选择两个class拖动到return图标下,然后回到palette中选择DefineParent将class与Return图标连接起来2:然后鼠标左键单击,新添加的Class图标,在name栏填写yes和No。
2024-10-29 21:12:03
575
原创 Tessy学习笔记—CTE基本知识学习
对于我们初学者而言,CTE全称为Classfication Tree Edit 分类树编辑,初次接触,也看了一些用户手册的简绍,看着云里雾里的。建议大家,结合着打开软件,一步一步的跟着用户手册的简绍,一步一步自己操作。一点一点做笔记,除了这么干,我也找不到更好的学习办法!
2024-10-29 20:20:49
1231
原创 Tessy操作基础
Tessy工具是用来进行单元测试,集成测试的一种工具,也是目前来说,比较常见,大家用的比较多的一种工具。如果你因为工作需要,可以和我一起学习并交流。
2024-10-25 19:45:00
1686
1
原创 Vehicle Spy3.9如何新建工程—Setup network Database
设置网络的数据库,简介如下图添加DBC(CANdatabase),LDF(LIN),其他是指spy自己定义的数据格式我们点击设置,图如下,我们必须新建一个plat平台,或选择已存在的平台这里我们点击2处的SetPlatform,新建一个platform新建后,修改名称为Example_1,然后点击右下方的close即可。
2024-10-23 11:06:40
361
原创 CAPL—on signal到底该怎么玩?
int是signal类型,但是RRV_PC_Life是unsignal类型,这种情况就会产生错误,此外数据长度匹配也很重要。如RRC_PC_Life非常大5个Byte,int只有4个Byte,这样也是会出错的。我们经常需要使用this指针,将Signal赋值给其他变量(其他包括不限于:1、CAPL中定义的各种全局变量,局部变量。”,在on message中常用,可以直接调用Message中的很多属性,on signal中有且只有一种。这时非常需要注意的一个问题就是:“数据类型的匹配”
2024-09-25 10:11:19
686
原创 CAPL_构建基于UDS的刷写学习—03 S19文件的读取
不同点2:hex没有规定开头,只规定了结尾01地址,s文件大部分以S0为头部,且S0是没有意义的,大部分都是表示文件版本号,类型等额外信息。*相同点3:数据段都是按照以下方式存放,原数据段从左往右数,左边第一位存放在初始地址上,并以此类推。*相同点6:都存在checksum(校验),且都是占用两个ASCIL字符。*相同点3:都通过 特定位置的标识点,标识了特定的类型。两者校验的范围不一样,HEX校验的范围是除了开头的冒号。*相同点4:数据段,都是以行的形式书写。注意两种校验算法中的加法都是执行的是,
2024-09-19 14:07:34
740
原创 CAPL_构建基于UDS的刷写学习—01 Hex文件的解析
用处:嵌入式系统中常见的一种文件,通过烧录器写入CPU的flash存储器中的一种文件。Hex文件是Intel公司提出是一种按地址排列的数据信息格式。并且以ASCII码的形式,按行记录数据对于我们很多初学者,需要理解地址的00-05拢共6种类型,和基地址,偏倚地址,段地址的各种复杂的概念。其实首先要了解的是,这些概念都是为了一个目的,就是能将数据成功的写入flash中的固定地址中去。首先我们来了解一下单片机flash(也就是ROM代码存放的区域)的基础知识。
2024-09-13 16:45:00
1639
1
原创 SVN的使用技巧
SVN(Subversion)是近年来崛起的版本管理工具,因为是免费的,所以用的人还是不少的。故做一些总结。如果是新手,基本对SVN一点都不了解的话,建议去学习一下这个系统的教程,讲的也很详细。
2024-09-09 20:11:22
1405
C++内联函数的提问
2024-03-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人