车载测试之CAN总线

2024-08-26 04:04
文章标签 测试 总线 车载

本文主要是介绍车载测试之CAN总线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于车载测试一直在做,一直也在学习但是从来没有记录下来,后续就记录自己学习的各种车载测试内容

名词解释:

ECU:车载电子控制单元,用来控制车上各个部件的使用

CAN总线:使多个ECU进行通信,而不用使用线束

MPU(微处理器):MPU通常代表一个CPU

  • 全称:Micro Processor Unit。
  • 定位:具有较强的处理和运算能力,用于执行复杂多样的大型程序。
  • 特点
    • 高主频:通常具备较高的主频,甚至达到几GHz。
    • 大容量存储器:需要外挂大容量的存储器(如DDR和FLASH)来支持运行复杂操作系统和大型程序。
    • 多核化:现代MPU普遍支持多核处理。
  • 应用场景:适用于需要高性能计算和复杂算法处理的系统。
  1. MCU(微控制器):MCU强调把CPU、存储器和外围电路集成在一个芯片中

    • 全称:Micro Controller Unit。
    • 定位:内置了CPU、存储器和各种外设接口的芯片,用于低功耗、资源有限的嵌入式系统。
    • 特点
      • 简单控制:执行刺激-响应式的过程控制和辅助功能。
      • 小容量存储器:通常使用片上集成的小存储器。
      • 单一任务:任务类型单一,执行过程简单。
    • 应用场景:适用于控制相关的任务,如传感器数据采集、人机界面、家电控制等。

总之,MPU和MCU的区别在于应用定位不同。MPU注重处理能力,执行复杂任务,需要外挂大容量存储器

CAN总线基本通信原理

CAN收发器可以将MAU发送过来的一根线的普通电平转换为两根导线出去的同时传输的查分电平

 逻辑0与逻辑1判定方法为电压差是否为0,这样can信号就可以通过电压差来进行解析具体的信号值

 

CAN的标准数据帧

can协议中的数据帧:

CAN总线的仲裁机制

多个ECU节点想同时发送报文到CAN总线

CAN总线的仲裁机制:多个ECU节点同时发送报文,报文的ID越小,优先级越高 

CAN报文的用途

应用报文:ECU自己的各自应用场景的报文

诊断报文: 查看ECU的故障码信息,刷写ECU

网络管理报文:需要ECU按照规定发送网络管理报文

标定报文:对ECU进行标定,校准它的一些参数需要发送标定报文

应用报文

周期性发送应用报文的实际用处:如表盘显示当前车内温度以及车外温度,这个温度都是空调ECU发送给CAN总线,然后仪表盘ECU获取这个内容显示的

诊断报文

网络管理

标定报文

 

这篇关于车载测试之CAN总线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1107491

相关文章

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分