Skip to content
RFrftools.io
Comms

CAN バスビットタイミング計算ツール

特定のボーレートとサンプルポイントについて、プリスケーラー、時間量子、同期セグメント、伝播セグメント、フェーズバッファセグメントを含むCANバスのビットタイミングパラメーターを計算します

Loading calculator...

公式

tq=1/(fclk/BRP);NBT=SS+PROP+BS1+BS2tq = 1/(f_clk/BRP); NBT = SS + PROP + BS1 + BS2
tqタイムクォンタム (ns)
BRPボーレートプリスケーラー
NBTTQ 単位の公称ビット時間 (tq)
SS同期セグメント (1 tq) (tq)
BS1フェーズ・バッファ・セグメント 1 (tq)
BS2フェーズ・バッファ・セグメント 2 (tq)

仕組み

この計算機は、自動車および産業用ネットワークのCANバスビットタイミングパラメータを決定します。組込みエンジニアや自動車システム設計者は、これを使用してISO 11898-1 (CAN 2.0) およびISO 11898-2 (高速物理層) 仕様に従ってCANコントローラーを構成します。ビットタイムは、Sync_Seg (常に1 TQ)、Prop_Seg (伝搬遅延補償のため1~8 TQ)、Phase_Seg1 (1-8 TQ)、Phase_Seg2 (1-8 TQ) の4つのセグメントに分かれています。バスレベルを読み取るサンプルポイントは、ISO 11898-1:2015 セクション11.3.1.1(道路車両—コントローラーエリアネットワーク—パート1:データリンク層と物理信号)およびISO 11898-2:2016(物理媒体接続層)に従って、ビット時間の75〜87.5%に配置する必要があります。CAN FD タイミングは ISO 11898-1:2015 修正第 1 条に規定されています。500 kbps ネットワーク (最も一般的な車載レート) の場合、ビットタイムは 2 マイクロ秒です。80 MHz のクロックとビットあたり 8 ~ 16 の時間量子では、プリスケーラーの値は 10 ~ 20 の範囲で実現できます。CAN FD では、データフェーズの速度が 2 ~ 8 Mbps に拡張されるため、70~ 80% のサンプルポイントとより厳しい発振器許容誤差(従来の CAN では 0.5% に対して 0.1%)が必要になります。

計算例

車体制御モジュールでは、80 MHz CANクロックを搭載したS32K144マイクロコントローラを使用して500 kbpsでCAN通信を行う必要があります。ISO 11898-1 のタイミング要件によると、ビットタイム = 1/500000 = 2 マイクロ秒です。微調整ではビットあたり 16 TQ を目標とします。タイムクォンタム = 2 マイクロ秒/16 = 125 ナノ秒。プリスケーラー = 80 メガヘルツ x 125 ナノ秒 = 10。87.5% サンプルポイントのセグメント割り当て:Sync_Seg = 1 TQ、Prop_Seg = 5 TQ、Phase_Seg1 = 8 TQ、Phase_Seg2 = 2 TQ。サンプルポイント = (1 + 5 + 8)/16 = 87.5%。SJW (同期ジャンプ幅) = 最小 (位相_Seg1、Phase_Seg2、4) = 2 TQ、ビットあたり +/-250 ns の再同期が可能です。この構成では、伝搬遅延が 5 ns/m で最大 100 メートルのネットワークをサポートします。

実践的なヒント

  • ISO 11898-2に従い、伝搬遅延に対応するため、40メートル未満のネットワークには87.5%のサンプルポイントを使用し、40〜500メートルのネットワークでは75%に減らします。
  • SJW(同期ジャンプ幅)を最大許容値(通常は1〜4 TQ)に設定して、Bosch CAN仕様に従って発振器のドリフトを最大 1.58% まで許容します
  • データ位相が 2 Mbps の CAN FD では、トランシーバーの伝搬遅延が 150 ns 未満(TJA1042 ファミリ)を使用し、スタブの長さは 30 cm 未満に抑えます。

よくある間違い

  • ノード間でビットタイミングの不一致を使用すると、1 TQ の差でもサンプルポイントの不一致が発生し、バス長が 20 メートルを超えるとエラーフレームが 10 ~ 50 倍に増加します
  • サンプルポイントを 90% 以上に設定すると、ISO 11898-1 に違反し、Phase_Seg2 が不十分なため、マルチノードネットワークで 5-15% のエラー率が発生します。
  • 発振器の許容誤差を無視すると、セラミック発振器 (0.5% 精度) はケーブル長が50メートルを超えると故障しますが、水晶 (20 ppm) は1kmの全範囲に対応します。

よくある質問

ISO 11898 では、10 キロビット/秒から 1 メガビット/秒までのレートが定義されています。自動車では 500 kbps (パワートレイン CAN) と 125 kbps (ボディ CAN) を使用します。産業用ネットワークは 250 kbps (デバイスネット) と 125 kbps (CANopen) を使用します。CAN FD はデータフェーズを 2 ~ 8 Mbps に拡張しますが、アービトレーションは 500 kbps のままです。
時間量子 (TQ) は、プリスケーラーを介したCANクロックから導出される最小のタイミング単位です。TQ = プリスケーラー/F_CAN です。各ビットには 8 ~ 25 TQ (最適な調整のため通常は 16 TQ) 含まれています。80 MHz のクロックでは、プリスケーラーが 10 の場合、TQ は 125 ns となり、16 TQ で 2 us ビット時間 (500 kbps) になります。
ISO 11898-1では、同じビット値を読み取るには、すべてのノードが一貫したポイントでバスをサンプリングする必要があります。87.5% のサンプルポイントでは、伝播後の信号セトリングに 12.5% のマージンが得られます。早すぎる (75%) とマージンが無駄になり、遅すぎる (90% 以上) とビット遷移中にサンプリングが行われ、100% アービトレーションが失敗するリスクがあります。

Shop Components

As an Amazon Associate we earn from qualifying purchases.

USB-UART Adapter

USB to serial adapter for protocol debugging and flashing

USB Logic Analyzer

8-channel USB logic analyzer for capturing digital bus traffic

関連電卓