嵌入式面试八股文(十)·RS485特性分析、CAN硬件同步和再同步遵从规则、SPI四种工作模式、错误帧基本概念

目录

1.  相较于传统的RS232接口,RS485的接口特性有哪些?

2.  在CAN接口协议中硬件同步和再同步需要遵从哪些规则?

3.  为什么位错误不能用于帧间隔?

4.  SPI四种工作模式?

5.  关于错误帧,基本概念?

6.  在CAN通信协议中数据帧组成?


1.  相较于传统的RS232接口,RS485的接口特性有哪些?

① 接口电平低,不易损坏芯片。 RS485的电气特性:逻辑“ 1”以两线间的电压差为 +(2~6)V表示;逻辑“ 0”以两线 间的电压差为 --(2~6)V表示。接口信号电平比 RS232降低了,不易损坏接口电路的芯片,且该电平与 TTL电平兼容,可方便与 TTL 电路连接。

② 传输速率高。 10米时, RS485的数据最高传输速率 可达 35Mbps,在 1200m时,传输速度可达 100Kbps。

③ 抗干扰能力强。 RS485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。 传输距离远,支持节点多。 RS485总线 最长可以传输 1200m以上(速率≤ 100Kbps

④ 一般最大支持 32个节点,如果使用特制的 485芯片,可以达到 128个或者 256个节点,最大的可以支持到 400个节点。


2.  在CAN接口协议中硬件同步和再同步需要遵从哪些规则?

① 在一个位的传输过程中,同步机制只会起作用一次,确保数据传输时钟同步,避免多次调整导致时序错乱。

② 只有当上次采样点的总线值和边沿后的总线值不同时,该边沿才能用于调整同步。避免了由于噪声等原因导致无效同步,从而提高了数据传输的可靠性。

③ 在总线空闲且存在隐性电平到显性电平的边沿时,则一定要进行硬件同步。了确保总线状态一致,并准备好进行新的数据传输。

④ 在总线非空闲时检测到的隐性电平到显性电平的边沿如果满足条件(1)和(2),将进行再同步。但还要满足下面条件。

⑤ 发送单元观测到自身输出的显性电平有延迟时不进行再同步。如果该信号的显性电平(逻辑“1”)出现延迟,表示信号的传播存在问题,这可能会导致再同步失败,因此在这种情况下,不进行再同步操作。这有助于防止由于传输延迟导致的时序错误。

⑥ 发送单元在帧起始到仲裁段有多个单元同时发送的情况下,对延迟边沿不进行再同步。

CAN总线位同步的使用以及总线仲裁规则详解_can信号仲裁-CSDN博客


3.  为什么位错误不能用于帧间隔?

位错误发生在数据传输期间:位错误是指在数据帧传输过程中,发送端和接收端对某个比特的值有不一致的理解,这通常发生在数据帧的传输中,而不可能发生在帧间隔这个空闲时间段。

帧间隔不包含数据:帧间隔是两帧数据之间的空闲时间,并不涉及数据传输。位错误是指在传输数据过程中出现了比特值错误,通常发生在数据帧内的比特流中,而帧间隔本身不传输数据,因此不可能在帧间隔期间出现位错误。

帧间隔时间的作用:帧间隔的目的是提供足够的时间间隔以保证总线的空闲状态,从而避免帧与帧之间的冲突。它有助于同步数据帧的发送和接收,而与数据内容的正确性无关。因此,位错误机制并不适用于这种空闲状态。

CAN总线数据帧格式详细介绍-CSDN博客


4.  SPI四种工作模式?

SPI的工作模式由两个重要的参数控制:

时钟极性(CPOL):决定时钟信号的空闲状态,是高电平还是低电平。
时钟相位(CPHA):决定数据的采样时刻,即数据是采样在时钟的上升沿还是下降沿。

模式CPOLCPHA时钟空闲状态数据采样
模式000低电平上升沿
模式101低电平下降沿
模式210高电平上升沿
模式311高电平下降沿

STM32F1之SPI通信·软件SPI代码编写-CSDN博客


5.  关于错误帧,基本概念?

① 错误标志包括主动错误标志和被动错误标志两种, 主动错误标志由6 个位的显性位构成。被动错误标志由6 个位的隐性位构成。

② 错误界定符由 8 个位的隐性位构成。

③ 节点处于主动错误状态可以正常通信,处于主动错误状态的节点(可能是接收节点也可能是发送节点)在检测出错误时,发出主动错误标志。

④ 节点处于被动错误状态可以正常通信,处于被动错误状态的节点(可能是接收节点也可能是发送节点)在检测出错误时,发出被动错误标志。

⑤ 节点处于总线关闭状态不能收发报文,只能一直等待,在满足一定条件时才能再次进入到主动错误状态正常收发报文。

八万字解析CAN总线协议·从入门到实战保姆级教学(源码可直接移植使用)_can总线嵌入式开发--从入门到实践-CSDN博客


6.  在CAN通信协议中数据帧组成?

数据帧由 7 个段构成:帧起始, 仲裁段,控制段,数据段, CRC 段, ACK 段, 帧结束。

数据帧的每段作用如下:

帧起始:标准、扩展格式相同,表示帧开始的段。1 个位的显性位。

仲裁段:表示数据的优先级的段。标准格式和扩展格式在此的构成有所不同。

控制段:控制段由 6 个位构成,表示数据段的字节数。标准格式和扩展格式的构成有所不同。

数据段:标准、扩展格式相同,数据段可包含 0~8 个字节的数据。从MSB(最高位)开始输出。

CRC 段:标准/扩展格式相同,CRC 段是检查帧传输错误的帧。由15 个位的CRC 顺序*1 和1 个位的CRC 界定符(用于分隔的位)构成。

ACK 段:ACK 段用来确认是否正常接收。由ACK 槽(ACK Slot)和ACK 界定符2 个位构成。

帧结束:帧结束是表示该该帧的结束的段。由 7 个位的隐性位构成。

八万字解析CAN总线协议·从入门到实战保姆级教学(源码可直接移植使用)_can总线嵌入式开发--从入门到实践-CSDN博客

千题千解·嵌入式工程师八股文详解_时光の尘的博客-CSDN博客

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

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

相关文章

librdns一个开源DNS解析库

原文地址:librdns一个开源DNS解析库 – 无敌牛 欢迎参观我的个人博客:无敌牛 – 技术/著作/典籍/分享等 介绍 librdns是一个开源的异步多功能插件式的解析器,用于DNS解析。 源代码地址:GitHub - vstakhov/librdns: Asynchrono…

cookie反爬----普通服务器,阿里系

目录 一.常见COOKIE反爬 普通: 1. 简介 2. 加密原理 二.实战案例 1. 服务器响应cookie信息 1. 逆向目标 2. 逆向分析 2. 阿里系cookie逆向 1. 逆向目标 2. 逆向分析 实战: 无限debugger原理 1. Function("debugger").call() 2. …

大数据新视界 -- 大数据大厂之 Impala 性能优化:跨数据中心环境下的挑战与对策(上)(27 / 30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

width设置100vh但出现横向滚动条的问题

在去做flex左右固定,中间自适应宽度的布局时, 发现这样一个问题: 就是我明明是宽度占据整个视口, 但是却多出了横向的滚动条 效果是这样的 把width改成100%,就没有滚动条了 原因: body是有默认样式的, 会有一定的默认边距, 把默认边距清除就是正常的了 同时, 如果把高度设…

百度在下一盘大棋

这两天世界互联网大会在乌镇又召开了。 我看到一条新闻,今年世界互联网大会乌镇峰会发布“2024 年度中国互联网企业创新发展十大典型案例”,百度文心智能体平台入选。 这个智能体平台我最近也有所关注,接下来我就来讲讲它。 百度在下一盘大棋…

探索 RocketMQ:企业级消息中间件的选择与应用

一、关于RocketMQ RocketMQ 是一个高性能、高可靠、可扩展的分布式消息中间件,它是由阿里巴巴开发并贡献给 Apache 软件基金会的一个开源项目。RocketMQ 主要用于处理大规模、高吞吐量、低延迟的消息传递,它是一个轻量级的、功能强大的消息队列系统&…

Android 基于Camera2 API进行摄像机图像预览

前言 近期博主准备编写一个基于Android Camera2的图像采集并编码为h.264的应用,准备分为三个阶段来完成,第一阶段实现Camera2的摄像机预览,第二阶段完成基于MediaCodec H.264编码,第三阶段完成基于MediaCodec H.264解码,针对不同…

QT 线程 QThread QT5.12.3环境 C++实现

一、线程 QT主线程称为GUI线程,负责初始化界面并监听事件循环,并根据事件处理做出界面上的反馈。如果把一些比较复杂或者费时的操作放在主线程中,界面就会出现卡顿或者无响应的现象。一般主线程负责影响界面上的操作, 子线程负责负…

【LLM】一文学会SPPO

博客昵称:沈小农学编程 作者简介:一名在读硕士,定期更新相关算法面试题,欢迎关注小弟! PS:哈喽!各位CSDN的uu们,我是你的小弟沈小农,希望我的文章能帮助到你。欢迎大家在…

Vue3-后台管理系统

目录 一、完成项目历程 1、构建项目 2、项目的自定义选项 3、 封装组件 4、配置对应页面的路由 5、从后端调接口的方式 二、引入Element Plus、Echarts、国际化组件 1、Element Plus安装 2、Echarts安装 3、国际化 三、介绍项目以及展示 1、项目是基于Vue3、Element …

C0030.Clion中运行提示Process finished with exit code -1073741515 (0xC0000135)解决办法

1.错误提示 2.解决办法 添加环境变量完成之后,重启Clion软件,然后就可以正常调用由mingw编译的opencv库了。

【es6进阶】vue3中的数据劫持的最新实现方案的proxy的详解

vuejs中实现数据的劫持,v2中使用的是Object.defineProperty()来实现的,在大版本v3中彻底重写了这部分,使用了proxy这个数据代理的方式,来修复了v2中对数组和对象的劫持的遗留问题。 proxy是什么 Proxy 用于修改某些操作的默认行为&#xff0…

Python浪漫之画明亮的月亮

目录 1、效果展示 2、完整版代码 1、效果展示 2、完整版代码 import turtledef draw_moon():# 设置画布turtle.bgcolor("black") # 背景颜色为黑色turtle.speed(10) # 设置绘制速度# 绘制月亮的外圈turtle.penup()turtle.goto(0, -100) # 移动到起始…

《线性代数的本质》

之前收藏的一门课,刚好期末复习,顺便看一看哈哈 课程链接:【线性代数的本质】合集-转载于3Blue1Brown官方双语】 向量究竟是什么 线性代数中最基础、最根源的组成部分就是向量,需要先明白什么是向量 不同专业对向量的看法 物理专…

鸿蒙系统ubuntu开发环境搭建

在RISC-V等平台移植鸿蒙系统OpenHarmony,需要使用linux环境进行代码的编译,为兼顾日常办公需要,可采用WindowsUbuntu虚拟机的混合开发的环境,通过网络及文件夹共享,在主机和虚拟机之间共享文件数据。 工具准备&#x…

智能停车解决方案之停车场室内导航系统(二):核心技术与系统架构构建

hello~这里是维小帮,如有项目需求和技术交流欢迎大家私聊我们!点击文章最下方获取智慧停车场方案~撒花! 随着城市化进程的加速,停车难问题日益凸显。智能停车系统作为缓解停车压力的有效手段,其核心技术与架构的构建至…

(免费送源码)计算机毕业设计原创定制:Java+JSP+HTML+JQUERY+AJAX+MySQL springboot计算机类专业考研学习网站管理系统

摘 要 大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在大学生在线计算机类专业考研学习网站管理的要求下,开发一…

IDEA2023版本中如何启动项目的多个实例

假设现在要启动多个服务,例如简单的客户端和服务端,默认的idea是只能启动一个的,那么我们需要进行配置允许多个项目的同时启动,现在进行多实例的配置。 第一步 点击Edit Configurations 第二步 点击Modify options 第三步 勾选…

图的邻接矩阵和邻接表存储

目录 邻接矩阵存储法 简介 ​编辑 邻接矩阵举例 无向图邻接矩阵 有向图邻接矩阵 当各条边带有权值时 邻接矩阵算法实现 结构体定义和函数声明 函数的实现 邻接表存储法 简介 邻接表的算法实现 结构体定义和函数声明 函数的实现 邻接矩阵和邻接表的差别 邻接矩阵存…

【Linux命令】grep

Linux命令-grep GREP命令:进行字符串数据的比对,并将符合指定模式的字符串行打印出来。1.命令介绍基础正则表达式原始文档如下: 2.练习题:2.1 练习(一):2.1.1 读取加行号的文件内容:…