Autosar CAN开发05(从实际应用认识CAN波特率)

建议同时阅读本专栏的:

Autosar CAN开发03(从实际应用认识CAN总线的物理层)

Autosar CAN开发04(从实际应用认识CAN报文)

Autosar CAN开发05(从实际应用认识CAN波特率)

前言

当知道了CAN的物理链路,了解了什么是CAN报文。

于是,你兴致勃勃的按照上面的接线方法,接好板子、接上CAN线,接好CAN线、还有终端电阻,再CAN盒接上电脑。

然后安装好电脑的CAN上位机并打开,然后发现。

嗯?怎么要选波特率,仲裁域波特率是啥玩意啊?

没办法,我们不知道是多少,只能问别人,于是,人家告诉你这这个板子的波特率是这么选。然后点击确认,报文就开始出来。

反正报文出来了就行,这个板子的波特率就这么选,记住就好了嘛。

...

相信,大部分的朋友都是这么操作的对吧。

但是,我们可是CAN开发工程师啊,可不能说连个波特率为啥要怎么选都不知道啊。

CAN波特率类型

首先,我们要知道仲裁域波特率是指哪个位置的波特率数据域波特率又是指哪个位置的波特率。

如下面两张图所示:

数据域波特率

仲裁域波特率​

注意,仲裁域波特率并不是单指仲裁域,而是除去数据域的其它地方的波特率:

另外,CAN格式的报文,数据域和仲裁域都是一样的波特率。所以,只要选一个仲裁域的就好了。

对于CANFD格式的报文,数据域和仲裁域是不同的波特率。所以,数据域和仲裁域的波特率都要选。

至于到底要选择波特率多少呢?

这就要根据代码里配置的波特率是多少了,而代码配置为多少,又是根据需求来的了。

深入理解CAN波特率

另外关于波特率我们理解深入一点:

实际上,波特率我是这样理解的:如波特率500k,即1秒/500k=2微秒,也就是说,最小2微秒可以进行一次电平变化,1秒最多可以电平变化500k次。(这个最小2us的一次变化的电平,这个叫做位时间)

再看回这张图(标准CAN格式的报文结构):

可见,标准CAN格式报文的长度(物理层次)为:1+11+1+1+1+4+0(64)+15+1+1+1+7=44~108位。

我们上面还说了,500K波特率的话,位时间是2us。

所以,对于500K波特率的标准CAN格式报文,数据域长度为64bit时,我们在示波器可以看到是这样的:

即,一帧报文的时间长度是:108bit * 2us = 116us。

好了,关于仲裁域波特率和数据域波特率的认识就到这里了。

结束

到这里为止,我们从CAN总线物理层需要的东西,到CAN报文是什么,再到CAN报文在CAN总线上的传输、到CAN波特率都大致了解了一遍。

现在,再看回之前认识CAN总线的那两张图片:

这回是不是就明白了,我们从CAN上位机看到的CAN报文,究竟是怎么来的了。

这篇文章的目的是为了能迅速认识什么是CAN总线和CAN报文,很多关于CAN通讯平时用不上的深入细节都省略了,等到最后这个CAN通讯开发系列快结束的时候,在写CAN驱动时再深入讲解,这样就更容易理解了。

实际上,对CAN入门来说,只要知道CAN的物理链路要怎么去接线,CAN报文是什么东西,这样就能进行CAN通讯开发了,比如CAN应用报文开发、网管报文开发、报文超时故障开发、CAN诊断开发等等。

好了,接下来就可以步入CAN开发了。但是,要开发总得有需求吧?总不能一上来啥需求也不知道,咔咔咔一顿开发,都不知道开发了啥。

下一篇文章,我们会看看CAN通讯开发的需求都是些什么。


建议同时阅读本专栏的:

Autosar CAN开发03(从实际应用认识CAN总线的物理层)

Autosar CAN开发04(从实际应用认识CAN报文)

Autosar CAN开发05(从实际应用认识CAN波特率)

发表日期:2023.12.25

朋友们,关注下我呀,我以我过来人,再用小白的角度认真写的知识总结一定让你的脑子饿肚子进来,扶墙出去...

返回目录:

Autosar BSW 开发笔记(目录)-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32MP157D-DK1开发板Qt镜像构建

上篇介绍了STM32MP57-DK1开发板官方系统的烧录。那个系统包含Linux系统的基础功能,如果要进行Qt开发,还需要重新构建带有Qt功能的镜像 本篇就来介绍如何构建带有Qt功能的系统镜像,并在开发板中烧录构建的镜像。 1 Distribution包的构建 ST…

优化模型:MATLAB整数规划

一、整数规划介绍 1.1 整数规划的定义 若规划模型的所有决策变量只能取整数时,称为整数规划。若在线性规划模型中,变量限制为整数,则称为整数线性规划。 1.2 整数规划的分类 整数规划模型大致可分为两类: (1&…

HAL库的常用库函数(根据学习而更新)

目录 一、常用的GPIO相关HAL库函数 1、GPIO的初始化 2、配置GPIO引脚输出电平 3、切换指定引脚的电平,电平的翻转 4、读取指定GPIO引脚的电平 5、结构体 GPIO_InitTypeDef (引脚)定义: 6、高低电平的表示 7、延时函数&…

Java架构师系统架构需求分析实战

目录 1 导语2 需求分析实战3 核心方法论-架构立方体4 功能性模型-模块定义5 功能性模型-模块关系图6 功能性模型-模块细化 想学习架构师构建流程请跳转:Java架构师系统架构设计 1 导语 架构设计的实战和思维方法的讨论,主要聚焦于需求分析的重要性和方…

buuctf-Misc 题目解答分解97-99

97.[BSidesSF2019]zippy 下载完就是一个流量包 追踪tcp nc -l -p 4445 > flag.zip unzip -P supercomplexpassword flag.zip Archive: flag.zip 压缩包密码 supercomplexpassword 保存为 flag.zip 解压得到flag 98.[GUET-CTF2019]虚假的压缩包 先从虚假的压缩包入手 &am…

逆向P1P2总结

字节八位 word 16位 deword 32 位 00 00 00 e8 是存储32位信息的起点 不是程序运行的起点 为什么电脑有32位与64位之分 寻址宽度 以字节为单位 0xfffffff 1 就是最大容量 转为十进制为 4294967296 / 1024 (k)/1024 (kb)/ 1…

软件测试面试八股文——基础篇

5)错误推测法:是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法 6)正交实验法 7)判定表法 8)测试大纲法 3、提交缺陷的八大要素 1)缺陷编号&#xff1a…

数据通信网络基础华为ICT网络赛道

目录 前言: 1.网络与通信 2.网络类型与网络拓扑 3.网络工程与网络工程师 前言: 数据通信网络基础是通信领域的基本概念,涉及数据传输、路由交换、网络安全等方面的知识。华为ICT网络赛道则是华为公司提出的一种技术路径,旨在通…

合并的单元格如何填充连续的序号

希望你以后碰到合并的单元格,不在一个个输入序号,用以下操作帮你输入连续的序号。 一、操作过程如下 1.有一个基准的单元格在同一列,而且这个基准单元格必须得是序号为1的单元格的上面的一个单元格,这样的话后面才能自动递增&am…

Cesium.js三维地图的实现(依托天地图CDN文件)

零、技术选型: Vue2、VueCli5、天地图、Cesium.js 一、通过天地图官网案例实现 需要引入天地图官方提供的CDN链接访问Cesium.js相关文件 相关文件: https://api.tianditu.gov.cn/cdn/demo/sanwei/static/cesium/Cesium.js https://api.tianditu.gov.cn/…

大数据技术学习笔记(十一)—— Flume

目录 1 Flume 概述1.1 Flume 定义1.2 Flume 基础架构 2 Flume 安装3 Flume 入门案例3.1 监控端口数据3.2 实时监控单个追加文件3.3 实时监控目录下多个新文件3.4 实时监控目录下的多个追加文件 4 Flume 进阶4.1 Flume 事务4.2 Flume Agent 内部原理4.3 Flume 拓扑结构4.3.1 简单…

PyQt5和Qt designer的详细安装教程

Qt designer界面和所有组件功能的详细介绍参考:https://blog.csdn.net/qq_43811536/article/details/135186862?spm1001.2014.3001.5501 目录 0. 写在前面1. Anaconda创建虚拟环境2. 安装PyQt5和Qt designer3. 测试安装成功 0. 写在前面 Qt Designer是Qt提供的一种…

智慧互联网银行引领金融变革,开源网安VulHunter护航数字化发展

某银行作为国内知名的互联网银行,以构建“智慧型互联行”为总体战略目标,始终坚持科技赋能金融的理念。通过AI、大数据、云计算等数字技术与金融业务的探索融合,实现以更低的成本为客户提供便捷、高效和优质体验的互联网金融服务。 架构升级助…

操作无法完成(错误 0x000006ba),Windows 11 PDF打印机无法使用解决办法

操作无法完成(错误 0x000006ba),Windows 11 PDF打印机无法使用解决办法 解决方式一 先重启一次电脑,看看是否可以解决问题。 解决方式二 重新启动 Printer Spooler 服务

【JAVA】黑马MybatisPlus 学习笔记【三】【拓展功能】

3.扩展功能 3.1.代码生成 在使用MybatisPlus以后,基础的Mapper、Service、PO代码相对固定,重复编写也比较麻烦。因此MybatisPlus官方提供了代码生成器根据数据库表结构生成PO、Mapper、Service等相关代码。只不过代码生成器同样要编码使用,…

【QT】可执行文件图标由png格式手动改为ico格式,Qt程序报错原因及解决方案

1问题说明: 在修改可执行文件图标时,由png格式手动改为ico格式,Qt程序会报错。 报错如下: 2解决办法: 登录网页 在线生成透明ICO图标——ICO图标制作,利用ico在线生成透明ICO图标 将生成的ico图标由favicon…

CSRF(Pikachu)

CSRF(get) 首先我们先登录账号 admin 密码是;123456 点击修改个人信息 用F12或者BP 抓包看看我们的url 那么构成的CSRF攻击payload为http://pikachu.shifa23.com/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sexboy&phonenum”手机…

如何申请云闪付支付接口?

随着移动支付的普及,越来越多的商家开始接受各种移动支付方式。而在众多移动支付工具中,云闪付支付接口因其安全、便捷的特点,成为了越来越多商家的首选。那么,如何申请云闪付支付接口呢?本文将为您详细介绍申请云闪付…

PaddleOCR 的使用,极简介绍

安装 参考github的官网就可以: github链接 简单的说,就是两句话: python3 -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple pip install "paddleocr>2.0.1" # 推荐使用2.0.1版本 Python下的使用…

NAT协议的实现方式

在网络通信中,NAT协议(Network Address Translation,网络地址转换)扮演着关键角色,允许内部网络与外部网络之间进行有效的通信。 实现内外网之间网络地址转换的过程中,NAT采用了不同的实现方式,…