電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 59|回復(fù): 0
收起左側(cè)

CAN總線上是否可以同時存在標(biāo)準(zhǔn)幀和擴展幀?

[復(fù)制鏈接]

660

主題

660

帖子

4567

積分

四級會員

Rank: 4

積分
4567
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-12-8 08:01:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

: F( C2 z, o# t9 i點擊上方藍色字體,關(guān)注我們
# U5 t2 P3 l9 Q3 b4 h9 {來源于小伙伴提問。: F2 q, m/ q  z* n, J: A+ }
% _; V  k6 e+ V  M) V6 g8 N
6 e0 ?3 R- A6 w# B. y4 e6 m& H

+ ?' C( K. h( j" w$ a" }; \: `# \標(biāo)準(zhǔn)幀和擴展幀在CAN總線上的共存完全支持,但前提是硬件和軟件配置正確。- c  o/ s7 ^. B1 O2 B
' [2 p  m: O2 r
在你的實驗中,擴展幀接收不穩(wěn)定的可能原因包括仲裁失敗、過濾器配置錯誤、硬件兼容性問題、總線負載過高或軟件邏輯問題。
/ j7 N0 R2 d; P. |9 e( {" D8 o1
1 J: h. y; _" l& u' WCAN協(xié)議支持標(biāo)準(zhǔn)幀和擴展幀的共存
. G; A, }7 {( G8 _' ^1.1 標(biāo)準(zhǔn)幀和擴展幀的定義
" z6 z  F, b8 {* O5 s) s
  • 標(biāo)準(zhǔn)幀(Standard Frame,CAN 2.0A)使用11位的標(biāo)識符(Identifier),數(shù)據(jù)幀格式較短。
  • 擴展幀(Extended Frame,CAN 2.0B)使用29位的標(biāo)識符,包含額外的18位擴展標(biāo)識符,數(shù)據(jù)幀格式更長。
    ; K/ P" m' A4 F' U
    . t5 I5 X  \. w- H, R$ f2 |
    1.2 幀格式差異' Q! t7 W! V$ E3 J
    擴展幀與標(biāo)準(zhǔn)幀的關(guān)鍵差異在于 IDE位(Identifier Extension Bit):
    2 D6 u: _, @4 ^* I標(biāo)準(zhǔn)幀的IDE位為0,表示未擴展。3 D( v( N2 v6 A4 o1 X; _

    % S! \+ B7 G9 u/ f7 e" x" R5 t9 ^2 c擴展幀的IDE位為1,后面跟隨擴展標(biāo)識符。, ]! [  {. Q" a9 [$ h
    1 {# K- X# h$ b8 W( g, \& U
    ; m8 i, D+ c1 p* j" I1 Q

    ' a$ d6 b0 q9 ]2 R4 x4 b2 }, X! R+ i- Z  @# U$ B

    $ d6 C( @1 [, |% C  {, |
    % X3 S* c# |5 Q5 a標(biāo)準(zhǔn)幀和擴展幀在總線上通過仲裁階段正常共存。CAN協(xié)議的仲裁機制基于標(biāo)識符優(yōu)先級,較低的二進制值標(biāo)識符(更多0)具有較高優(yōu)先級。1 @8 B0 L$ B) f. \
    2
    5 a+ F- [: q% }/ I導(dǎo)致擴展幀接收不穩(wěn)定的可能原因
    $ R& [9 y/ w1 k5 _- g! ^2.1 仲裁失敗$ s8 @) M" u8 S( w
    在標(biāo)準(zhǔn)幀和擴展幀共存時,仲裁過程可能導(dǎo)致擴展幀發(fā)送失敗或接收中斷:擴展幀標(biāo)識符更長(29位),在仲裁時優(yōu)先級通常低于標(biāo)準(zhǔn)幀(11位標(biāo)識符)。$ S8 k' m* d2 n
    ( M3 {. q$ P+ R
    如果標(biāo)準(zhǔn)幀頻繁發(fā)送,擴展幀可能因無法贏得總線仲裁而延遲或丟失。
      G# |& g8 P. U解決方法:降低標(biāo)準(zhǔn)幀發(fā)送頻率,確?偩負載較低(推薦總線負載率 為擴展幀分配較高優(yōu)先級(標(biāo)識符值較。。; X6 g2 N' A4 B4 h3 s0 i' w" o8 O
    ( `: P% X% o1 d5 q5 z
    2.2 過濾器設(shè)置問題9 x4 {/ l" @- f
    CAN控制器的硬件過濾器用于篩選接收的幀。+ `2 e. W, u1 m) o* ]0 O/ J
    $ y9 e: n2 h7 e; e4 V( X" i
    如果過濾器配置錯誤,可能導(dǎo)致擴展幀未被正確接收:% h  n: W# k  l0 D9 j+ x1 u
  • 有些控制器僅能啟用部分硬件過濾器,并可能默認(rèn)支持標(biāo)準(zhǔn)幀優(yōu)先。
  • 如果過濾器未正確設(shè)置為支持?jǐn)U展幀(如未啟用擴展幀掩碼),擴展幀可能被丟棄。4 @6 n2 J2 L7 C+ _% i
    ; o! J- q3 r! R2 V- a* t- I; m
    解決方法:檢查并配置CAN控制器的接收過濾器和屏蔽位,確保啟用擴展幀接收。在代碼中明確設(shè)置全接收模式(即關(guān)閉過濾器,僅用于調(diào)試)。8 X; {: ^4 X$ O( U* B2 X* \

    4 U* W4 w3 j- R) |$ G1 \2.3 硬件兼容性問題
    + t% ?/ M- Y( j4 b! p9 v) _某些早期CAN控制器可能只支持CAN 2.0A(僅標(biāo)準(zhǔn)幀),接收擴展幀時可能報錯或忽略。
    : @4 y3 f' G7 [: c1 ?  P2 Z
    7 U) [0 P: B+ D! f6 w( |- @- x檢查實驗環(huán)境中使用的硬件和驅(qū)動是否完全支持CAN 2.0B規(guī)范(支持標(biāo)準(zhǔn)幀和擴展幀)。
    , `/ M3 Y9 d2 ?( P& l5 }' w& ]" ^+ V
    解決方法:確認(rèn)實驗設(shè)備(如收發(fā)器、控制器)和上位機工具是否支持?jǐn)U展幀。更新硬件固件和驅(qū)動版本。
    ) z/ g' i; b6 a: v4 ~
    " ^+ F8 _! x  v. J% j/ o! r2.4 總線負載過高3 x7 c% w- ]7 e3 f
    擴展幀的數(shù)據(jù)量大,幀傳輸時間比標(biāo)準(zhǔn)幀長。在總線負載較高時,擴展幀更容易出現(xiàn)延遲或丟失:CAN總線速率固定(如500 kbps),高頻率的數(shù)據(jù)幀可能導(dǎo)致緩沖區(qū)溢出。特別是標(biāo)準(zhǔn)幀發(fā)送頻率高時,擴展幀更難競爭到總線時間片。9 D- J# k8 `3 Q! B$ w. V  R
    % X& a/ E# \+ D7 o  z  v
    解決方法:減少總線負載,確保發(fā)送幀頻率適中。增加CAN網(wǎng)絡(luò)的波特率(如從250 kbps提高到500 kbps或1 Mbps)。; ?  X3 I& H$ n- i3 ~+ z6 A) J

    2 B! W6 o: [' x5 y6 K- `- g( }1 G2.5 軟件處理不當(dāng)3 C! H9 m3 l" p& @1 W$ X- @- [& `
    軟件可能存在錯誤,如擴展幀未正確解碼、接收中斷優(yōu)先級設(shè)置不當(dāng)或緩沖區(qū)配置不足。
    5 U& O$ o* J0 q
    2 a5 z1 c" O: f5 X/ f上位機工具可能無法正確區(qū)分或顯示擴展幀。' Y/ s& N  F" \8 m8 Q0 S
    ) B+ V' o% p/ }* r# {
    解決方法:調(diào)試并檢查代碼邏輯,確保CAN協(xié)議棧正確處理標(biāo)準(zhǔn)幀和擴展幀。使用更專業(yè)的上位機工具(如CANoe、PCAN-View)進行幀分析。& S. B; p+ a" t0 n7 b- a7 d
    3/ A4 v& U& \: j- d' C6 w
    實驗建議與優(yōu)化* a& o  O% T$ }* j" g( i
  • 分離測試標(biāo)準(zhǔn)幀和擴展幀:單獨發(fā)送標(biāo)準(zhǔn)幀和擴展幀,確保兩者在獨立情況下均能正常工作。
  • 優(yōu)化總線負載:監(jiān)測總線負載(使用專業(yè)工具如CANalyzer)并調(diào)整幀發(fā)送頻率,避免過載。
  • 調(diào)整優(yōu)先級:分配較低優(yōu)先級給標(biāo)準(zhǔn)幀,確保擴展幀能夠爭奪總線仲裁。
  • 檢查硬件和配置:驗證控制器、驅(qū)動程序和上位機工具是否完全支持CAN 2.0B。
  • 使用示波器或邏輯分析儀:捕獲總線信號,分析幀格式和錯誤標(biāo)志(如ACK Error、Bit Error),定位問題根源。
    * Y9 \6 a1 z" t) f$ ?
    $ n, t# p6 @. Q7 \
    " r4 F8 S$ B' o5 S& d

    1 N8 U& v4 f: T; t$ M
    3 u' z6 y9 o7 c點擊閱讀原文,更精彩~
  • 回復(fù)

    使用道具 舉報

    發(fā)表回復(fù)

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規(guī)則


    聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表