ツイストペアケーブルの代わりにPCBトレース上のCANバス-考慮すべきポイント
現在のプロジェクトの1つ(ケーブルなし)でシステムのコストを節約するために、CANケーブルを削除し、PCBにトレースを追加します(コネクタを接続するための左から右への1ペア+1ペアのスタブをCANに接続します)各ボードのトランシーバー)。とにかく、無料のピンを備えたコネクタで接続されたPCBのチェーンが続いているので、これはかなり合理的なようです。かなり低速(125kビット/秒)でCANを実装することを計画しています。
各PCBはおおよそ次のようになります。

システムはこのように設定されており、長さは約50mです!

私は他のいくつかの質問(例えば、ここ、ここ、ここ)と記事とアプリケーションノート(これ、これとこれなど)を読みました。しかし、それを完全に理解するにはほど遠いです。
これについていくつか質問があります。
1つ目は、伝送線路のインピーダンスに関するものです。
- 120オーム規格は、CAN_HおよびCAN_Lごとの差動インピーダンスまたはシングルエンドですか?
- 4層ボードで120オームのインピーダンスに到達する方法は?(私はJLCPCB標準の4層スタックアップを使用していますが、それらの計算機では、シングルエンドでは120オームに達しません。差動では、3.5milトレース+ 4mil間隔でしか近づきません。これは絶対最小値に近いです)。
- 120オームに到達するために、バストレースにコンポーネントを追加することはできますか?
シールドについて:
- インピーダンスのトピックにもかかわらず、CAN仕様では、シールド付きツイストペアケーブルが推奨されています。その場合、CANラインを内層の1つに配線し、上、横、下のGNDプレーンでシールドする方がよいでしょうか。
ツイストペアについて:
- ツイストペアに似たPCB上のトレースをモデル化することは理にかなっていますか(たとえば、このようなもの)
全体として、質問は次のように要約できます。
どのトレース幅、どのレイヤーの間隔が4レイヤーPCB上の長いCANトレースに最適な結果をもたらし、どのようにシールドしますか?
回答
私はCANバスを特別に設計していませんが、USB差動ペアとWiFi(2.4 Ghz)シングルエンド伝送ラインを実装しました。
あなたの問題は古典的な差動伝送ラインのように見えます。125kビット/秒はかなり寛容であるはずです。1Mb /秒はよりタフです。
4層ボードの贅沢がある場合は、CAN信号を確実に内層にルーティングしてください。これにより、シールドケーブルと同等の効果が得られます。外側の層は、接地面または電源面である必要があります。接地面と電源面は互いに容量結合し、シールドの目的でほぼ同等にする必要があります。
トレースを交差させて「ツイスト」ペアを作成するというアイデアは興味深いものですが、1)各ビアでの信号反射2)すべての埋め込みビアがボード製造の潜在的な欠陥ポイントであるという頭痛の種が増えると思います。#2はボードハウスの品質に依存します。従来の差動ペア(Zo = 120オーム)を実装します。
伝送線路の間隔を計算するために、SaturnPCBのツールキットが非常に役立つことがわかりました。 http://saturnpcb.com/pcb_toolkit/ 120の特性インピーダンスに到達するには、より広いトレースが必要になる可能性があることに注意してください。
このTI文書によると、ケーブル長の不一致はCANバスで反射の問題を引き起こす可能性があります。 https://www.ti.com/lit/an/slla279a/slla279a.pdf。
送信側とバス上の最後の受信側に(CANバスライン全体に)120オームの終端抵抗を設けることを忘れないでください。
コネクタ:接点がきれいである限り問題ありません。缶バスピンを他の高速ピンからアースピンを挟んで分離します。個人的には、回路基板間の配線にフォールバックする必要がある場合に備えて、はんだパッドまたはCANコネクタも含めます。もしそうなら、私はメインコネクタのCANラインと直列に0オームの抵抗を配置します。これにより、コネクタのCANラインを無効にして、ワイヤに戻す柔軟性が得られます。プランBの設計は、回路基板のレイアウト時に安価です。
トレースの幅と間隔は、PCBスタックアップによって異なります。SaturnPCBのツールキットを[DifferentialPairs]タブで使用します。
私は次のようなスタックアップを使用します
L1 =アース、L2 =信号/伝送ライン、L3 =電源、L4 =信号または
L1 =アース、L2 =信号/伝送ライン、L3 =信号、L4 =電力。
他の層に銅を充填している場合は、ステッチビアでそれらを地面に結び付けることができます。高速信号は、グラウンドフィル(シールド)で分離されていない限り、差動ペアと並列にルーティングしないでください。高速信号が隣接するレイヤーで交差する必要がある場合は、それらを垂直にします。

差動線をレイアウトするには、ツイストペア線のように設計しないでください...ビアはインダクタのように機能し、方向を変えると通常は反射が発生します。したがって、必要なものと最適なものは、単純な直線です。
通常、差動ラインを並べてレイアウトします(疎結合でない場合は、場合によっては機能します)。90°回転しない場合は、両方のトレースを同じ長さ(ほぼ)に保ち、スタブを短くする必要があります(いくつかのcmについて話すことができる場合-あなたは標準で値を見つけることができると思います)。ライン間の距離とトレースの幅を計算する必要があるため、PCB材料と層の厚さを使用して、必要な120オームのインピーダンスを維持します。
あなたは試すかもしれません https://sourceforge.net/projects/atlc/ または http://www.hdtvprimer.com/KQ6QV/atlc2.html 差動伝送ラインを計算します。
Kicadには、伝送線路計算機、または古き良きものも同梱されています http://www.hp.woodshot.com/ HP AppCad ...通常のプログラム可能な計算機用のものもあります。
LVDSのようなはるかに洗練されたシステムのルールに従っている場合、CANは決してあなたを失望させてはなりません-それは非常に過酷な環境でもかなり堅牢です。
https://www.ti.com/lit/an/snla302/snla302.pdf
まだチェックしていませんが、私が覚えている限り、これらの数値は問題ありません。特定のバス速度では、バスラインの長さと1つのスタブの長さがあります... CANで問題が発生したことのないPCBを推測してください。
- 1 MBit / s 40m 0.3m
- 500 kBit / s 100m 0.8m
- 250 kBit / s 200m 1.5m
- 100 kBit / s 500m 3.0m
- 57 kBit / s 1000m 5.0m
- 38 kBit / s 2000m 7.0m
PS:Mr_Engineerが述べたように:あなたは終了する必要があります。しかし、両端(実際のバスなので、どのノードもリッスンして送信します)!両方とも120オーム(DCで60オーム、バスの中間/支配周波数では120オーム...)-片側のみが終端された製品があり、20mを超えるライン長で動作しますが、次のことを行う必要があります値を微調整します。標準を維持してください!