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— ボーレートプリスケーラー
NBT— TQ 単位の公称ビット時間 (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 (同期ジャンプ幅) = min(Phase_Seg1, Phase_Seg2, 4) = 2 TQ、ビットあたり +/-250 ナノ秒の再同期が可能です。この構成では、伝搬遅延が 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)が含まれます。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

関連計算ツール