- 博客(1291)
- 收藏
- 关注
原创 【车载开发系列】车载总线的网络管理
对于间接网络管理ECU,在电源模式由非ON切换为ON时,ECU要完成初始化后开启CAN通讯。具体定义了三个度量指标来判断网络通讯开启是否满足性能方面的要求。参数名说明最大值T1电源模式由非ON切换为ON,到ECU接收报文的时间295T2电源模式由非ON切换为ON,到ECU发送报文的时间300T3电源模式由非ON切换为ON,ECU将所有报文发送一遍的时间320TA电源模式由ON切换为非ON,到间接管理ECU停止发送报文的时间100。
2025-11-30 14:10:04
795
原创 【车载开发系列】如何编辑DBC文件
定义网络中传输的消息,包括:报文ID报文名称报文类型(普通报文,诊断报文或网络管理报文)报文发送类型(周期型,事件型或周期事件型)消息的方向(发送或接收)帧格式(标准can,扩展can,标准canfd或扩展canfd)报文长度定义消息中的每个信号,包括:信号名称信号长度(以位为单位)排列格式(Intel或Motorola)缩放因子和偏移量(用于原始数据和实际值的转换)信号的单位和物理最小/最大值。
2025-11-30 10:50:52
421
原创 【车载开发系列】CAN报文排列格式--Motorola_MSB、Motorola_LSB、Intel
摘要:本文介绍了CAN报文排列格式中的Motorola_MSB、Motorola_LSB和Intel三种标准。Motorola采用大端字节序,分为MSB(最高有效位)和LSB(最低有效位)两种格式,而Intel采用小端字节序。文章详细解释了大端与小端的概念,以及LSB和MSB的定义,并通过0xB7A的十六进制示例展示了三种格式的具体排列方式。最后总结了三种格式的特点:Intel格式从后往前、从上到下排列;MSB格式从前往后、从上到下填入;LSB格式从后往前、从下到上填入。
2025-11-25 00:00:00
40
原创 【车载开发系列】UDS诊断时间参数
在ISO-15765-3标准(UDSonCAN)中针对Tester以及Server列出了3对P时间参数,用来描述应用层的时间参数。这些时间参数主要用于上位机在测试UDS的过程中,诊断工具需要设置一些参数来实时掌握诊断报文的响应状态以及控制相应诊断请求的发送。这作为评估整个UDS的通信是否稳定等性能指标。
2025-11-23 10:16:20
330
原创 【车载开发系列】再谈集成测试
c) 软件单元/集成测试环境应支持驱动模块和桩模块的编写与加载,并与测试用例一起进行有效管理。集成测试主要测试软件模块之间的交互和协作,而系统测试则是测试整个系统的功能、性能和可靠性。b) 软件单元/集成测试环境可以是仿真环境、模拟环境、开发环境(推荐);a) 应建立软件单元/集成测试环境,配备软件单元/集成测试工具;软件集成测试环境与单元测试环境基本相同。
2025-11-22 11:07:48
743
1
原创 【车载开发系列】常见集成测试的方法
针对面向对象的系统,从分析类之间的依赖关系出发,通过从最小依赖关系的类开始集成,逐步扩大,最后集成到整个系统,通过该集成方法,可以验证类之间接口的正确性。针对可以有许多并发运行、没有专门控制轨迹的组件、以及没有专门服务器层的分布式系统。验证松散耦合的同级组件之间交互的稳定性。快速迭代式开发和增量式开发可能会导致系统功能的遗漏和冲突,该集成主要是为了避免以上问题,同时控制可能出现的基线偏差。对于和单独的服务器组件进行松散耦合的客户端组件,可以使用客户/服务器集成来完成。验证客户和服务器之间交互的稳定性。
2025-11-01 18:38:21
1052
原创 【车载开发系列】嵌入式中的集成测试
自底向上集成(Bottom-up Integration)方式是从程序模块结构的最底层的模块开始组装和测试,因为模块是自底向上进行测试的,对于一个给定层次的模块,它的子模块已经组装并测试完成,所以不再需要桩模块。采用了和设计一样的顺序进行测试,它在第一时间内对系统的控制接口进行验证,其中顶层的组件具有控制的责任,首先测试顶层的组件,然后逐步测试处于底层的组件,这种集成方式可以采用深度优先策略和广度优先策略。它既有白盒测试的成分,也有黑盒测试的成分,结合了白盒测试和黑盒测试的特点,一般把他归入灰盒测试。
2025-11-01 12:09:19
891
原创 【车载开发系列】如何用Parasoft实现跨平台编译环境的配置
bdf是数据文件的一种类型,是一种数据库文件,本质上存储了每个文件的编译信息。在ParaSoft当中,可以使用bdf文件来快速创建一个测试项目。为了构筑跨平台编译环境,首先就要做成跨编译器的BDF文件。MinGW-w64 是基于 GNU GCC 的跨平台开发工具链,支持 Windows、Linux 等系统的 32 位和 64 位应用程序开发。
2025-10-31 00:00:00
948
原创 【车载开发系列】LIN总线必知必会
在比如车身某些电子配件的地方(如车窗、后视镜、大灯、车锁等),这些配件的通讯根本不需要像CAN总线那样“高速”传输,各大厂商为了在车身低速的应用上节约成本,就联合研究了出了这个LIN总线。它主要用于连接不需要CAN总线高性能和高成本的传感器、执行器、开关等设备(如车窗、雨刮、座椅、空调控制、车灯等),LIN可以作为CAN总线的一个补充。主节点既有主任务又有从任务,从节点只包含从任务,主任务负责决定总线上的报文,从任务提供每一帧的数据。LIN总线上可以传输两类报文,一类是信号报文,另一类是诊断报文。
2025-10-19 11:01:56
364
原创 【车载开发系列】ParaSoft实现单独源文件环境构筑
安装GCC编译器的方法取决于操作系统和网络环境:Windows用户可通过MinGW安装,访问MinGW官网(www.mingw.org)下载最新安装程序(如mingw-get-setup.exe),就可以运行并选择安装目录了。本文使用ParaSoft软件,针对无法对单个文件跑静态以及动态测试的问题,采用了ParaSoft中内置构建器的方法,在不做成bdf文件的前提下,构筑一个临时的工程,从而实现单个文件或者文件夹中批量源代码实施单元测试的需求。具体的对策详细方法在本文中记载,供参考。
2025-10-17 00:00:00
385
原创 【车载开发系列】网络管理概念区分
本文主要介绍了网络管理的两种类型:分别是直接网络管理和间接网络管理。直接网络管理是点对点通信,实时性高但因为点对点的缘故,扩展性自然不如间接,它使用到专门的网络管理的报文,一般用在集中式网络的管理当中,而间接性网络管理特点就是松散耦合的分布式网络,主打一个可扩展易扩展,尽管在实时性上并不如直接网络管理。根据网络节点的类型,又可以分为主动节点和被动节点两种,被动节点没有主动权,一般不是点火唤醒,而通过网络管理报文便可以唤醒。
2025-10-06 10:04:27
579
原创 【车载开发系列】诊断故障码定义的类型
ISO 14229-1 UDS协议标准中提到5种DTC格式类型中的第一种。汽车上的故障码设计初心应该是为了在问题产生后,能够让售后服务团队快速、准确定位解析到问题,从而快速解决,至少让客户觉得“没有不出问题的车,但有靠谱的售后”。那么在研发设计、开发、验证环节,对故障码的深入了解,也是一个寻求Know-How的过程。
2025-09-27 19:38:33
644
原创 【车载开发系列】区分Flash,RAM与E2PROM的概念
Flash就是闪存。闪存分为两种类型:一种是PFlash,另一种是DFlash。不管是Dflash还是Pflash,都要按照flash的命令去操作,按照Sector去擦写。Pflash和DFlash的应用场景是不同的。具体两者的定义如下。
2025-09-20 20:05:29
1060
原创 【车载开发系列】了解FlashDriver
它是一种用于访问和管理闪存器件的驱动程序。FlashDriver通过与计算机系统进行交互,提供了对闪存器件的读写、擦除、复制等功能。闪存器件是一种非易失性的存储介质,用于它通常作为操作系统或应用程序的一部分,用于处理闪存设备的存储访问请求。
2025-09-20 16:39:30
1244
原创 【车载开发系列】CAN通信矩阵
CAN通信矩阵(CAN Communication Matrix)通常由整车厂完成定义,车辆网络中的各个节点需要遵循该通讯矩阵才能完成信息的交互和共享。CAN总线是一种通信形式,在ISO11898协议中仅规定了数据链路层和物理层,也就是说传什么ID、传什么数据这些一般都是放在应用层定义的。对于乘用车来说,满足UDS和尾气排放协议之后,还剩余了绝大部分的ID段。这些ID段由主机厂自主来进行分配,分配好之后会做成一个.xls格式的表格,这就是CAN通信矩阵。
2025-09-13 19:53:48
1391
原创 【车载开发系列】Boot在线刷写必知必会
本文主要介绍了Boot刷写过程中的常用术语,常规的三个阶段的流程:预编程阶段,主编程阶段,后编程阶段。其中需要验证的内容有:FBL预编译,安全服务,完整性检测,依赖性检测,有效性标志位检测等,这些需要验证的内容往往都是通过31服务的例程来运行确认。如果发生了异常工况导致刷写失败怎么办?这里也简单给出了一个双Boot的方案。具体实现方式为使用PBL先更新SBL,再由SBL更新实现APP,那么当需要更改刷写流程的时候,只需要更新SBL就可以了。
2025-09-13 19:50:15
1160
原创 【车载开发系列】一文读懂IIC通信
5.当主机收到应答信号后,主机要改变通信模式(主机将由发送变为接收,从机将由接收变为发送)所以主机重新发送一个开始start信号,然后紧跟着发送一个从机地址,注意此时该地址的第8位为1,表明将主机设置成接收模式开始读取数据。一块硬件电路,硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的,硬件(固件)I2C是直接调用内部寄存器进行配置。6.这时候主机等待从机的应答信号,当主机收到应答信号时,就可以接收1个字节的数据,当接收完成后,主机发送非应答信号,表示不在接收数据。
2025-09-04 22:10:55
753
原创 【车载开发系列】UART,IIC与SPI通信方式的区别
该总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。最大传输速率为10Mbps(1250KB/s),在100Kb/S(12.5KB/s)的传输速率下,才可以达到最大的通信距离。-------super speed :理论上最高达4.8Gbps,实际中,也就是high speed 的10倍左右。-------低速模式(low speed):1.5Mbps。
2025-09-04 19:48:56
755
原创 【车载开发系列】初识DBC文件
DBC文件全称是Database CAN,也有的地方把他叫做DataBaseContainer,它是CAN的数据库文件,用于定义CAN总线网络中的消息和信号。例:BO_ 12345 Message1: 8 Vector__XXX。在这里BO_表示这是一条消息的定义;12345代表了消息的ID;Message1代表着消息的名称;冒号后面的8代表了消息的长度;最后的Vector__XXX是发送该消息的节点或设备名称例:SG_ Signal1 : 0|8@1+ (1,0) [0|255] “unit”。
2025-08-31 18:49:13
1230
原创 【车载开发系列】CAN与CANFD下篇
CAN通信的最大传输速率通常为1Mbps,而CAN FD通信提供了更高的速率,可达到最高8Mbps。CAN和CANFD在物理层是一致的,但在传输性能、数据段长度、帧类型、波特率灵活性、CRC校验和帧结构上都存在较大差异,CANFD在经典CAN的基础上提升了通信速度和数据容量。从经典CAN到CANFD,很好的解决了ID不足以及改善总线负载率的问题。在一些特定的情况下CAN FD能用在仅使用传统CAN的ECU上,这样就可以逐步引入CAN FD节点,从而为OEM简化程序和降低成本。
2025-08-31 10:40:18
759
原创 【车载开发系列】CAN与CANFD中篇
在物理层,CAN总线要工作起来所有需要的东西,总结起来一共有以下四个:①双绞线、②终端电阻、③收发器、④带有CAN控制器的MCU。在数据链路层,CAN总线通过引入总线仲裁和回读机制,实现通信内容的稳定与可靠。
2025-08-30 16:33:27
1237
原创 【车载开发系列】CAN与CANFD上篇
CAN总线就是控制器局域网总线,是一种用于实时应用的串行通讯协议总线(CAN,Controller Area Network)。它使用双绞线来传输数据,是在汽车电子中应用最广泛的总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。CAN协议的健壮性使其用途延伸至自动化以及工业领域。CAN协议的特点包括了完整性的串行数据通讯、提供实时支持、其中传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。
2025-08-30 13:59:10
1300
原创 【车载开发系列】OTA刷写介绍
OTA升级(Over-The-Air)是指在设备或系统中通过移动通信网络(2G/3G/4G或Wifi等)进行设备零部件上的固件或应用的远程升级技术。Flash Driver就是是闪存驱动。它提供统一的Flash存储访问接口,为不同类型的内置和外置Flash存储设备提供抽象层。通过这些统一的接口,应用层软件可以更方便地进行数据存储和读取,而无需关心底层存储设备的具体实现。在OTA升级过程中,往往需要在发送APP可执行文件之前,向底层先发送一段叫"Flash Driver"的二进制文件。
2025-08-27 08:37:43
829
原创 【车载开发系列】CS+ for CC开发环境IDE
根据我们实际开发的需要,选择单片机微控制器(Microcontroller),然后找到具体的微控制器型号,确认好工程的类型,再输入ProjectName,然后就可以创建工程了。具体在进入瑞萨的官网之后,选择【设计资源】,【开发工具】,然后在类型中选择【IDE and Coding Tool】之后,便可以找到我们需要下载的CS+ IDE软件。先找到RH850瑞萨的官网,官方网站上去找CS+ for CC,找到后我们就可以下载这个开发IDE了。最后软件安装完成之后,双击打开IDE,确认安装软件的版本号。
2025-08-26 10:27:03
607
原创 【车载开发系列】终端电阻(Termination Resistor)
终端电阻在确保总线信号完整性和稳定性方面扮演着至关重要的角色。正确选择和配置终端电阻不仅可以改善信号质量,还能延长系统的使用寿命,降低故障率。用同轴电缆构成局域网时,使用终端电阻的作用是( )。A.防止信号流失B.吸收信号防止信号反射造成干扰C.使同轴电缆的内芯与外屏蔽线相连构成回路D.没有任何作用,可有可无答案选择:B。在长线信号传输时,一般为了避免信号的反射和回波,需要在接收端接入终端匹配电阻。终端电阻是为了消除在通信电缆中的信号反射。在通信过程中,有两种信号会导致信号反射。
2025-08-26 07:00:00
1294
原创 【车载开发系列】ParaSoft集成测试环境配置(五)
到这里为止,集成测试环境的构筑可以说已经完成了。所有C文件参与编译执行软硬件环境剥离编译开关的活用自动桩函数的基础上,积极加入手动桩函数需要特别注意测试夹(TestSuiteSetup)的初始化与还原测试夹(TestSuiteTearDown),因为一个集成环境需要运行复数个测试用例。
2025-08-25 13:56:28
607
1
原创 【车载开发系列】汽车零部件DV与PV试验的差异
ET阶段的核心是DV试验(设计验证),PT阶段的核心是PV试验(生产验证),二者分属产品开发的不同环节,共同确保产品从设计到量产的可靠性。在整车开发过程中,主机厂对汽车零部件从模块到整车进行一系列的性能测试。DV是验证零件设计是否满足要求,PV是验证零件供应商的生产是否满足设计要求,以及产线质量的稳定性。DV测试为PV测试奠定了基础,PV测试是对DV测试的进一步验证和完善。重点:DV测试侧重于设计是否符合要求,PV测试则侧重于实际性能。DV测试主要在设计阶段进行,而PV测试则在车辆接近完成时进行。
2025-08-25 13:50:11
1207
原创 【车载开发系列】BUSOFF全面概念
Bus Off就是总线关闭,总线为什么会出现Bus Off?其实这和CAN总线的错误处理机制有关。ECU在向CAN总线发送消息时,出现发送失败。此时,ECU每发送失败一次,发送错误计数器就会累加,如果发送错误计数器的值累计达到最大阈值时,ECU会进入Bus Off模式。Busoff的出现主要是为避免CAN总线上某个设备因为自身原因(例如硬件故障)导致无法正确收发报文而不断的破坏总线的数据帧,从而影响其他正常节点的通信。
2025-04-06 17:29:54
1362
原创 【车载开发系列】GPIO模式分类
IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。IO口在无输入的情况下,可以读取引脚电平,内部连接上拉电阻,悬空时默认为高电平,并保持高电平。GPIO是引脚,所有的GPIO引脚都有输入输出的功能,但是并不是所有的引脚都是GPIO。IO口在无输入的情况下,通过内部下拉电阻将GPIO端口保持在低电平状态,保持低电平。推挽和开漏的区别:推挽既可以输出高电平,也可以输出低电平,开漏只能输出低电平。与复用推挽输出类似,但输出模式为开漏输出,需要外部上拉电阻。
2025-01-05 19:53:13
918
原创 【车载开发系列】限位开关的概念
限位开关又称行程开关,用于反应设备机械位置的变化,并在设备达到预定位置时实现电路的切换,进而实现行程控制、限位保护、报警、联锁启停设备等功能。原点开关与限位开关的工作原理是相同的,它们都可以用来定位,但原点开关则是用来归零的。它是系统中常见的开关,用于检测机械部件是否达到预期位置,被广泛应用于各种机械和自动化系统中,用于安全防护、位置检测、计数等。就是将开关安装在运动部件的指定位置,当机械开关的机械触头碰到挡块时,改变了控制电路,机械就停止运动或者改变运行。限位开关可以分为接触式开关和非接触式开关。
2025-01-05 19:35:27
915
原创 【车载开发系列】测试左移与测试右移
将测试延伸到研发阶段之后的其他阶段就是测试右移。测试右移是产品上线了之后也可以进行一些测试活动。在生产环境直接做测试是不推荐的,但是我们可以在生产环境做监控,监控线上性能和可用率,一旦线上发生任何问题,尽快反应,提前反应,给用户良好的体验。尽量做到技术人员要比业务方先发现问题。总结起来,对测试同学来说,版本上线后需要持续关注线上监控和预警,及时发现问题并跟进解决,将影响范围降到最低。
2024-11-02 13:20:03
884
原创 【车载开发系列】ParaSoft单元测试环境配置(四)
在【测试用例浏览器】当中,点击△符号,数据统计—>设置列间距—>选中【合计】以及我们想要显示的行,以后咱们就可以看到各个测试套件当中测试用例的数量了。如果环境变量正确设置的话,打开cmd画面,输入gcc指令之后就可以得到下面的信息。测试配置—>Run Unit Tests当中,选择执行—>【单个的测试用例超时】之后,可以设定超时的时间。打开静态自定义规则,可以启动规则—>启用严重度,这样就可以根据选择严重度来启动或停用响应的规则。在范围设置当中,选择添加资源,哪些资源文件想跳过,这里就可以设置了。
2024-09-29 17:09:45
1376
1
原创 【车载开发系列】MISRA-C概念介绍
MISRA-C是一组针对C语言编程的编码规范,旨在提高软件质量、可靠性和可维护性。MISRA代表Motor Industry Software Reliability Association(汽车工业软件可靠性协会),该协会最初为汽车行业开发了这些规范。虽然最初是为汽车行业设计的,但MISRA-C规范已经成为其他行业的编码标准,如航空航天、医疗设备和铁路系统。
2024-09-21 19:53:19
1945
原创 【车载开发系列】APQP基本概念
APQP、PPAP同属IATF 16949 五大核心质量工具,虽然我们把APQP和PPAP看作是两个独立的工具,但是在使用上它们是不可分离的。假定一个产品缺陷在开发阶段得以解决(预防)的成本如果是“1”,那么在生产过程得以解决(纠正)的成本将是“10”,而如果缺陷流出到顾客,那么其挽回成本将在“100”这个级别甚至更高(比如汽车召回)。团队的努力,(横向职能小组是重要方法,横向职能小组是APQP实施的组织,小组包括了生产,制造,采购,销售,顾客代表等等)很多工作成功的关键要素都是人,APQP亦不例外。
2024-09-21 12:04:36
2107
原创 【车载开发系列】ParaSoft单元测试环境配置(三)
目的是为了找到参与编译的所有目标文件,因为目标文件.c文件都分布在不同的目录中,为了更快更全的找到被测试的对象,可以采用这种方法。在创建自定义桩函数文件的地方,输入桩函数文件名以及桩函数文件的位置。输入完成之后点击完成按钮。在这个向导当中,还可以自动生成测试用例的输入与输出,这样可以大大缩减编写测试用例的时间。在下面咱们指定的目录中(项目资源管理器目录),确认咱们的桩函数是否已经正常的生成。新的测试用例添加,选择被测的函数,以及输入测试用例的名称。检索并在找到的被替换桩的函数之上,点击【创建用户桩函数】
2024-09-15 17:05:01
1711
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅