CAN通信の伝送時間

CAN通信は、メッセージ送信失敗を検知する機能や、送信に失敗したメッセージを再送信する機能もあり、耐障害性が高い通信です。

バスのケーブル長は最大1,000mまで伸ばせ、1ビットを伝送するCANビット構成を指定できる通信仕様です。
対応デバイスと組み合わせることで、CAN2.0B, CAN FDに基づく通信を行えます。

CAN FD通信を利用する場合、最大5Mビット/秒のデータ伝送速度を実現できます。
CAN2.0B通信を利用する場合、最大1Mビット/秒の伝送速度を実現できます。

API-CAN(WDM)では、ビットレート、および、3つのパラメーター(TSeg1、TSeg2、SJW)のみで、CANビット構成のタイミングを決定できます。

 

当社CAN通信デバイスへの設定パラメータと、CAN通信の定義との関係図(CAN2.0Bの場合

※以下は、TSeg1=6TQ、TSeg2=3TQの場合を想定※

 

CAN通信の設定原則

 ・サンプル・ポイントがビット時間のおおよそ60%から80%の範囲になるように設定します。
  多くの場合、75%から80%となるように設定することが推奨されます。

 ・同期ジャンプ幅(SJW)と時間セグメント2(TSeg2)とは、同じ値に設定することが推奨されます。

 ・具体的なパラメータ設定例は、「サンプル・ポイント位置 75%とするパラメータ設定例」トピックを参照ください。

 

(参考)当社CAN通信デバイスの設定パラメータ

 当社のCAN通信デバイスは、ビット構成のタイミング設定が簡素化されています。
 以下の4つのパラメータを設定するだけで、CAN通信で定義されているビットレート、同期、およびエラー処理の合成の設定などを自動的に行えるように設計されています。

CAN通信デバイスの
設定パラメータ

概略

設定範囲 (単位:TQ

補足

TSeg1

時間セグメント1
(Timing Segment1)

2TQ~513TQ

CAN通信の開始直後から、サンプル・ポイント終了までの期間です。

TSeg2

時間セグメント2
(Timing Segment2)

1TQ~128TQ

サンプル・ポイント直後から、1ビット送信終了までの期間です。

SJW

同期ジャンプ幅
(Synchronization Jump Wdith)

1TQ~127TQ

1つの同期イベントに使用される調整幅です。

N-prescaler

プリスケーラ
(Prescalar)

(1~32)

API-CAN(WDM)関数では、N-prescalerを直接指定できません。

 API-CAN(WDM)関数で指定した時間セグメント1(TSeg1)、時間セグメント2(TSeg2)、および、同期ジャンプ幅(SJW)は、そのままCAN通信デバイスへ設定されます。

 当社のCAN通信デバイスには、基準クロック(can_clk)が搭載されています。
 このため、API-CAN(WDM)関数で指定したビットレート値から、API-CAN(WDM)ドライバが適切なプリスケーラ(N-prescaler)を決定し、CAN通信デバイスへ設定します。
 API-CAN(WDM)ドライバ内部では、可能な限りプリスケーラ値を小さくし、ビットあたりのTQ数を多くするように調整されます。