====
http://blog.sina.com.cn/s/blog_6a1e3cec0100qiw6.html
----------------------------------------------------------
CAN 总线中主动错误和被动错误的通俗解释
墨衍会员
·
AI 创作全网分发
墨衍智能分发
本文由作者通过墨衍一键同步至各平台
1分发平台
2.4w累计阅读
2.5w+平均单平台
已同步平台
优快云
微信公众号
微博
知乎
掘金
百家号
博客园
抖音
小红书
你的文章也可以这样分发
墨衍会员 ¥399起/年,写一次发全网
我也要 →
码龄19年
====
http://blog.sina.com.cn/s/blog_6a1e3cec0100qiw6.html
----------------------------------------------------------
CAN 总线中主动错误和被动错误的通俗解释
首先建议把广泛使用的“主动错误”和“被动错误”概念换成“主动报错”和“被动报错”。
1. 主动报错站点
只要检查到错误,它立即“主动地”发出错标识。所谓“出错标识“,它本身就是一个“错误的位序列”(连续的6个显性位,不满足CAN协议的“最多5个连续的同性位”要求),目的是“主动地”告诉大家:即使你们没有发现“刚才我已发现”的错误,现在我“以身作则”出错啦!你们该看到这个错误了吧!
2. 被动报错站点
如果检查到错误,它只能干瞪眼“被动地”等别人(主动报错站点)报错,等待的时候它可不能去动总线,直到识别出由主动报错站点发出 的“错误的位序列”,它才松了一口气:有人正式报错了!然后他就可以去竞争总线,该干啥干啥。
3. 出错标识本身没有什么优先级的问题。
4. 对于通过竞争得到总线使用权的发送站点来说,它在一边发一边听,有可能出现以下几种情况:
(a) 它自己就发现错误,它就干脆哗啦哗啦,乱发一气(连续的发六个同性位)。就象你小时候在幼儿园练习写字,写错一个笔画你自己就不耐烦了,在纸上哗啦哗啦乱画一气。目的就是告诉别人(别的站点):出错了!
(b) 它自己没有发现错误,但作为主动报错的接收站点发现了错误(比如因为线路长,干扰大引起的错误),这个发现错误的站点就会立即哗啦哗啦往总线上乱发一气(连续的发六个显性位),就象你小时候在幼儿园练习写字,写错一个笔画你自己没发现,可老师(主动报错站点)发现了就不耐烦了,在你的纸上哗啦哗啦乱画一气。目的就是告诉你自己以及告诉别人(发送站点和别的站点):出错了!
(c) 它自己没有发现错误,但作为被动报错的接收站点发现了错误(比如因为线路长,干扰大引起的错误),这个发现错误的站点只能慢慢的等待,等待别的主动报错站点报错。如果别的主动报错站点没发现错误,那就继续等,一直等到该发ACK的时候不给发送站发这个显性的ACK信号,当然了其他站点可能会发这个ACK,那说明其他站点没有发生错误,没办法,别人能通信,你不能!然后积攒到一定的时候,你就脱离总线吧!再继续等待一段时间,脱胎换骨,重新回到总线上(这个时候错误记录都清0了,你肯定是主动报错站了)。就象你小时候在幼儿园练习写字,写错一个笔画你自己没发现,但被别的同学(被动报错站点)发现了,但他不能说,嘿嘿(乱说话,老师要打屁股的),他就只能等,等老师来发现你的错误(等待主动报错站点报错),或者老师没眼力,那就等到收作业的时候,不收你的(不发ACK),不过老师可能主动来收的(给你发ACK),那你可没办法,继续等吧,等到你也当老师了(脱胎换骨了)...
devicenet协议中关于CAN 的出错管理的规范
一、 错误类型
CAN 提供了检测下列错误类型的机制:
l. 位错误
当发送器将自己发送的电平与总线上的电平相比较,发现两者不相等时产生。隐性位传输时, 显形位的检测在仲裁区, ACK 时间段或被动故障标志传输期间不会导致位错误。
2. 应答错误
当发送器确定信息没有得到应答时发生。在数据帧及远程帧之间存在一个应答时间段。该时间段内,所有接收的节点,无论是否是预定的接收者都必须对接收的信息作出应答。
3. 填充错误
当节点检测到 6 个相同电平值的连续位时发生。在正常工作情况下,当发送器检测到它已经发送了 5 个数值相同的连续位时,那么它将在第六位上插入一个取反值(称之为位填充)。所有接收器在 CRC (循环冗余检查)计算之前将除去填充位。 这样,当节点检测到 6 个连续的具有相同值的位时,即产生一个填充位错误。
4. CRC 错误
当 CRC (循环冗余检查)值与发送器生成值不匹配时发生。每一帧包含一个由发送器初始化的循环冗余检查 (CRC) 域。接收器计算出 CRC值,并与发送器产生的值相比较。如果两个值不相等,即产生 CRC 错误。
5. 格式错误
当在一必须发送预定值的区内检测到非法位时发生。确定的预定义的位值必须在 CAN 帧内的一个确定点发送,如果在这些区域中的一个内检测到非法位值,即产生格式错误。
二、节点错误状态
为了尽量减小网络上故障节点的负面影响,进而提供故障界定, CAN 定义了一个故障界定状态机制。一个节点可能处于下列三种错误状态之一:
1. 错误主动(Error Active)
当一个错误主动节点检测到错误时,它将发送一个错误主动帧,该帧由 6 个连续的显性位组成。这一发送将覆盖其他任何同时生成的发送,并导致其他所有节点都检测到一个填充错误,并依次放弃当前帧。
当处于错误主动状态的节点检测到一个发送问题时,它将发出一个活动错误帧,以避免所有其他节点接收信息包。无论检测到错误的节点是否要接收这个数据都要执行这个过程。
2. 错误被动 (Error Passive)
当一个错误被动节点检测到错误时,它将发出一个错误被动帧。该帧由 6 个连续的隐性位组成,这个帧可能会被同时出现的其他发送所覆盖,如果其它站点没有检测到这一错误将不会引起丢弃当前帧。
3. 离线 (Bus Off)
处于离线状态下的节点不允许对总线有任何影响它在逻辑上与网络断开。
故障界定状态机制中所含过程简述如下:
1. 节点保持对发送和接收错误计数器的跟踪;
2. 节点在开始错误主动状态时错误计数器的值等于0。该状态下的节点假设所有检测到的错误非该节点所为;
3. 错误类型以及检出错误的结点被赋予不同的计数值,这些计数值将根据是发送还是接收错误进行累加。有效的接收及发送使这些计数器递减,直至最小值0;
4. 当这些计数器中的任何一个超出 CAN 定义的阈值时,该节点进入错误被动状态。在此状态下该节点将被认为是导致错误的原因;
5. 当发送错误计数值超出 CAN 定义的另一个阈值时,节点进入离线状态。本规范定义了从离线到错误主动之间的状态转换机制;
6. 当错误被动的节点的发送及接收错误计数器值都减小至CAN 定义的阈值以下时,节点重新进入错误主动状态。

CAN错误状态
什么情况会导致CAN错误帧?
如果总线上传输的数据帧格式与协议规定的帧格式不符合, 就会发生格式错误。比如, 在数据帧和远程帧中的CRC段、 ACK段和帧结束段EOF, 存在1个bit位的CRC界定符、 1个bit位的ACK界定符和7个bit位的帧结束符, 它们均被定义为隐性电平, 如图2所示, 若在这些位置上出现显性电平, 则视为一种格式错误, 接收节点和发送节点都可能向总线发送该种类型错误帧。因此, CAN节点及CAN线束的电容会影响整个网络的电容, 电容越大, 下降边沿越缓, 导致接收节点发生位采样错误, 从而导致错误帧的产生。
can test 接收报文_总线架构30讲,啥是CAN错误帧?真的那么烦人吗?(1/5)
所谓错误帧,就是总线出错了。什么是错误帧呢?为什么会产生错误帧呢?出现错误帧该怎么办呢?我们通过5篇文章来讲清楚这个问题~01错误帧的帧结构在发送和接收报文时,总线上的节点如果检测出了错误,那么该节点就会发送错误帧,通知总线上的节点,自己出错了。错误帧由错误标志和错误界定符两个部分组成。主动错误标志:6个连续的显性位;被动错误标志:6个连续的隐性位;错误界定符:8个连续的隐性位。可以看到...
CAN总线(二)——CAN2.0标准与协议分析
目录 1. CAN协议的基本概念 2.CAN 协议及标准规格 2.1 ISO 标准化的 CAN 协议 2.2 ISO11898 和 ISO11519-2 的不同点 3. CAN协议 3.1 帧的种类 3.2 数据帧 3.3遥控帧 3.4错误帧 3.5 过载帧 4. CAN协议帧的其他要点 4.1 帧间隔 4.2优先级的决定 4.2.1数据帧和遥控帧的优先级 4.2.2标准格式和扩展格式的优先级 4.3位填充 4.4错误的种类 4.5位时...
一文详解CAN总线错误帧
在这一状态下,节点Node_A检测到一个错误就会发送带有被动错误标志的错误帧,因为被动错误标志是连续六个隐性位,所以这个时候总线上正在传输的报文位流不会受到该被动错误帧的影响,其它的节点该发送的发送,该接收的接收,没人搭理这个发送被动错误帧的节点Node_A。在这一状态下,节点检测到一个错误就会发送带有主动错误标志的错误帧,因为主动错误标志是连续六个显性位,所以这个时候主动错误标志将会“覆盖”掉总线上其它节点的发送,而之前在CAN总线上传输的报文就被这“六个连续显性位”破坏掉了。
CAN通信----基本原理_can通讯
CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个 LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的 CAN 通信协议。
Linux 内核源码can相关配置项
这些配置项主要用于控制Linux内核中CAN相关模块的编译和功能启用。根据你的硬件和软件需求,你可以选择性地启用这些选项。基本CAN支持:启用CONFIG_CAN和,用于基本的CAN通信。高级CAN功能:启用和,用于复杂的CAN网络拓扑。特定协议支持:启用和,用于特定的工业和汽车通信协议。
CAN总线的远程、错误帧的作用
http://hi.baidu.com/282280072/item/46f39cffabec2ac1a835a232 CAN总线的远程、错误帧的作用! CAN 远程帧是一个空数据场的帧, 关键是在它的ID场和远程帧标志位,当远程帧标志位为1时他就是远程帧,数据场必须为空,被请求节点通过ID场的辨识来响应,发送被请求的帧到总线上,具体举例,我随便举一个,BCM需
ARM学习(24)Can的高阶认识和错误处理
笔者来聊一下CAN异常的问题分析与处理。
CAN总线的远程、错误帧的作用!
CAN总线的远程、错误帧的作用!
Python连接高斯数据库踩坑实录:从SASL报错到SSL安全连接的完整指南
本文详细记录了Python连接高斯数据库时遇到的SASL authentication报错及其解决方法。通过剖析SASL认证机制,对比了修改数据库配置、使用官方驱动等方案的利弊,并重点提供了通过自动化脚本生成SSL证书,实现安全、免密连接的完整指南,帮助开发者彻底解决连接难题。
Comsol 基于局部谐振压电材料的可调水下低频吸声
它通过建立基于LRPM的水下吸声理论模型,从有效材料的角度分析可调吸声特性和吸声机理,进一步提高吸声性能。该研究发现,薄的LRPM层可以在目标低频范围内实现出色的吸声效果,而这个目标低频可以通过操纵谐振分流电路进行主动调谐。通过引入局部谐振压电超材料和可调谐的谐振分流电路,研究人员能够有效地控制水下低频吸声特性,并且在吸声带宽方面取得了显著的改进。通过利用薄的活性超材料层,LRPM在水声吸声方面展现出潜力,并且通过操纵谐振分流电路,可以实现对吸声特性的精细控制。
CAN总线学习笔记(3)- CAN协议错误帧
转载 CAN总线学习笔记(3)- CAN协议错误帧 1 错误帧的帧结构 在发送和接收报文时,总线上的节点如果检测出了错误,那么该节点就会发送错误帧,通知总线上的节点,自己出错了。 错误帧由错误标志和错误界定符两个部分组成。 主动错误标志:6个连续的显性位;被...
红日-VulnStack靶场-ATT&CK(二):从Weblogic漏洞到域控渗透实战
本文详细解析了红日安全团队VulnStack靶场中从Weblogic漏洞到域控渗透的完整攻击链。通过实战演示Weblogic反序列化漏洞利用、Cobalt Strike持久化控制、域内信息收集及PsExec横向移动等关键技术,复现了企业内网渗透的典型场景,并提供了防御建议。
错误帧的作用
错误帧分为主动错误帧和被动错误帧 主动错误帧:6-12个显示标识位+8个隐形位 被动错误帧:6个隐形错误标识(可被其他在节点在显性位覆盖)+8个隐形位 实现原理 打破CAN总线位填充规则,从而导致接受数据节点产生错误 节点错误形式 主动错误状态:可以正常收发数据(主动、被动错误计数器均小于128),可以发送主动错误帧 被动错误状态:是节点本身受干扰或错误比较多时的工作模式,只能发送被
java三角套利_三角对冲套利-EA原理全解析
它是两个直盘货币和一个交叉盘货币之间的相互对冲,交易员往往受到外界因素的影响无法严格执行造成亏损。该系统经过大量数据统计分析和严格的科学论证计算,并通过多年实盘交易验证可以达到稳定盈利。希望交易员严格按照交易规则执行。此策略利用交叉外汇对的市场价格与其合成价格的价差来实现套利,还以EUR/USD和GBP为例:1,我们关注三个外汇对:EUR/USD,GBP/USD,以及GBP/EUR2,计算GBP/...
2025年情感分析(SA)综述——论文阅读报告
2025年情感分析(SA)综述——论文阅读报告
CAN总线-----帧格式
本期我们就开始学习CAN总线的帧格式,对应帧格式的话,在前面我们学习I2C协议和SPI协议等协议的时候也是类似的学过这些协议在传输过程中是怎么样去实现数据的传输的。[1-2] 帧格式_哔哩哔哩_bilibili。
基于 MATLAB 的精馏塔模拟仿真
基于 MATLAB 的精馏塔模拟仿真精馏塔是一种重要的化工设备,其中乙烯精馏塔和醋酸乙烯精馏塔是常见的两种精馏塔。本文基于 MATLAB 软件,给出了针对这两种精馏塔的模拟仿真代码。
CAN总线
本文是面向 CAN 总线初学者的 CAN 入门书。对 CAN 是什么、CAN 的特征、CAN 的概要及 CAN 的协议进行了说明。
Xilinx FPGA资源解析与使用系列——Transceiver(六)关键时钟梳理之TXOUTCLK和RXOUTCLK
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Xilinx FPGA资源解析与使用系列——Transceiver(六)transceiver内部关键时钟梳理之TXOUTCLK和RXOUTCLK前言TXOUTCLKRXOUTCLK 前言 前面我们已经研读了 transceiver的参考时钟 和复位的相关内容。 但是随着内容的深入,越来越多的信号出现在我的面前。 例如 TXOUTCLK、TXUSERCLK、TXUSERCLK2 RXOUTCLK、RXUSERCLK、RXUSERCLK2
基于ArduPilot的旋翼式无人机飞行器开发系列(二,学习路线)
一,热爱 作为一名耿直的技术男,在这里我只想说一句,热爱是可持续学习的第一要素,也只有热爱才能让你坚持到最后。 至于最后能得到什么,只有你自己知道。常说书中自有颜如玉,书中自有黄金屋。如果你是为了颜如玉,我相信大多数颜如玉做不了你的红颜知己。如果是为了黄金屋,当你持续投入时间和金钱却看不到回报的时候,相信退堂鼓早已隆隆作响。 我给自己的信条就是为当下努力工作,为将来持续学习。当前飞控行业并没有爆发,如果想赚块钱,去互联网汽车,去VR/AR吧,去元宇宙吧。 那么我热爱...
CAN总线上的错误帧
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
CAN总线协议基础
推荐CAN(Controller Area NetWork)是二十世纪八十年代初德国Bosch公司为解决现代汽车中众多控制单元(ECU)之间的数据交换而开发的一种。(可以理解为为了较少线缆的使用,节省成本而开发的技术)对于CAN,。 随着通信技术的发展,现今通信方式和协议五花八门,但是CAN通信仍然是车载网络最安全可靠且应用最广的技术之一。 过去,汽车通常采用常规的点对点通信方式将电子控制单元及电子装置连接起来,但随着电子设备的不断增加,导线数量也随之增多,。总的来讲CAN总线有以下几点优势:CAN总线节点
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
CAN总线简单介绍
什么是CAN总线? Controller Area Network,简称CAN或者CAN bus) 是一种功能丰富的串行总线标准,最早的CAN控制芯片在奔驰车上应用并量产,因为支持多主机,多从机的优点,所以一辆车所有控制器,传感器,电子设备直接的通信只需要两条线就够了,大大优化了整车的布线。 随着技术的不断发展,CAN发布了相应的标准,国际化标准组织,公布了CAN的不同标准; 标准 涵盖内容 ISO 11898-1 数据链路层 ISO 11898-2 高速CAN的物理层
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
CAN总线报文浅析
CAN的报文格式 在总线中传送的报文,每帧由7部分组成。CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。 在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位(RTR)组成的仲裁场。RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。 控制场包括标识符扩展位(IDE),指出是标准格式还是扩展
CAN总线通信原理
CAN总线的仲裁是基于“线与原理(有一个0则为0,全部为1才为1)”,也即,总线上连接多个设备,只要有一个设备输出低电平,那么总线上的电平就为低(这一现象在CAN领域称为“显性”);只有全部设备均输出高电平,总线才能呈现为高电平(称为“隐性”)。可见,只要有一个设备电平显性,那么他就可以覆盖其他所有设备的电平隐性。CAN控制器在发送报文的同时会监听总线状态与自己发送的电平是否一致,如果不一致发生在ID段则会发生仲裁,如果发生在其他区域则会触发相应错误。基于这一原理,如果自己在发送报文时,别的设备也在发送报文
8015
2476
1万+
196

被折叠的 条评论
为什么被折叠?



