电子产业一站式赋能平台

PCB联盟网

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

CAN总线上是否允许标准帧和扩展帧具有相同ID?

[复制链接]

853

主题

853

帖子

8351

积分

高级会员

Rank: 5Rank: 5

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

3lzlro3hvrf64025459932.gif

3lzlro3hvrf64025459932.gif
' c  l( C8 f' e* m
点击上方蓝色字体,关注我们
# R$ `* B5 G- ]6 m2 z( q! N8 D在 CAN 总线中,ID 相同的标准帧和扩展帧可以共存,但标准帧因仲裁机制总是优先。
: e0 W6 m2 N) q0 X# G, J, j5 V/ v; W( k5 o( ~

lvdc3sts10o64025460032.png

lvdc3sts10o64025460032.png
, e. |8 x* A+ l+ {
8 t1 b8 j4 N" x1 v3 `6 d' n
- B/ V4 i% k+ [. N! l3 _

mvukbmnciok64025460133.png

mvukbmnciok64025460133.png

; l  W! V/ w8 w6 ]. E. r6 _0 c+ ^
* I" ^- ]1 R0 z& Q& k设计上需要避免因 ID 冲突带来的潜在通信延迟或数据错误。
0 i2 y7 M2 d9 p- S/ P
  • 标准帧 (Standard Frame)
    # X! k6 \* b. Z2 c# G
  • 使用 11 位标识符 (Identifier)。
  • 数据帧结构较短,适用于简单通信需求。2 L: A0 d% ?+ S) d2 b; n
  • 扩展帧 (Extended Frame)1 J# b  \  @- h% W- W
  • 使用 29 位标识符,包括 11 位基础标识符 + 18 位扩展字段。
  • 数据帧结构更长,适用于复杂网络和更大范围的标识符需求。
    : S5 r# }" n1 K4 g; t  j
    8 w" D6 g- q- L7 r- n$ j
    假设标准帧和扩展帧的前 11 位标识符完全相同。
    1 s* c; Y" o- D, Z% F  R
    2 a3 D( d( T& K$ D+ W+ @! h仲裁阶段
    8 k2 v8 |. B* X; {  V4 i5 j
  • 标准帧的 RTR 位会胜过扩展帧的 SRR 位(隐性 0 优先于显性 1)。
  • 标准帧的 IDE 位(隐性 0)会胜过扩展帧的 IDE 位(显性 1)。
  • 因此,标准帧总是会赢得仲裁并优先发送
    : i6 F' ]& A( x3 j; n0 `

    # W  a1 e( V3 u/ X( [* M
    . P+ h8 h) `* ~8 |1 E* G: L
    发送顺序* w4 {9 [/ M. ~7 s- J1 g$ U
  • 在标准帧完成发送后,扩展帧才会参与后续的仲裁和发送。
  • 如果总线没有新的高优先级帧请求,扩展帧可以继续发送。/ U! P0 s& g. q2 C' F9 g

    ) f6 T2 U  k2 d- h' S接收处理* b/ W8 P& p* f3 W# ]/ ?5 ]8 B
  • 接收节点需根据 IDE 位判断帧类型,以正确解析数据。
  • 若某节点设计不当(未能正确处理帧类型),可能导致数据冲突或丢失。
    # u. t5 ?% q' Q- Y- j

    / S( ^% G; q) T7 b# j$ j尽管 CAN 协议支持标准帧和扩展帧共存,但存在以下潜在问题:
      v$ q2 d' D4 U8 Z
    $ l" t# e" A, _) x$ R" M, A, l
    . O* |7 @* B" f7 O/ ]# {) o
    仲裁优先级差异:扩展帧总是处于劣势,可能导致其长时间等待传输,尤其在高负载情况下。$ N2 }% [0 ?7 p2 K) K- J3 Z1 f

    , V0 a' T+ s+ G8 u, H
    : }0 N) G* A4 S2 `
    节点兼容性问题:某些旧版或低复杂度 CAN 控制器可能无法正确处理扩展帧。需确保所有节点支持并正确区分标准帧和扩展帧。
    9 m' Q7 r6 }2 O4 |. `! B1 U2 j/ b( p8 h8 U$ e

    & w  x2 j0 r  t/ h  ~/ Y( w- T  t设计复杂性增加:网络设计需要避免使用容易冲突的 11 位标识符,以减少仲裁竞争。建议在设计中尽量分配不同的 11 位基础标识符,避免不必要的仲裁。% O- h: d  z0 t3 G( Z: _& P

    5mg3gl0rr0z64025460233.jpg

    5mg3gl0rr0z64025460233.jpg

    0 p3 V: J; j; K. [4 G- \1 q8 Y

    oyuir32tnmj64025460333.gif

    oyuir32tnmj64025460333.gif

    ' N+ B- x% j' X/ ]2 y% X6 ?点击阅读原文,更精彩~
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


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