CAN通信は、メッセージ送信失敗を検知する機能や、送信に失敗したメッセージを再送信する機能もあり、耐障害性が高い通信です。
バスのケーブル長は最大1,000mまで伸ばせ、1ビットを伝送するCANビット構成を指定できる通信仕様です。
対応デバイスと組み合わせることで、CAN2.0B,
CAN FDに基づく通信を行えます。
CAN FD通信を利用する場合、最大5Mビット/秒のデータ伝送速度を実現できます。
CAN2.0B通信を利用する場合、最大1Mビット/秒の伝送速度を実現できます。
API-CAN(WDM)では、ビットレート、および、3つのパラメーター(TSeg1、TSeg2、SJW)のみで、CANビット構成のタイミングを決定できます。
※以下は、TSeg1=6TQ、TSeg2=3TQの場合を想定※
・サンプル・ポイントがビット時間のおおよそ60%から80%の範囲になるように設定します。
多くの場合、75%から80%となるように設定することが推奨されます。
・同期ジャンプ幅(SJW)と時間セグメント2(TSeg2)とは、同じ値に設定することが推奨されます。
・具体的なパラメータ設定例は、「サンプル・ポイント位置 75%とするパラメータ設定例」トピックを参照ください。
当社のCAN通信デバイスは、ビット構成のタイミング設定が簡素化されています。
以下の4つのパラメータを設定するだけで、CAN通信で定義されているビットレート、同期、およびエラー処理の合成の設定などを自動的に行えるように設計されています。
CAN通信デバイスの |
概略 |
設定範囲 (単位:TQ) |
補足 |
TSeg1 |
時間セグメント1 |
2TQ~513TQ |
CAN通信の開始直後から、サンプル・ポイント終了までの期間です。 |
TSeg2 |
時間セグメント2 |
1TQ~128TQ |
サンプル・ポイント直後から、1ビット送信終了までの期間です。 |
SJW |
同期ジャンプ幅 |
1TQ~127TQ |
1つの同期イベントに使用される調整幅です。 |
N-prescaler |
プリスケーラ |
(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数を多くするように調整されます。