Skip to main content

CANbus診断

ハードウェア障害の診断

CANの問題のほとんどは、配線ミスやCANデバイスの故障に起因します。潜在的なエラーには以下のようなものがあります。

  • 終端抵抗器の欠落または寸法の誤り

    バスは、最初と最後で 120 Ω の終端抵抗で正確に終端する必要があります。

  • 異なるボーレート

    すべての加入者は同じボーレートを使用する必要があります。

  • CANLow、CANHigh、CANGround、V+間の短絡

  • CANLowとCANHighの互換性

  • CANHighとCANLowの長さが異なる

  • CANHighとCANLowはツイストペアではありません。そのため、信号が途切れやすくなります。

  • CANGroundのさまざまな接地源

  • CANバスケーブルの両側接地

    CAN バス ケーブルのシールドの両端が接地されている場合、接地ループが形成され、中断が発生する可能性があります。

  • バスケーブルが長すぎます

    最大バス長は設定されたボーレートによって異なります (表を参照)。

ビットレート

ケーブル長

10kbps

6.7キロ

20 kbps

3.3キロ

50 kbps

1.0キロ

125 kbps

500メートル

250 kbps

250メートル

500 kbps

125メートル

1Mbps

25メートル

ハードウェア障害の検出

_can_img_error_hw1.png
手順. 端子抵抗のチェック

終端抵抗は、ノードのインピーダンスを、使用されている伝送ケーブルのインピーダンスに適合させるために使用されます。インピーダンスの不整合がある場合、送信信号は負荷によって完全に吸収されず、一部が伝送ケーブルに反射されます。信号源、伝送ケーブル、および負荷のインピーダンスが同じであれば、これらの反射は排除されます。このテストでは、CANデータペアケーブルと接続された終端抵抗の直列抵抗を測定します。

  1. すべての CAN ノードの電源をオフにします。

  2. ネットワークの中間と終端で CAN_H と CAN_L 間の抵抗を測定します。

    測定値は50Ω~70Ωの範囲でなければなりません。この値はネットワーク内のすべての場所で同じである必要があります。

  3. 値が 50 Ω 未満の場合は、次の点を確認してください。

    • CAN_H ケーブルと CAN_L ケーブルの間に短絡はありません。

    • 終端抵抗器は 2 つまでしか存在しません。

    • ノードには欠陥のあるトランシーバーはありません。

  4. 値が 70 Ω より大きい場合は、次の点を確認してください。

    • CAN_H ケーブルと CAN_L ケーブルの配線に開回路は存在しません。

    • バス システムには、両端に 1 つずつ、それぞれ 120 Ω の終端抵抗が 2 つあります。

_can_img_error_hw2.png
手順. CAN_H/CAN_Lの電圧

各ノードには、差動信号を送信するCANトランシーバーが搭載されています。ネットワーク通信がアイドル状態のとき、CAN_HとCAN_Lの電圧は約2.5Vです。トランシーバーに障害があると、開回路電圧が変化し、ネットワーク通信に支障をきたす可能性があります。

  1. すべての CAN ノードの電源をオフにします。

  2. すべてのネットワーク通信を停止します。

  3. CAN_H と GND 間の直流電流を測定します。

    測定値は 2.0 V ~ 4.0 V の間である必要があります。2.0 V 未満または 4.0 V を超える場合、1 つ以上のノードに障害のあるトランシーバーがある可能性があります。

  4. 電圧が 2.0 V 未満の場合は、CAN_H ケーブルと CAN_L ケーブルの導通を確認する必要があります。

  5. 電圧が 4.0 V を超える場合は、過電圧をチェックする必要があります。

_can_img_error_hw3.png
手順. 地面

CANネットワークのシールドは、1箇所のみで接地されている場合があります。このテストは、シールドが複数の箇所で接地されているかどうかを示します。

  1. シールドを地面から切り離します。

  2. シールドとグランド間の直流抵抗を測定します。

  3. シールドをアースに接続します。

    抵抗は1MΩ以上である必要があります。これより低い場合は、シールドの接地を追加する必要があります。

_can_img_error_hw4.png
手順. CANトランシーバー抵抗チェック

CANトランシーバーには、CAN_Hを制御する回路とCAN_Lを制御する回路があります。経験上、片方または両方の回路に電気的損傷が発生すると、これらの回路のリーク電流が増加する可能性があります。

抵抗測定器を使用して漏れ電流を測定します。

  1. ノードをネットワークから切り離します。ノードに電流を流さない状態にします。

  2. CAN_H と CAN_GND 間の直流抵抗を測定します。

  3. CAN_L と CAN_GND 間の直流抵抗を測定します。

    通常、抵抗値は1MΩ~4MΩ以上である必要があります。この範囲より低い場合は、CANトランシーバーに欠陥がある可能性があります。

_can_img_error_hw5.png

CANコントローラのエラー処理

エラー処理はCANプロトコルに統合されており、CANシステムのパフォーマンスにとって極めて重要です。エラー処理の目的は、CANメッセージ内のエラーを検出し、送信者が失敗したメッセージを再送信できるようにすることです。すべてのCANコントローラはメッセージ内のエラーを検出しようとします。エラーが見つかると、検出ノードはエラーフラグを送信し、バストラフィックを中断します。他のノードは、エラーフラグによって引き起こされたエラーを検出します(元のエラーをまだ検出していない場合)。そして、適切なアクションを実行し、現在のメッセージを拒否します。

これらのカウンタとバス状態は、CANエラーの診断時にエラーの原因に関する最初の情報を提供することが多い。この情報は、CODESYSユーザーインターフェースとアプリケーションを通じて。