技術情報
産業用コンピューター
![7d90e9fe2e6a5aff487d5971013b602874d86d521b5824f6c45fc20f0f05c013668229a463201](https://www.ibsjapan.co.jp/resources/7d90e9fe2e6a5aff487d5971013b602874d86d521b5824f6c45fc20f0f05c013668229a463201_s.jpg)
終端処理(ターミネーション)の重要性とKvaserの高度なCANソリューションにおける応用
終端処理(ターミネーション)は2つの理由で使用されます。まず、信号品質を向上させるためです。終端処理はビットエッジのリンギング(オシレーション)による通信障害の原因となる反射を防ぎます。反射は信号がケーブルの端に達したときに特に強くなる可能性があるため、ターミネーションアダプタを端に接続します。第2に、終端は、通信の論理1を定義するレセッシブ(recessive)レベルを確実に得るために使用することができます。
なぜ抵抗器を使うのか?
CANは、binary 0 または 1を送信するシリアルプロトコルで、0がドミナント(dominant)、1がレセッシブ(recessive)です。すべてのCANノードのCANドライバは、レセッシブレベルのbinary 1を送信する際には通常、完全にpassiveになります。
レセッシブビット送信時に定義された信号レベルを得るために、通信回線上にパッシブコンポーネント(通常は抵抗器)が必要です。この抵抗器は、特定の電圧レベルまで "プルアップ" または "プルダウン" することができ、または、Single Wire CAN(SWC)は、プルアップ抵抗を使用し、Low Speed CAN(LS-CAN)はプルアップ抵抗とプルダウン抵抗を組み合わせて使用します。SWCとLS-CANはどちらもビットレートが125kbit/s未満なので、異なるCANノード間に抵抗を分配することができます。
信号品質の最大化
優れた信号品質を得るためには、信号媒体としてツイストペア線を使用し、外部ノイズから信号を保護する必要があります。ツイストペアは、安定した信号の往復を実現するために、均一な断面積を確保したツイスト構造になっています。ツイストペアは、安定したインピーダンスを確保します。安定したインピーダンスは、優れた信号品質を確保するために不可欠です。
ツイストケーブルは、2本のワイヤを近接させ、両方のワイヤが共通の電圧ノイズレベルを経験することを保証することで外部電界から信号を保護し、干渉の影響を打ち消します。さらに、ツイストによるワイヤのペアは、磁気擾乱(じょう乱)に対して耐性があります。2本のワイヤ間のギャップが限られているため、磁気の流れにさらされることを最小限に抑えられます。さらに、ツイストにより、次のツイストで反対の流れが確保され、磁場の影響を無効化します。
レセッシブレベルの取得
レセッシブレベルに一定の負荷を提供するために、2つのツイストワイヤの間に抵抗負荷(すなわち抵抗器)を接続します。これにより、2本のワイヤ間に差動電圧を生成するために一定のエネルギーレベルが必要になります。抵抗器は、また、ドミナント信号が消えたときに電圧差がゼロに復帰することを保証します。
1つの課題は、レセッシブレベルを定義する抵抗器に適切な値を選択することにあります。ドミナント信号の送信中、CANユニットがbinary 0を送信しているとき抵抗値が低いと、CANドライバに大電流が要求されることを認識しながら、一定の信号レベルを達成する必要があります。言い換えれば、エネルギーをセーブするためには、抵抗値をできるだけ高くする必要があります。しかし、これには他の欠点があります。
高い抵抗値には2つの課題があります。第1に、抵抗器の値が低い場合、ドミナントレベルをアクティベートするために比較的高いノイズエネルギーを必要とし、低いノイズしきい値は、通信ストリームをエラーに対して脆弱になります。
高抵抗値に関する課題は2つあります。まず、抵抗器の値が低い場合は、比較的高いノイズエネルギーを必要とし、ドミナントレベルを活性化します。低ノイズしきい値を使用すると、通信ストリームがエラーに対して脆弱になります。
第2に、ドミナント状態の間、ケーブルの静電容量はこの信号レベルまで充電されるため、CANドライバがpassive状態に戻る前に、これらのキャパシタを放電する必要があります。ベストなパフォーマンスを得るには、抵抗値を可能な限り低い値にする必要があります。
低スピード通信(<125 kbit/s)の場合、立ち上がりと立ち下がり時間は500 nano秒であり、この信号の変化は、レセッシブからドミナント、またはその逆へと100mにわたって広がります。CAN busが100m未満の場合、バスラインに沿った任意の場所に抵抗を接続することができます。SWCおよびLS-CANでは、負荷はすべてのCANノードに分散されます。これには電気的な利点がありますが、CANノードの数を増やすと、各ノードで抵抗値を増やさない限り、負荷も増加してしまいます。
125 kbit/sを超えるビットレートの場合、ビットレートを上げるとスリューレート(slew rate)も高くなるため、新たな問題が発生します。125kbit/sで500 nano秒のスリューレートで動作する場合、1 Mbit/sで送信するときには50 nano秒のスリューレートが必要になり、ビットエッジが10mのケーブル長に広がってしまいます。CAN busワイヤが5mを超えると、ビットエッジはCAN busのもう一方の端に到達して反射し、もう一方の端に反射して戻り、すべてのエネルギーがケーブル抵抗に吸収されるまで再び反射します。反射は、信号レベルのリンギング(電子回路の内部で発生する信号波の反射や振動によって波形が歪むこと)の原因となるため、それらを取り除くにはエネルギーを吸収する必要があります。これは、CAN busの端にケーブルのインピーダンスと同じ値の抵抗器を接続することで解決できます。それにより、エッジのすべてのエネルギーを吸収し、リンギングのない完璧な矩形波の信号が得られます。
いくつかの質問があります:
- ケーブルの特性インピーダンスとは?
これは、単純な質問ではありません。ケーブルの特性インピーダンスは、ケーブル構成と絶縁材料、銅線の直径などメカニカルに依存するため、すべてのケーブルが同じではありません。一般的な同軸ケーブルの特性インピーダンスは、50~75Ω、CAT5ケーブルは100Ωのインピーダンスを有します。CAN busのターミネータは、ケーブルの特性インピーダンス120Ωと同じ値の抵抗を両端に接続する必要があります。そのため、CAN bus用の120Ωの専用ケーブルを使用することを推奨します。 - CAN busに接続されるノードの数は?
CAN busに接続されているノードの正確な数を検出し、内部終端抵抗を正しい値に調整する必要があります。接続されているノードの数を知るのは簡単なタスクではありませんが、それに応じて抵抗値を変更するのも簡単ではありません。シンプルなソリューションは、60Ωの負荷を保証する120Ωの抵抗をケーブル上の2つの場所に2つ接続することです。これにより、バスラインに接続された任意の数のノードに対して適切なレセッシブレベルが得られます。125 kbit/s以上のビットレートや長いケーブルの場合は、ビットエッジでのオシレーションを防ぐために、ケーブルの両端に負荷を接続する必要があります。 - なぜ、CAN規格は120オームの抵抗が選択されるのでしょうか?
その答えは、ほとんどの自動車用のケーブルにシングルワイヤを使っているからです。一般的に自動車で使用されているワイヤをペアにして撚り合わせると120Ωの特性インピーダンスが得られるでしょう。しかし、このツイストをケーブルにすると、特性インピーダンスは、導体の間隔および直径などのツイスト構造や薄い絶縁体などから、CAT5ケーブルのように105から100Ωに落ちてしまう可能性があります。
これらのことから、CAT5ケーブルをCAN busに使用する場合、120Ωの抵抗は最適な終端抵抗ではありませんが、1 Mbit/sで50 nano秒のスリューレートであれば十分に使えます。しかし、ビットレートを100Mbit/sに上げて、数nano秒のスルーレートを求められると問題が発生します。そのため、CAN busに使用するケーブルは、特性インピーダンス120Ωの高密度編組シールドによるノイズ耐性ケーブルを使用することを推奨します。
![Kvaser PCIEcan HS v2](/storage/kvaser-tech-0006_img02.jpg)
- Kvaser PCIEcan HS v2
- シングルチャネル PCI Express CAN/CAN FDインターフェース
![Kvaser D-sub 9 pin 120 Ohm termination adapter](/storage/kvaser-tech-0006_img03.jpg)
- Kvaser D-sub 9 pin 120 Ohm termination adapter
- D-sub 9ピン 120Ω ターミネーション(終端)アダプター