分享

CAN总线(三)

 LEMONMEI 2021-12-22

转载自CSDN,原文地址:https://blog.csdn.net/wordwarwordwar/article/details/79405894?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.highlightwordscore&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.highlightwordscore

二、远程帧

通过发送远程帧,总线的节点发出远程帧,请求以前发送给它数据帧的节点再发送一遍。具体发送哪个数据帧,由远程帧的标识符决定。

与数据帧类似,远程帧也有标准格式和扩展格式,而且都由6个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场、帧结尾。

与数据帧相反,远程帧的RTR位是“隐性”的。它没有数据场,数据长度代码DLC的数值是不受制约的(可以标注为容许范围0~8里的任何数值),此数值是相应于数据帧的数据长度代码。远程帧结构如图所示:


远程帧结构

三、错误帧

错误帧由两个不同的场组成,第一个场是不同节点提供的错误标志(Error Flag)的叠加,第二个场是错误界定符。

为了能正确地终止错误帧,“错误认可”的节点要求总线至少有长度为3个位时间的总线空闲。因此,总线的载荷不应为100%。错误帧结构如图:


错误帧结构(图中统一起见出错帧改为错误帧)

(1) 错误标志,有两种形式的错误标志:激活错误标志 和 认可错误标志

“激活错误”标志由6个连续的“显性”位组成;

“认可错误”标志由6个连续的“隐性”的位组成,除非被其他节点的“显性”位重写。

(2) 错误界定符,错误界定符包括8个“隐性”的位。

错误标志传送了以后,每一个节点就发送一个“隐性”的位,并一直监视总线直到检测出一个“隐性”的位为止,然后就开始发送其余7个“隐性”位。

四、过载帧

过载帧(Overload Frame)包括两个位场:过载标志 和 过载界定符,其结构如图:


过载帧结构图

有三种过载的情况会引发过载标志的传送:

接收器的内部情况,需要延迟下一个数据帧和远程帧。

在间歇(Intermission)的第1和第2字节检测到一个“显性”位。

这里有个间歇的概念。我们可以讲讲。间歇属于帧间空间的一部分。它包含三个隐性位。间歇期间,所有的站不允许传送数据帧或远程帧。它唯一要做的就是标示一个过载条件。

如果CAN节点在错误界定符或过载界定符的第8位(最后一位)采样到一个显性位,节点会发送一个过载帧。该帧不是错误帧,错误计数器不会增加。

(1)过载标志(Overload Flag)

过载标志由6个“显性”的位组成。过载标志的所有形式和“激活错误”标志的一样。

(2)过载界定符(Overload Delimiter)

过载界定符包括8个“隐性”的位。

五、帧间空间

数据帧(或远程帧)与先行帧的隔离是通过帧间空间实现的,无论此先行帧类型如何(数据帧、远程帧、错误帧、过载帧)。

帧间空间包括间歇、总线空闲的位场。如果“错误认可”的节点已作为前一报文的发送器,则其帧间空间除了间歇、总线空闲外,还包括称作“挂起传送”(暂停发送)(Suspend Transmission)的位场。

对于不是“错误认可”的节点,或作为前一报文的接收器的节点,其帧间空间如图:


非 “错误认可”帧间空间

对于作为前一报文发送器的“错误认可”的节点,其帧间空间如图:


“错误激活”帧间空间

(1)总线空闲(Bus Idle)

总线空闲的时间是任意的。只要总线被认定为空闲,任何等待发送报文的节点就会访问总线。在发送其他报文期间,有报文被挂起,对于这样的报文,其传送起始于间歇之后的第一个位。

总线上检测到的“显性”的位可被解释为帧的起始。

(2)挂起传送(Suspend Transmission)

“错误认可”的节点发送报文后,节点就在下一报文开始传送之前或总线空闲之前发出8个“隐性”的位跟随在间歇的后面。

如果与此同时另一节点开始发送报文(由另一节点引起),则此节点就作为这个报文的接收器。

最后用脑图总结:


再来几张实物图:


CAN总线接收芯片


CAN总线控制器芯片


标准数据帧波形捕获


扩展数据帧波形捕获

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多