长春学校网站建设方案咨询/中国新闻网发稿

长春学校网站建设方案咨询,中国新闻网发稿,all in one wordpress,赣州微和联网络科技有限公司1 帧格式 帧格式可理解为定义了传输的数据(叫报文)应该“长什么样”来传输,也为后续设定一些规则如错误检查机制提供了思路。 首先,帧格式可分为以下5种类型: PS:CAN总线任意一个设备可当收也可当发&#…

1 帧格式

帧格式可理解为定义了传输的数据(叫报文)应该“长什么样”来传输,也为后续设定一些规则如错误检查机制提供了思路。


 

首先,帧格式可分为以下5种类型:

PS:CAN总线任意一个设备可当收可当发CAN总线有两种数据传输方式:广播式和请求式。

广播式:CAN其中一个设备其不断地发送报文到总线上,连接到总线上的其他设备“想收就收”。

请求式:CAN中哪个设备有收数据的需求,向发数据方发送一个请求,发数据方收到请求后,才发送报文到总线上。

1.1 数据帧

数据帧有两种格式:标准格式和扩展格式

图上的数字:代表每一段对应的所占的位数,不是点电平逻辑!(黑色粗线才是逻辑电平)

颜色解释:看图的最底下,无论是标准格式还是扩展格式,灰色代表逻辑0,白色代表逻辑1,紫色代表可0可1,ACK位槽特殊情况白色灰色各占一半,规定发送方必须白色即发送逻辑1,接收方必须发送逻辑0

1.1.1 标准格式:

(1)SOF段之前段(帧起始前):总线空闲,上一章提到,高速CAN空闲为1(黑色粗线为逻辑电平1)。

(2)SOF(帧起始):必须为0,表示开始发送了,要与帧之前空闲时1区别,故必须为0;

(3)ID:报文ID共11位,紫色,则视具体情况而定

(4)RTR:远程请求标志位,用于区分数据帧(为0)还是遥控帧(为1),现在是数据帧,如必须为0;

(5)IDE:用于区分标准格式(为0)还是扩展格式(为1),这里为标准格式,故必须为0

(6)r0:保留位,还未用到,为了以后可能升级用,目前先固定设为0。

(7)DLC:表示数字段的长度,数据段要多少字节

(8)DATA:就是传输的数据

(9)CRC:校验算法,会对SOF到DATA的数进行自动检验,得到一个检验码存在这个位置。

(10)CRC界定符:设定为逻辑1

(11)ACK段:ACK槽——ACK界定符:ACK槽为发送方必须白色即发送逻辑1,接收方必须发送逻辑0(同时),ACK界定符设定为逻辑1。(理解:这段可认为是发送方和接收方操作总线权力短暂交接的过程,ACK段前后都是发送方在操作总线,ACK段则是接收方在操作总线,目的是为了让发送方方知道有设备接收了,ACK槽前后要留有权力交接的时间,故设定了CRC界定符和ACK界定符,CRC界定符为逻辑1,发送方释放总线,若有设备接收了,那么ACK槽就会接收方拉下总线,故会出现逻辑0,这样发送方就知道有设备接收到了,接收方发出应答后,又要交出总线的控制权,故接收方在ACK界定符上要发逻辑1,释放总线。)

PS:

  • 数据的应答是一位一位进行的,而不是等所有数据传输完,接收方才来应答。
  • ACK段可多个设备同时拉下总线。

(13)EOF(帧结束):设定为7个逻辑1,表示帧结束了。

1.1.2 扩展格式:

扩展格式是因为ID段不够用用了,所以要加ID段的位数。

扩展格式为了要与标准格式的兼容,再碰到IDE位前,系统也不知道是标准格式还是扩展格式,因此,IDE前的两种格式的解析方式,位数等必须一致(除了帧起始,扩展格式没有),遇到IDE后,则可分标准格式解析还是扩展格式解析,即两种格式可以不一样了。


所以,看到红色框内,即遇到IDE前,先都是11位ID。

此后,标准格式为RTR位+IDE,为了与之一样,扩展格式位SSR+IDE,其实SSR是无用的,强制设定为1,为的是与标准格式的RTR位对应。

遇到IDE位后,扩展格式加进了18位ID,后与标准格式RTR位开始完全一致。

1.2 遥控帧

看结构,遥控帧无数据段(DATA),RTR为隐性电平1(与数据帧区分),其他部分与数据帧相同。

这样理解:遥控帧是请求式,说明接收方向发送方请求发送,那自然没有数据,故没有数据段。

而当是请求式时,需要数据帧和遥控帧配合,先遥控帧(配有一个ID)发出给发送方,发送方收到后,以相同ID报文且用数据帧来发送数据,根据后续仲裁规则,当具有相同ID数据帧和遥控帧同时发送时,数据帧优先,则接收方可以收到数据。

1.3 错误帧

总线上所有设备都会监督总线的数据,错误”或“格式错误”或“应答错误”,这些设备便会发出错误帧来破坏数据,同时终止当前的发送设备

设备默认处于主动错误状态,当某设备处于主动状态时发生的错误太多,就会进入被动错误状态。但无论是哪种状态,但是设备不会乱发错误帧,是当某设备检测出有错误时,该设备才会发出错误帧,即图示错误帧的波形

设备处于主动状态时发出的错误帧的波形为:6个显性位(逻辑0)+6个显性位(逻辑0)【用于延迟】+错误界定符(固定8个逻辑1)

理解:当总线上某一个设备处于主动状态发现错误时,发出6个0,相当于拉下总线,当总线上的传输的数据有1时就会被破换掉,因为0强于1(之前提到),那么最终其他设备收到的数据就被破换掉了。


设备处于被动错误状态时发出的错误帧波形为:6个隐性位(逻辑1)+6个隐性位(逻辑1)【用于延迟】+错误界定符(固定8个逻辑1)

理解:当总线上某一个设备处于被动状态发现错误时,发出6个1,相当于放开总线,就相当于自己这个设备自己破坏自己发的数据,但不破坏总线上别人发的数据(因为总线上数据是1的话就没影响,是0的话,0强于1也没影响)。


  • 两种错误帧都有6位用于延迟:是因为当某一设备发出错误帧时,可能会引起其他设备也出现错误,那么其他设备也可能发错误帧,相当于给一个延迟时间,在来通过界定符来表示结束。
  • 有的同学可能回想,主动发出的错误帧时,发出了六个0,如果刚好总线上的数据也是6个0,那不是没有破换掉数据?或者说不知道是错误帧还是数据,这种情况其实是不可能发生的!!!,连续出现6个0或者6个的情况只能是错误帧,因为CAN还设定了位填充规则(文章末尾)。

1.4 过载帧

当接收方收到大量数据而无法处理时,其可以发出过载帧,延缓发送方的数据发送,以平衡总线负载,避免数据丢失。

可以这样理解:因为发送方的发送频率是其自己决定的,当接收方接收不过来的时候,接收方就可以发出一个过载帧来破坏掉这个数据(过载帧和错误帧类似,连续发送了6个0,我们说错误帧的时候提到过这样会破坏数据),发送方的数据没被收到,那么发送方就会重试,那么,破坏和重试这个过程所用的时间就相当于给接收方延迟,让它有机会慢点收数据。(或者如果发送方有相应的处理机制,收到过载帧后就会调整发送频率)。

过载帧形式:6个显性(逻辑0)+延迟一部分(未确定具体多少位0)+过载界定符(8个1)。

1.5 帧间隔

帧间隔的作用是将数据帧和远程帧与前面的帧分离开。

比如:当设备连续发送数据帧时,需要有帧间隔把这些数据帧分离开。

帧间隔也分主动状态和被动状态。

图上方为主动状态:3位隐性电平(逻辑1)+ 总线空闲(n位逻辑1)

图下方为被动状态:3位隐性电平(逻辑1)+ 延迟传送(8位逻辑1)+ 总线空闲(n位逻辑1)

2 位填充

数据帧和遥控帧发送到总线前其实是进行了位填充再发送到总线上的。

位填充规则:发送方每发送5个相同电平后,自动追加一个相反电平的填充位,接收方检测到填充位时,会自动移除填充位,恢复原始数据。


以下通过下图几个例子来理解:

“即将发送”表示设备要发出去的数据,”移除填充后”是接收方实际接受到的数据,可以看到,以下三个例子这两项都是对应一样的。

第一组:

要发送的数据是100000110,根据位填充规则,连续发送了5个0后,要在他后面追加一个相反电平1,如“实际发送”/“实际接收”所示,接收方最终接收的数据又会把这个追加的1移除。

第二组:

要发的是10000011110,同样,连续5个0后补1得到100000111110,发现补了一个1后又出现了连续5个1的情况,则在后续再追加一个0得到1000001111100,最后实际接收会把这两个填充位都移除。即:位填充插入的数据位,要和原始数据后续的数据位合并,进行新的位填充判定。

第三组:

要发011111111110,连续5个1后补0得到0111110111110,根据第二组得到的规则,追加的0要和后续的位数一起进行为位填充规则判定,发现无连续0,但原始数据中,又出现5个1,0111110111110,故补0得到:01111101111100,同样,最后实际接收会把这两个填充位都移除。

位填充作用:

  • 增加波形的定时信息,利于接收方执行“再同步”,防止波形长时间无变化,导致接收方不能确掌握数据采样时机。
  • 将正常数据流与“错误帧”和“过载帧”区分开,标志“错误帧”和“过载帧”的特异性。(就是我们前面讲错误帧时提到的,不可能在总线上传输的数据出现连续6个相同电平,如果出现,必是错误帧或过载帧)
  • 保持CAN总线在发送正常数据流时的活跃状态,防止被误认为总线空闲。(CAN总线规定,当出现11个1后表示CAN总线处于空闲状态,由上面例子的第三组可以看到,传输的数据不可能是连续11个1的情况,出现了则必是表示CAN总线处于空闲状态。)

注:以上均是通过学习参考文献、哔哩哔哩网站上江协科技官方号以及网络资源所得的个人经验,如有侵权,请联系我,欢迎指正。

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

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

相关文章

1×1卷积的作用与原理详解

11卷积的作用与原理详解 文章目录 11卷积的作用与原理详解引言1. 什么是11卷积?2. 11卷积的数学表达3. 11卷积的主要作用3.1 改变通道数(升维/降维)3.1.1 降维(Dimension Reduction)3.1.2 升维(Dimension I…

网络配置的基本信息

目录 一、网络接口信息 1、关闭虚拟化服务 2、配置临时IP 3、配置静态IP 4、常见网络命令 5、安装Wireshark 一、网络接口信息 输入 ip address,会出现下面的内容 网卡名称及其含义: 网卡名称说明lo 表示本地回环地址。 ens32 有线网卡&#xff0c…

dify绑定飞书多维表格

dify 绑定飞书和绑定 notion 有差不多的过程,都需要套一层应用的壳子,而没有直接可以访问飞书文档的 API。本文记录如何在dify工具中使用新增多条记录工具。 创建飞书应用 在飞书开放平台创建一个应用,个人用户创建企业自建应用。 自定义应…

《HelloGitHub》第 107 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…

【每日一题 | 2025】2.24 ~ 3.2

个人主页:Guiat 归属专栏:每日一题 文章目录 1. 【2.24】P10424 [蓝桥杯 2024 省 B] 好数2. 【2.25】P8665 [蓝桥杯 2018 省 A] 航班时间3. 【2.26】P10905 [蓝桥杯 2024 省 C] 回文字符串4. 【2.27】P10425 [蓝桥杯 2024 省 B] R 格式5. 【2.28】P10426…

跟着官方文档学习UE C++ TArray容器系列 迭代 和 排序

一.首先测试下&#xff0c;官方案例 迭代器的方法&#xff0c;有点不常见。有点像个指针&#xff0c;迭代完还自带break. oid AWXTArrayActor::WXLoopArray() {FString JoinedStr1;FString JoinedStr2;TArray<FString> StrArr { "Hello","Baby",&q…

Qt 对象树详解:从原理到运用

1. 什么是对象树&#xff1f; 对象树是一种基于父子关系的对象管理机制。在 Qt 中&#xff0c;所有继承自 QObject 的类都可以参与到对象树中。 当一个对象被设置为另一个对象的父对象时&#xff0c;子对象会被添加到父对象的内部列表中&#xff0c;形成一种树状结构。 Qt 提…

JavaAPI(网络编程)

网络通信协议 通信协议 ‌所谓通信协议&#xff0c;是指通信双方在进行数据交换时必须遵守的规则和约定。‌这些规则确保了双方能够有效地进行通信&#xff0c;实现信息的交换和资源共享。通信协议定义了传输时的数据格式、控制信息以及传输顺序和速度等&#xff0c;确保双方…

Java---入门基础篇(下)---方法与数组

前言 本篇文章主要讲解有关方法与数组的知识点 ,是基础篇的一部分 , 而在下一篇文章我会讲解类和对象的知识点 入门基础篇上的链接给大家放在下面啦 ! Java---入门基础篇(上)-CSDN博客 感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb; 欢迎各位大佬指点…

Python 爬虫 – BeautifulSoup

Python 爬虫&#xff08;Web Scraping&#xff09;是指通过编写 Python 程序从互联网上自动提取信息的过程。 爬虫的基本流程通常包括发送 HTTP 请求获取网页内容、解析网页并提取数据&#xff0c;然后存储数据。 Python 的丰富生态使其成为开发爬虫的热门语言&#xff0c;特…

图像分类项目1:基于卷积神经网络的动物图像分类

一、选题背景及动机 在现代社会中&#xff0c;图像分类是计算机视觉领域的一个重要任务。动物图像分类具有广泛的应用&#xff0c;例如生态学研究、动物保护、农业监测等。通过对动物图像进行自动分类&#xff0c;可以帮助人们更好地了解动物种类、数量和分布情况&#xff0c;…

PHP:IDEA开发工具配置XDebug,断点调试

文章目录 一、php.ini配置二、IDEA配置 一、php.ini配置 [xdebug] zend_extension"F:\wamp64\bin\php\php7.4.0\ext\php_xdebug-2.8.0-7.4-vc15-x86_64.dll" xdebug.remote_enable on xdebug.remote_host 127.0.0.1 xdebug.remote_port 9001 xdebug.idekey"…

【Java】使用jdk自带的zip压缩实现任意文件压缩打包下载功能(复制即用)

前言 在实际项目中&#xff0c;我们可能会接到将文件或者资料打包压缩导出的需求&#xff0c;例如将系统中某些生成的文件一起打包压缩下载提供给客户使用&#xff0c;今天提供一个jdk自带的工具类快速实现打包压缩的功能&#xff0c;方法我已经封装好&#xff0c;大家如果在项…

腾讯云扩容记录

腾讯云扩容&#xff1a; sudo yum install -y cloud-utils-growpart 安装扩容工具 sudo file -s /dev/vda1 有数据 sudo LC_ALLen_US.UTF-8 growpart /dev/vda 1 sudo resize2fs /dev/vda1 df -Th 完毕 以下是对执行的命令的详细解释以及背后的原理&#xff1a; 1. 安装 cloud…

服务流程设计和服务或端口重定向及其websocket等应用示例

服务流程设计和服务或端口重定向及其websocket等应用示例 目录 服务或端口重定向的服务设计和websocket等应用示例 一、通用请求控制流程 1.1、入口 1.2、所有GET请求首先预检控制单元 1.3、http请求会分别自动307重定向 1.4、所有请求首先执行跨源控制单元 1.5、然后…

使用DeepSeek+KIMI生成高质量PPT

一、使用DeepSeek DeepSeek官网&#xff1a;DeepSeek 点击“开始对话”&#xff0c;进入交互页面。 在上图中&#xff0c;输入问题&#xff0c;即可获取AI生成的结果。 基础模型&#xff08;V3&#xff09;&#xff1a;通用模型&#xff08;2024.12&#xff09;&#xff0c;高…

MySQL—使用binlog日志恢复数据

一、binlog日志恢复数据简介 在 MySQL 中&#xff0c;使用二进制日志&#xff08;binlog&#xff09;恢复数据是一种常见的用于故障恢复或数据找回的方法。以下是详细的使用步骤&#xff1a; 确认 binlog 已启用&#xff1a;首先需要确认 MySQL 服务器已经启用了二进制日志功…

VADv2: 基于矢量表征和概率规划的E2E架构

1. 写在前面 今天分享一篇自动驾驶领域的论文VADv2(End-to-End Vectorized Autonomous Driving via Probabilistic Planning), 基于矢量表征和概率规划的E2E架构,2024年2月份华中科技大和地平线合作的一篇文章, 在经典的端到端模型架构上作出了基于概率规划去输出规划轨迹的…

NLP11-命名实体识别(NER)概述

目录 一、序列标注任务 常见子任务 二、 命名实体识别&#xff08;NER&#xff09; &#xff08;一&#xff09;简介 &#xff08;二&#xff09;目标 &#xff08;三&#xff09;应用场景 &#xff08;四&#xff09;基本方法 &#xff08;五&#xff09;工具与资源 一…

虚拟仿真无线路由器5G和2.4G发射信号辐射对比(虚拟仿真得出最小安全距离,与国际标准要求一致)

1、前言 有人说&#xff0c;只要有电磁波的地方就有辐射。5G和2.4G信号辐射强度是多少&#xff1f;是否会对人体构成危害&#xff1f;无线路由器的2.4GHz频段&#xff0c;频率范围&#xff1a;2.4 GHz 至 2.4835 GHz&#xff0c;信道宽度&#xff1a;通常为20 MHz&#xff0c;…