CAN总线简明易懂教程(三)

二、远程帧

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

与数据帧类似,远程帧也有标准格式和扩展格式,而且都由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总线控制器芯片


标准数据帧波形捕获


扩展数据帧波形捕获

  • 20
    点赞
  • 172
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
当涉及到CAN总线教程时,以下是一些重要的主题和步骤,希望能对你有所帮助: 1. 什么是CAN总线? CAN(Controller Area Network)总线是一种常见的实时通信协议,广泛应用于汽车、工业控制和其他领域。它允许多个节点在同一个总线上进行通信,具有高可靠性和高实时性。 2. CAN总线的基本组成 CAN总线由多个节点组成,其中包括一个或多个控制器和多个设备。控制器负责管理总线上的通信,而设备则是实际进行数据交换的节点。 3. CAN总线的通信方式 CAN总线使用一种基于事件的通信方式,即只有在节点有数据要发送时才会发送。这种方式称为事件驱动通信,可以最大程度地提高总线的利用率。 4. CAN总线的物理层 CAN总线的物理层(如电缆、传输速率等)需要根据具体应用来选择。通常使用双绞线作为传输介质,可选择不同的传输速率,例如CAN 2.0标准中的高速(1 Mbps)或低速(125 Kbps)。 5. CAN总线的帧格式 CAN总线使用帧来进行数据交换,包括标准帧和扩展帧。标准帧包含11位标识符,扩展帧则包含29位标识符。帧中还包含数据域、控制域和校验位等字段。 6. CAN总线的错误检测和纠正 CAN总线具有强大的错误检测和纠正能力。每个节点在发送数据时都会对数据进行CRC校验,并在接收数据时验证CRC以检测错误。此外,CAN总线还具有冲突检测和错误恢复机制。 7. CAN总线的应用 CAN总线广泛应用于汽车领域,用于汽车电子系统中的各种控制单元之间的通信。它还被用于工业自动化、航空航天、医疗设备等领域。 这只是一个简要的概述,如果你对CAN总线感兴趣,可以进一步深入学习相关的资料和教程。希望这些信息能够对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值