车载网络测试 - 总线基础 - CAN总线负载计算

news2024/11/15 23:34:09

16e3e11cb70940a69525c1793f4e1295.png

        我想做过CAN总线测试的都有遇到过拉高总线负载相关的测试,这个时候我们一般都会通过增加报文的数量或者减小报文的周期来实现,但是CAN总线上的负载到底是如何计算的呢?我想很多人都会有这个疑问吧,那么今天我们一起来看下如何计算总线上的负载吧。下面我以标准CAN来进行举例说明。

标准CAN报文的组成

88027e1dd1624c3cb482d82ffd3b3ae1.png

1、起始位:1 bit

2、CANID识别位:11bit

3、控制域(IDE、r、DLC):6 bit control field

4、数据域:0 - 64 bit data field

5、CRC校验(CRC、DEL):16bit field

6、ACK域(ACK、DEL):2 bit

7、EOF结束位:7 bit field

8、帧后间歇位:3 bit field

9、位填充数据:每5个相同的位需要一个相反的位进行填充,大约18bit

        从以上CAN报文的组成我们能够计算出一帧标准CAN报文大约包含1 + 11 + 6 + 2 + 7 + 3 + 18 ≈ 125 bit。

负载计算

        这里我们以高速CAN 500 kBit/s bit rate的帧速率计算的话,大约1个bit传输需要的时间为:

        bit time = 1 / bit rate = 1 / (500 * 1000) s =  2 µs。

        那么大约每帧报文大约需要花费的时间为:(2 µs/bit * 125 bit) = 250 µs.

        在CAN总线上,以500 kBit/s bit rate的帧速率每10ms的周期发送CAN报文来计算CAN负载:

        250 µs / 100 ms = (250 / (10*1000)) * 100 % = 25000 / 100000 % = 2.5 %

        然而我们的总线上当然不会只存在一种周期的报文,当存在多种周期报文我们该如何进行计算呢?下面我们举一个例子看一下:

        总线上存在3个ID的报文,分别是0x101、0x102、0x103,周期分别是10ms、50ms、500ms,那么在1s中内出现在总线上的报文状态:

        ​0x101周期为10ms的报文:每秒钟可发出100帧报文

        0x102周期为50ms的报文:每秒钟可发出20帧报文

        0x103周期为500ms的报文:每秒钟可发出2帧报文

        那么我们可以计算出在1s中出现在总线上的报文一共是122帧报文,在总线上出现122帧报文一共需要的时间为122 * 250 µs = 30500 µs,1s等于1000ms * 1000 = 1 000 000 µs,因此总线负载就是:((122 * 250) / (1000 * 1000)) * 100 % = 3.05 %。

        注意:以上就是总线负载的计算方式只是标准CAN的,不过对于CANFD也是适用的,不过对于CANFD来说,单帧报文的bit位数和波特率有一定的差异,我们在计算的时候需要注意,而且数据段和数据的以外的部分需要分开进行计算。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1438851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CX341A 安装驱动与刷固件

参考 驱动安装1 DPDK编译:支持Mellanox 25Gbps网卡 - 知乎 NVIDIA Mellanox CX网卡固件、驱动系列操作 - 知乎 驱动安装2 Mellanox网卡驱动安装指南 Mellanox OFED_崇尚匀速 追求极致的技术博客_51CTO博客 驱动与固件: 家用万兆网络指南 6 - 比…

当前的脑机交互更像是自动化交互,而不是智能化交互

脑机交互是指通过直接连接人类大脑与外部设备,实现人与计算机、机器或其他设备之间的交互。目前的脑机交互技术还存在许多挑战和限制,因此可以说脑机交互还远远不成熟。当前的脑机交互更像是自动化交互,而不是智能化交互。 目前的脑机交互技术…

ArcGIS学习(六)地理数据库

ArcGIS学习(六)地理数据库 上个任务我们讲了一个非常重要的知识点一一坐标系。这个任务我们带来另外一个很重要的知识点一一地理数据库。 地理数据库的内容相比于坐标系简单很多! 首先,先让我们来学习下地理数据库的理论。 ArcGIS 中的地理数据库(Geodatabase)是一个用…

Verilog刷题笔记22

题目: Build a priority encoder for 8-bit inputs. Given an 8-bit vector, the output should report the first (least significant) bit in the vector that is 1. Report zero if the input vector has no bits that are high. For example, the input 8’b100…

2019年江苏省职教高考计算机技能考试——一道程序改错题的分析

题目:函数将str字符串中的5个数字字符串转换为整数,并保存在二维数组m的最后一行,各元素为3、-4、16、18、6。并经函数move处理后,运行结果如下: 18 6 3 -4 16 16 18 6 3 -4 -4 16 …

Spark安装(Yarn模式)

一、解压 链接:https://pan.baidu.com/s/1O8u1SEuLOQv2Yietea_Uxg 提取码:mb4h tar -zxvf /opt/software/spark-3.0.3-bin-hadoop3.2.tgz -C /opt/module/spark-yarn mv spark-3.0.3-bin-hadoop3.2/ spark-yarn 二、配置环境变量 vim /etc/profile…

macbook电脑如何永久删除app软件?

在使用MacBook的过程中,我们经常会下载各种App来满足日常的工作和娱乐需求。然而,随着时间的积累,这些App不仅占据了宝贵的硬盘空间,还可能拖慢电脑的运行速度。那么,如何有效地管理和删除这些不再需要的App呢&#xf…

【51单片机】外部中断和定时器中断

目录 中断系统中断介绍中断概念 中断结构及相关寄存器中断结构中断相关寄存器 外部中断实验外部中断配置软件设计实验现象 定时器中断定时器介绍51 单片机定时器原理51 单片机定时/计数器结构51 单片机定时/计数器的工作方式 定时器配置硬件设计软件设计实验现象 中断系统 本章…

运维必会篇-日志(错误日志,二进制日志,查询日志,慢查询日志)

日志 错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过 程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日 志。 该日志是默认开启的&#x…

SpringBoot 事务管理Transactional 数据回滚 数据一致性

介绍 SpringBoot当中的事物他保证了一致性,要么全部一起成功(提交),要么一起失败,失败(回滚)后数据会回到当初的样子,是一组操作的集合。 事物类型 开启事物提交事物回滚事物 案…

计算机毕业设计 | SSM超市进销存管理系统(附源码)

1,绪论 1.1 开发背景 世界上第一个购物中心诞生于美国纽约,外国人迈克尔库伦开设了第一家合作商店,为了更好地吸引大量客流量,迈克尔库伦精心设计了低价策略,通过大量进货把商品价格压低,通过商店一次性集…

面试经典150题——两数之和 II - 输入有序数组

"The only limit to our realization of tomorrow will be our doubts of today." - Franklin D. Roosevelt 1. 题目描述 2. 题目分析与解析 2.1 思路一——暴力求解 暴力求解的思路就是通过两次for循环,外层循环遍历整个数组,内层循环遍…

蓝桥杯Web应用开发-CSS3 新特性【练习二:获得焦点验证】

页面上有一个姓名输入框和一个密码输入框&#xff0c;当聚焦输入框时&#xff0c;输入框的背景颜色会发生改变&#xff0c; 新建一个 index3.html 文件&#xff0c;在其中写入以下内容。 <!DOCTYPE html> <html lang"en"><head><meta charset&…

画出TCP三次握手和四次挥手的示意图,并且总结TCP和UDP的区别

三次握手 第一次握手&#xff1a;客户端发送SYN包&#xff08;SYN1, seq0&#xff09;给服务器&#xff0c;并进入SYN_SENT状态&#xff0c;等待服务器返回确认包。第二次握手&#xff1a;服务器接收到SYN包&#xff0c;确认客户端的SYN&#xff0c;发送ACK包&#xff08;ACK1 …

c语言--指针数组(详解)

目录 一、什么是指针数组&#xff1f;二、指针数组模拟二维数组 一、什么是指针数组&#xff1f; 指针数组是指针还是数组&#xff1f; 我们类比一下&#xff0c;整型数组&#xff0c;是存放整型的数组&#xff0c;字符数组是存放字符的数组。 那指针数组呢&#xff1f;是存放…

css绘制向左三角形_纯css 实现三角形

首先这个思路的讲解 就是用到了 border 边框这个属性 一个div 可以设置四边边框 我们先把其他三条边都去掉 只留下一个边框 其他 在设置底边框的宽度 再把内容区域设置为0 就可以了 下面是代码 <div></div>div {width:0;height:0;border-top:30px solid red ;bor…

Django前后端分离之后端实践

django-admin startproject djweb 生成djweb项目 django-admin startapp news 生成news应用 配置models文件 class NewInfo(models.Model):title models.CharField(max_length30)content models.TextField()b_date models.DateField()read models.IntegerFie…

操作系统-信号量机制(整型信号量 记录型信号量)与用信号量实现进程互斥,同步,前驱关系

文章目录 信号量机制总览信号量机制整型信号量记录型信号量例子记录型信号量小结 小结 用信号量实现进程互斥&#xff0c;同步&#xff0c;前驱关系总览信号量机制实现进程互斥信号量机制实现进程同步进程同步信号量实现进程同步 信号量机制实现前驱关系小结 信号量机制 总览 …

mysql项目实战,常用sql语句的实战笔记

1.使用sql语句对数据库进行创建 //创建实验用的数据库 CREATE DATABASE jsschool;//使用当前数据库 USE jsschool;//创建学生表 CREATE TABLE student (sno VARCHAR(20) PRIMARY KEY COMMENT 学生编号,sname VARCHAR(20) NOT NULL COMMENT 学生姓名,ssex VARCHAR(10) NOT NULL…

北斗导航助力春运,让回家之路更温馨便捷

北斗导航助力春运&#xff0c;让回家之路更温馨便捷 春运&#xff0c;即春节运输&#xff0c;是中国在农历春节前后发生的一种大规模的高交通运输压力的现象。它它不仅考验着国家的交通运输能力&#xff0c;也考验着公共服务和应急管理的水平。在这样一个背景下&#xff0c;北…