电子产业一站式赋能平台

PCB联盟网

搜索
查看: 160|回复: 0
收起左侧

为什么在CAN总线中显性电平具有高优先级?

[复制链接]

1001

主题

1001

帖子

8805

积分

高级会员

Rank: 5Rank: 5

积分
8805
发表于 2024-11-29 08:00:00 | 显示全部楼层 |阅读模式

vtelrdyepdq64040050258.gif

vtelrdyepdq64040050258.gif
! @. C9 X( h  J2 ?8 v
点击上方蓝色字体,关注我们
  s5 R6 e% k" t1 P  U! g: `! x5 d/ _6 F. D( R7 O. M
CAN总线采用 线与(Wired-AND) 逻辑,利用差分信号驱动。总线的显性电平(逻辑“0”)通常由发射器主动驱动,而隐性电平(逻辑“1”)是总线的默认状态,由内部的上拉或下拉电阻保持。
8 u/ H( U6 T  x! C. m+ G3 w+ t/ \8 C% ?( J' X+ ]# |7 E9 X
因此,为了在信号冲突或干扰时优先传递明确的指令,“显性”电平被设计为优先。
* D" a; {% }7 Q8 S+ W
! C7 _7 R( B0 d; C4 ?& nCAN总线是一种多主控通信协议,其中的仲裁机制允许多个节点同时发起通信请求,而不发生冲突。这是通过显性优先的规则实现的。& D9 s- u3 w+ v' o

4 M; {- W! F0 x" \8 B3 n7 D9 o/ Z仲裁机制原理:
7 B0 k1 Y' I: q/ @/ a: P5 Q+ M" v
  • 多个节点同时发送数据帧,帧头部分的标识符(ID)用于仲裁。
  • 在每个位时间上,总线上会进行逻辑“与”操作。
  • 如果某个节点发送隐性电平(逻辑“1”),但检测到总线上为显性电平(逻辑“0”),它会停止发送,因为它的优先级较低。! F9 o8 m6 `, m. t  A/ U
    / b8 J! Q+ \0 H* _  S7 J4 `
    所以,使用显性优先:* Z; B1 \* |6 i! o
  • 确保低ID(高优先级)的帧优先发送。
  • 提高总线效率,避免数据冲突和无谓重传。
    7 j2 n5 _' E$ f* R
    2 h1 n0 O! }1 R9 h% i+ w
    如果隐性电平优先,则节点无法可靠检测自身是否胜出仲裁,导致仲裁机制失效。
    - z. m: K! d  X) z2 x8 a6 L( |" H0 T, a3 i: S7 [
    显性电平由驱动器强制施加,抗干扰能力强,在高噪声环境下能更稳定地维持总线状态。
    0 T3 w7 _- L2 J4 y8 r
    % m) ^$ w: x. i9 U9 d硬件设计上,显性电平的驱动需要更高的电流能力,而隐性电平则可以通过弱上拉/下拉维持。& z6 U, Q: X7 S( P" L; t" V4 @
    6 x* X( }, [6 L* R2 j  A
    这样的设计符合经济性与可靠性之间的平衡:显性电平优先意味着只有在必要时才需要高电流驱动,从而减少了能耗。隐性电平作为默认状态,减少了空闲期间的能耗。
    8 P8 {( K# L, b+ D6 k+ w

    4ai5qamhhvh64040050358.jpg

    4ai5qamhhvh64040050358.jpg

    * q- B) O5 p5 J

    lyoc3zjtxji64040050458.gif

    lyoc3zjtxji64040050458.gif

    " g  u$ A% r- F. \* L4 o点击阅读原文,更精彩~
  • 回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表