CAN 协议常见面试题总结

0.讲一下CAN通讯的过程

第一段:需要发送的通讯设备,先发送一个显性电平0,告诉其他通讯设备,需要开始通讯。

第二段:就是发送仲裁段,其中包括ID帧和数据帧类型,告诉其他通讯设备,需要和哪个通讯设备进行通讯,以及帧的类型,CAN通讯设备的优先级,就是由ID号决定的,往往ID号越小优先级别越高。为标准帧还是扩展帧,由仲裁段最后一位IDE位的电平决定的,IDE为显性则为标准帧,IDE为隐性则为扩展帧。

第三段,为控制段,共6位,四位储存数据段长度的信息,还有两位为保留位。

第四段:为数据段,固定长度为8个字节,先发送高位,后发送低位。

第五段,为CRC,为验证段;

第六段,为ACK为应答段,发送机发送两个隐形电平,接收机发送一个显性电平,告诉发送机,接收完成。

第七段,结束段,发送7个隐形电平

一CAN物理层

1.CAN使用差分信号进行数据传输,根据CAN_H和CAN_L上的电位差来判断总线电平。

2.总线电平分为显性电平(逻辑0)电位差5V和隐性电平(逻辑1)电位差0V

3.显性电平具有优先权。发送方通过使总线电平发生变化,将消息发送给接收方

4.高速CAN

 

二CAN协议层

0.标准帧和扩展帧区别是什么?标准帧的Id是多少比特?扩展帧的Id是多少比特

扩展帧与标准帧的区别在于扩展帧拥有更长字节的ID,以便能够扩展更多的CAN通讯设备。

标准帧的ID是11位比特长

扩展帧的ID是29位比特长

1.CAN总线以帧形式通信共包含5种帧

数据帧 遥控帧 错误帧 过载帧 间隔帧

数据帧:用于发送单元向接收单元传输数据的帧

遥控帧用于接收单元向具有相同ID的发送单元请求数据的帧

2.数据帧的组成

帧起始 仲裁帧 遥控帧 数据段 CRC段 ACK段 帧结束

3.CAN总线仲裁

多个单元同时发送 ,标准帧与扩展帧之间,标准帧的优先级会更高,扩展帧的优先级更低;相同帧类型中,报文ID值越小,优先级越高

4. CAN总线的的校验机制(CRC校验)?


Can总线的校验机制包括CRC校验和和ACK校验两个部分:

CRC校验和:CAN总线在发送数据帧时会对数据帧进行CRC校验和计算,并将计算结果追加到数据帧末尾。接收方在接收数据帧时会对数据帧进行CRC校验和计算,并将计算结果与数据帧中的CRC校验和进行比较,以判断数据帧是否发生了错误。如果计算结果与CRC校验和不一致,则认为数据帧发生了错误,接收方将丢弃该数据帧。

ACK校验:CAN总线在发送数据帧后,接收方需要向发送方发送一个ACK(应答)信号,告知发送方数据帧已经成功接收。如果发送方在规定的时间内未收到ACK信号,则认为该数据帧发送失败,发送方将重新发送该数据帧。


 

5 终端电阻是多大的?作用是什么

120Ω终端电阻 

在高速CAN通讯的过程中,可能会产生电感现象,对CAN通讯的高低电压产生影响,使得系统无法判别显性或者隐形电平,因此并联一个终端电阻,使得在阻抗高的时候电流可以从终端电阻流过,从而保证CAN通讯的正常运行。

6 CAN的通讯矩阵是哪两种?(制作DBC的时候字节的排列顺序?)


常用格式:

Intel格式(小端,数据低位在内存低位)

Lsb在低字节,msb在高字节,以起始位为原点,从左往右,自上而下填充

Motorola格式(大端,数据低位在内存高位)

Lsb在高字节,msb在低字节,以起始位为原点,从左往右,自上向下填充

7CAN FD 和CAN的 区别:


CAN-FD:一帧数据最长64字节。以理解成CAN协议的升级版,只升级了协议,物理层未改变。传输速率不同、数据长度不同、帧格式不同、ID长度不同。

1)速率不同:

CAN:最大传输速率1Mbps。
CAN-FD:速率可变,最大传输速率8Mbps。

2)数据长度不同

CAN:一帧数据最长8字节

CAN-FD:一帧数据最长64字节。

3)ID长度不同
CAN标准帧ID长度最长11bit。 CAN-FD标准帧ID长度可扩展到12bit。

4)帧格式不同

CAN-FD新增了FDF、BRS、ESI位,

FDF表示CAN报文还是CAN-FD报文。BRS:表示位速率转换,该位隐性时,速率可变,该位为显性时,以正常的CAN-FD总线速率传输(恒定速率)。

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

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

相关文章

智慧农业:农林牧数据可视化监控平台

数字农业是一种现代农业方式,它将信息作为农业生产的重要元素,并利用现代信息技术进行农业生产过程的实时可视化、数字化设计和信息化管理。能将信息技术与农业生产的各个环节有机融合,对于改造传统农业和改变农业生产方式具有重要意义。 图扑…

Android Studio(项目收获)

取消按钮默认背景色 像按钮默认背景色为深蓝色&#xff0c;即使使用了background属性指定颜色也不能生效。 参考如下的解决方法&#xff1a; 修改/res/values/themes.xml中的指定内容如下&#xff1a; <style name"Theme.TianziBarbecue" parent"Theme.Mater…

OSCP系列靶场-Esay-Dawn

总结 getwebshell → SMB共享无密码 → SMB存在上传功能 → 存在周期执行任务 → SMB上传反弹shell → 被执行获得webshell 提 权 思 路 → suid发现zsh → -p容器提权 准备工作 启动VPN 获取攻击机IP > 192.168.45.163 启动靶机 获取目标机器IP > 192.168.242.11 信…

51单片机-定时计数器

文章目录 前言1 原理2.编程 前言 1 原理 2.编程 定时计算&#xff1a; 50ms501000us 一个机器周期&#xff1a;1.085us 65535 - 501000/1.08546082 故 40082*1.08549998.97 /*定时器1&#xff0c;定时模式 工作模式1 16位计数器&#xff0c; 定时20秒后使能蜂鸣器*/ #include…

5 Tensorflow图像识别(下)模型构建

上一篇&#xff1a;4 Tensorflow图像识别模型——数据预处理-CSDN博客 1、数据集标签 上一篇介绍了图像识别的数据预处理&#xff0c;下面是完整的代码&#xff1a; import os import tensorflow as tf# 获取训练集和验证集目录 train_dir os.path.join(cats_and_dogs_filter…

AI+BI行业数字化转型研讨会 - 总结精华回顾

带您一起观看研讨会精彩内容回顾&#xff01; || 导语 AIBI行业数字化转型研讨会—引领未来&#xff0c;智慧转型 德昂信息技术(北京)有限公司于2023年10月26日成功举办了AIBI行业数字化转型研讨会。此次盛会汇聚了产业精英、企业领袖以及技术专家&#xff0c;共同探讨在快速…

Python的编码规范:PEP 8介绍及基本遵循原则

文章目录 PEP 8简介基本遵循原则1. 缩进2. 行宽3. 空行4. 导入5. 空格6. 命名约定7. 表达式和语句中的空格8. 注释9. 编码声明10. 文档字符串PEP 8简介 PEP 8,或Python Enhancement Proposal 8,是一个官方文档,发布于2001年。它由Guido van Rossum,Python语言的创始人,以…

前端框架Vue学习 ——(二)Vue常用指令

文章目录 常用指令 常用指令 指令: HTML 标签上带有 “v-” 前缀的特殊属性&#xff0c;不同指令具有不同含义。例如: v-if, v-for… 常用指令&#xff1a; v-bind&#xff1a;为 HTML 标签绑定属性值&#xff0c;如设置 href&#xff0c;css 样式等 <a v-bind:href"…

Spark 新特性+核心回顾

Spark 新特性核心 本文来自 B站 黑马程序员 - Spark教程 &#xff1a;原地址 1. 掌握Spark的Shuffle流程 1.1 Spark Shuffle Map和Reduce 在Shuffle过程中&#xff0c;提供数据的称之为Map端&#xff08;Shuffle Write&#xff09;接收数据的称之为Reduce端&#xff08;Sh…

MybatisPlus之新增操作并返回主键ID

在应用mybatisplus持久层框架的项目中&#xff0c;经常遇到执行新增操作后需要获取主键ID的场景&#xff0c;下面将分析及测试过程记录分享出来。 1、MybatisPlus新增方法 持久层新增方法源码如下&#xff1a; public interface BaseMapper<T> extends Mapper<T> …

js处理赎金信

给你两个字符串&#xff1a;ransomNote 和 magazine &#xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以&#xff0c;返回 true &#xff1b;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1&#xff1a; 输入&…

自动控制原理--面试问答题

以下文中的&#xff0c;例如 s_1 为 s下角标1。面试加油&#xff01; 控制系统的三要素&#xff1a;稳准快。稳&#xff0c;系统最后不能震荡、发散&#xff0c;一定要收敛于某一个值&#xff1b;快&#xff0c;能够迅速达到系统的预设值&#xff1b;准&#xff0c;最后稳态值…

一台电脑生成两个ssh,绑定两个GitHub账号

背景 一般一台电脑账号生成一个ssh绑定一个GitHub&#xff0c;即一一对应的关系&#xff01;我之前有一个账号也配置了ssh&#xff0c;但是我想经营两个GitHub账号&#xff0c;当我用https url clone新账号的仓库时&#xff0c;直接超时。所以想起了配置ssh。于是有了今天这篇…

【自然语言处理】利用python创建简单的聊天系统

一&#xff0c;实现原理 代码设计了一个简单的客户端-服务器聊天应用程序&#xff0c;建立了两个脚本文件&#xff08;.py文件)&#xff0c;其中有一个客户端和一个服务器端。客户端和服务器之间通过网络连接进行通信&#xff0c;客户端发送消息&#xff0c;服务器端接收消息并…

django+drf+vue 简单系统搭建 (2) - drf 应用

按照本系统设置目的&#xff0c;是为了建立一些工具用来处理简单的文件。 1. 准备djangorestframework 关于drf的说明请参见&#xff1a;Django REST Framework教程 | 大江狗的博客 本系列直接使用drf的序列化等其他功能。 安装 conda install djangorestframework conda i…

VSCode使用插件Github Copilot进行AI编程

演示示例 函数封装 根据上下文 根据注释 详情请看GitHub Copilot 安装插件 在VS Code中安装插件 GitHub Copilot 登录账号 点击VS code左下角账户图标&#xff0c;点击【Sign in】&#xff0c;会自动在浏览器打开Github登录页&#xff0c;登录具有 Github Copilot 服务的…

网工内推 | 上市公司,云平台运维,IP认证优先,13薪

01 上海新炬网络信息技术股份有限公司 招聘岗位&#xff1a;云平台运维工程师 职责描述&#xff1a; 1、负责云平台运维&#xff0c;包括例行巡检、版本发布、问题及故障处理、平台重保等&#xff0c;保障平台全年稳定运行&#xff1b; 2、参与制定运维标准规范与流程&#x…

混沌系统在图像加密中的应用(基于哈密顿能量函数的混沌系统构造1.1)

混沌系统在图像加密中的应用&#xff08;基于哈密顿能量函数的混沌系统构造1.1&#xff09; 前言一、基于广义哈密顿系统的一类混沌系统构造1.基本动力学特性分析2.数值分析 待续 前言 本文的主题是“基于哈密顿能量函数的混沌系统构造”&#xff0c;哈密顿能量函数是是全文研…

案例 - 拖拽上传文件,生成缩略图

直接看效果 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>拖拽上传文件</title>&l…

PTA_乙级_1002

思路&#xff1a;不仅超出int还超出Longlong,直接用string类型定义n&#xff0c;for循环来遍历每一位字符然后转换成数字进行累加&#xff0c;再用to_string把数字和转换成字符串&#xff0c;再用for循环把数字和的每一位定位到pinyin字符串数组上输出 #include <iostream&…