概要
設計リソース
設計/統合ファイル
- Schematic
- Bill of Materials
- Gerber Files
- Allegro Files
- Assembly Drawing
評価用ボード
型番に"Z"が付いているものは、RoHS対応製品です。 本回路の評価には以下の評価用ボードが必要です。
- EVAL-ADICUP3029 ($52.97) Ultra-Low Power, Cortex M3 Arduino form factor compatible Development Platform
- EVAL-ADM3055E-ARDZ ($57.67) CAN to SPI Arduino Shield
機能と利点
- 完全絶縁型CAN FDバス
- スタンバイ・モードおよびリモート・ウェークアップ・モードで動作
- 切り替え可能な終端
- Arduinoシールド・フォーム・ファクタ
参考資料
-
ラピッド・プロトタイピングを実現するためのソリューション2024/04/15PDF4 M
-
CN0401: 切り替え可能な終端とリモート・ウェークアップ機能を持つ信号/電源絶縁型 CAN FD2020/01/22PDF339 K
回路機能とその特長
フレキシブル・データ・レート対応コントローラ・エリア・ネットワーク(CAN FD)は、産業用オートメーション、HVAC、農業、および医療アプリケーションにおけるマルチノード・ネットワークで要求される高帯域幅通信を可能にします。図 1 に示す回路は、既存のシリアル・ペリフェラル・インターフェース(SPI)バスとの接続により、Arduino Uno フォーム・ファクタ・プラットフォーム上で最大8Mbps の CAN FD バス接続データ・レートを実現します。
CAN FD トランシーバーは、信号/電源強化絶縁機能を内蔵しています。内蔵された絶縁型 DC/DC コンバータがロジック側から得た電力をバス側の絶縁チャンネルとトランシーバーに供給するため、CAN FD バス上に外部電源は不要です。
この絶縁型トランシーバーは、EMC に関して抜群の堅牢性を備えています。ISO11898-2:2016 の条件をクリアする拡張された±25V のコモンモード電圧範囲により、CAN フレーム受信時の局所的なグラウンド電位差に対する高い耐性を発揮します。内蔵された ESD 保護機能により、CANH およびCANL バス・ピン上で IEC 61000-4-2 準拠の ESD 保護が得られます。これらの差動バス・ピンは、CANH およびCANL ピン上の±40V の障害保護により、24V システムに対する誤配線と短絡に耐えることができます。
CAN バスには、2 個~数百個のノードを接続できます。アプリケーションの条件に応じて、様々なタイプのケーブルを使った接続が可能です。使用できるケーブルは、Cat5e ケーブルなどの低価格の非シールド・ツイスト・ペア・ケーブルから、PROFIBUS ケーブルなどの高品質のシールド・ケーブルまで広範囲にわたります。どのタイプのケーブルを使用する場合も、理想的な CAN バスは、1 つのノードを次のノードにデイジーチェーン接続し、両端に終端を配置します。バスへの接続には、ネジ端子か、または CAN CiA 303-1 オス型 9 ピン D-Sub ポートを使用します。
バス終端が実装されているため、この回路は、内蔵された補助絶縁デジタル・チャンネルを使用して、バス終端のランタイム設定が可能です。切り替え可能な終端回路では、コモンモード・フィルタリング・コンデンサ付き 120Ω 分割終端がCAN バス・ライン間に接続されます。切り替え可能な終端により、CAN バスの変更時に終端の位置をソフトウェアで設定できます。切り替え可能な終端を使用すると、ソフトウェアを変更するだけで、各ボードを信号経路上の任意のノード用に使用できます。
更に、ソフトウェアによって回路をランタイムで設定し、低消費電力のスタンバイ・モードに移行させることができます。この状態では、絶縁型 CAN FD トランシーバーは、リモート・ノードから ISO11898-2:2016 で定義されたリモート・ウェークアップ・シーケンスを受信したときにのみ応答します。
回路説明
CAN FD プロトコル
CAN は、個々のマイクロコントローラ間のポイント to ポイント配線が不要な、堅牢な通信ネットワークとして設計されています。情報を共有するそれぞれのポイント(CAN の用語ではノード)を相互に接続するのではなく、各ノードを 1本のツイスト・ペアに接続します。この構成により、配線コストと複雑性を軽減します。他の多くのプロトコルとは異なり、CAN は複数マスタ方式であり、ノードの物理的位置によって CAN バス上での優先順位が決まることはありません。1 つのノードがネットワークを制御しサービスを提供するSPI、I2C、RS-485 のようなマスタ/スレーブの関係はありません。代わりに、メッセージ ID(プログラムされたメッセージの重要性)により、バスを制御するノードの優先順位が決まります。1 つのノードがメッセージまたは各種の優先度レベルを送信できます。詳細については、AN-1123 アプリケーション・ノート:CAN アプリケーションの実装ガイドを参照してください。
CAN FD 準拠のコントローラは、古典的な CAN との後方互換性があり、古典的な CAN フレームを許容します。古典的な CAN で通信するノードのグループと、CAN FD で通信するノードのグループは、同じネットワーク上で共存することが可能です。ただし、CAN FD ノードを追加する際は、既存の CAN コントローラの製造年を考慮に入れる必要があります。従来の古典的な CAN コントローラは、CAN FD フレームのアービトレーション・フェーズをエラーとして特定し、CAN FD フレームを上書きするエラー・フレームを生成することがあります。このようなコントローラがあると、CAN FD 通信はできません。これらのコントローラは置き換えるか、今後のノードを古典的な CAN のみに限定する必要があります。この回路のコントローラ(MCP2518FD)は、古典的 CAN モードと CAN FD モードのどちらでも動作できます。このコントローラは、古典的 CAN モードでの動作時に CAN FD フレームを許容します。
高速ループ遅延と高速データ・レート
CANの際立つ特長は、各 CANフレームの開始時のアービトレーション・フェーズにあります。ノードは互いにアービトレーションが実行され、各ノードがドミナント・ビットとリセッシブ・ビットのシーケンスを送信することにより、メッセージ伝送の優先順位が決まります。各ビットがネットワーク全体に伝搬するには、一定の長さの時間がかかります。また、アービトレーションに参加する各ノードには、応答するのに十分な時間が必要です。つまり、アービトレーション・フェーズ中の最大データ・レートは、ネットワーク上の任意の 2 つの CAN コントローラ間で最も長い総信号伝搬時間によって制限されます。
図 2 に示すように、ノード A の CAN コントローラが送信を開始すると、信号経路が始動します。この信号は、最初にノードAのトランスミッタを通過し、次にケーブルを介して伝搬され、次に最も遠いノードのレシーバーを通過し、最後に最も遠い CAN コントローラに到着します。アービトレーション・フェーズ中に受信側ノードも信号を送信することがあるため、ノード B からノード A への信号伝搬遅延も考慮に入れる必要があります。この伝搬遅延の最も厳しい条件により、アービトレーション・フェーズの絶対最大データ・レートが決まります。
バス・ラインの伝搬遅延は、ケーブル配線が長く複雑になるほど大きくなります。ケーブル長は、ノードを配置する必要がある物理的位置によって通常は固定されます。信号伝搬遅延は、この部分では基本的には固定的です。トランシーバーの受信および送信回路を通るときの伝搬遅延は、ループ遅延と呼ばれます。ADM3055E の最大ループ遅延は、業界トップクラスのわずか 150ns に抑えられています。このため、ネットワーク設計者はトランシーバーに割り当てるビット・タイムを減らすことができます。この時間短縮により、アービトレーション・データ・レートを上げる、バス・ケーブルを延長する、またはバス信号のセトリング時間を延ばすることが可能となり、任意のアービトレーション・データ・レートで通信の堅牢性を強化できます。総伝搬遅延と CAN ネットワークの最適化の詳細については、Analog Dialog の記事Configure Controller Area Network (CAN) Bit Timing to Optimize Performance を参照してください。
一方、CAN FD フレームのデータ・フェーズでは、最大データ・レートは伝搬遅延によって決まるのではなく、ネットワークの信号品質によって決まります。マルチノード・ネットワークのデータ・レートを制限する要因として、インピーダンスの不一致とケーブル・スタブを原因とする反射が挙げられます。CAN FD マルチノード・ネットワークの実際の運用では、無難な選択肢として 2Mbps のデータ・レートがよく使用されます。ADM3055E 信号/電源絶縁型トランシーバーは、最大 12Mbps のデータ・レートで動作し、ポイントto ポイント接続で非常に高速なデータ転送をサポートします。これにより、マルチノード・ネットワークは、更に高速なデータ・レートを求める将来のニーズに対応できます。
スタンバイ・モードとリモート・ウェークアップ
開発プラットフォームがSPIバスを介して発行するコマンドにより、CAN FD コントローラと絶縁型 CAN FD トランシーバーをスタンバイ・モードに設定できます。CAN FDコントローラは、そのコントローラと絶縁型 CAN FD トランシーバーをスタンバイ・モードに設定します。スタンバイ・モードでは、トランシーバーの送信機能はディスエーブルになり、出力は高インピーダンス状態に設定されます。
トランシーバーのスタンバイ・モードを終了できるのは、ローカル CAN FD コントローラだけです。ただし、トランシーバーは、他のノードが送信するリモート・ウェークアップ・コールに対しては応答します。リモート・ウェークアップ・パターンは、ISO11898-2:2016 と ADM3055E データシートに定義されています。このパターンは、データを含まないフレームのアービトレーション・フィールドで送信することも、データ・フィールドで送信することもできます。必要なのは、トランシーバーのタイミング条件を満たすことだけです。リモート・ウェークアップ・パターンを受信すると、ADM3055E トランシーバーの RXD ピンは、CAN FD バス上の低速データに応答してトグルします。
RXD ピンの状態の変化を使用して、CAN FD コントローラへの割込みをトリガすることができます。ADM3055E は、リモート・ウェークアップ・パターンを受信してもス タンバイ・モードを終了しません。この場合、パターンに応答するかどうか、またトランシーバーのスタンバイ・ピンをトグルして低速データの受信を中断し、リモート・ウェークアップ・パターンを再度受診するまでスタンバイ・モードに戻るかどうかを決めるのは、開発者の役割です。スタンバイ・モードでは、トランシーバーの補助絶縁チャンネルは最後の状態にラッチされます。トランシーバーに内蔵されたisoPower®絶縁型 DC/DC コンバータは動作を継続し、バス側の回路に電力を供給します。
絶縁
苛酷な環境、長い物理的距離、ノード間で異なる電源のために、局所的なグラウンド電位差が生じることがあります。局所的なグラウンド電位差により、電流がグラウンド・ワイヤを流れると、コモンモード・オフセットおよびノイズが発生します。物理的バス・ラインを絶縁すれば、グラウンド・ループは遮断され、これらの問題は解消されます。ADM3055E はグラウンド・ループを遮断します。このデバイスは、CAN FD ノードと CAN バス・ライン間の 5kV rmsの信号/電源絶縁に関するシステム・レベルの安全認証を取得しています。
切り替え可能な終端
信号の完全性を確保するには、CAN バスの両端に終端を実装する必要があります。切り替え可能な終端は、ソフトウェアによって終端の位置を設定できます。ノードの追加または削除が原因で、オンザフライで CAN バスのネットワーク再設定を実行するには、ソフトウェア制御が便利です。
ネットワークの信頼性を最大限に維持するには、終端回路によってコモンモード電圧範囲が制限されないようにする必要があります。また、終端回路が信号のコモンモード電圧範囲の影響を受けないようにする必要もあります。すなわち、終端回路はオフに設定されたときはオフのままになり、オンに設定されたときはオンのままにならなければなりません。必要な回路特性を満たすために、EVAL-ADM3055E-ARDZ 評価用ボードの終端回路は、超小型光絶縁 SPST ソリッドステート・リレー(SSR)を使用して送信側ノードと共にフロートします。
ADM3055E の補助絶縁チャンネルからリレーを制御することは、リレーが絶縁ギャップをブリッジしないことを意味します。絶縁ギャップをブリッジしないため、リレーが安全絶縁機能を提供する必要はありません。したがって、最小限のパッケージ・サイズを選ぶことができ、プリント基板(PCB)の面積を削減できます。
120Ω の終端抵抗は 1 個の抵抗で実現できます。ただし、この抵抗を 2 個の直列 60Ω 抵抗に分割すれば、CAN バスに対して露出される両方のリレー・ピンに対する静電気放電(ESD)保護を低コストで実現できます。2 個目の SSR を使って切り替え可能な終端回路を実装すると、フィルタ・コンデンサを 1 つ追加できます。この追加されたコンデンサは、分割された終端抵抗と共にローパス・フィルタとして機能し、CAN バス上のコモンモード・ノイズを軽減します。
サイレント・モードと傾き制御モード
CN-0401 回路は、トランシーバーのサイレント・モードと組み合わせて、ソフトウェアで設定可能な試行錯誤によるバス・ボー・レート検出をサポートします。サイレント・モードでは、トランシーバーの送信チャンネルはディスエーブルになり、CAN コントローラはバス・データ・レートへの同期を試みながらエラー・フレームを生成できます。これらのエラー・フレームによってトラフィックが中断されることはありません。
CN-0401 回路では、ADM3055E の傾き制御モードにアクセスできます。低速シグナリングの場合、傾き制御モードでは、CANH と CANL がリセッシブからドミナントへ移行するときのスルー・レートが低下します。スルー・レートを低下させると、高速エッジによって発生するリンギングと電磁干渉(EMI)が最小限に抑えられます。高速シグナリングには、傾き制御モードを使用しないでください。
CAN FD コントローラ
EVAL-ADM3055E-ARDZ は、MCP2518FD 外部 CAN FDコントローラを使用します。このコントローラとADM3055E トランシーバーは、従来の CAN、CAN 2.0B、および CAN FD と互換性があります。CAN または CAN2.0B を接続するには、ソフトウェアを変更する必要があります。
このスタンドアロン CAN コントローラと ADM3055E を使用すると、システム設計者は、1 つ以上の絶縁型 CAN ポートを、ユビキタスSPIポートに接続するだけで既存の設計に追加できます。MCP2518FD は、8Mbps の最大 CAN FDデータ・レートをサポートします。詳細については、MCP2518FD のデータシートを参照してください。
回路の評価とテスト
こ こでは、 EVAL-ADICUP3029 を使用した EVALADM3055E-ARDZ の簡単な評価手順を説明します。ハードウェアとソフトウェアのセットアップの詳細については、EVAL-ADM3055E-ARDZ ユーザ・ ガイド( CN0401(EVAL-ADM3055E-ARDZ) Shield Overview)を参照してください。
必要な装置
- USB ポート付きで Windows® 7(32 ビット)以降を搭載の PC
- PuTTY や Tera Term などのシリアル・ターミナル
- 2 個の EVAL-ADM3055E-ARDZ 回路評価用ボード
- 2 個の EVAL-ADICUP3029 開発ボード
- CrossCore® Embedded Studio または予め作成された.hex ファイル
設計の開始にあたって
- CrossCore Embedded Studio で CN0401 プロジェクトを開きます。
- EVAL-ADM3055E-ARDZ ユーザ・ガイドの説明に従って、ユーザ定義のすべての設定値が適切であることを確認します。
- プロジェクトを構築し、ADICUP3029 ボードにアップロードします(あるいは、予め作成した hex ファイルをADICUP3029 ボードのマス・ストレージ・デバイスにコピー(ドラッグ・アンド・ドロップ)します。
機能ブロック図
図 4 に、テスト・セットアップの機能ブロック図を示します。PCB にテザリングされたノード・ソフトウェアによってコマンド・ライン・インターフェース(CLI)がセットアップされます。コマンドは PC 内で実行されるシリアル・ターミナルから発行します。シリアル・ターミナルを介して、他のノードへのコマンドの発行とリモート・ウェークアップ・メッセージの送信を実行できます。
テスト・セットアップ
CANノードのセットアップは、図5に示すように、Arduino互換ヘッダを使用して EVAL-ADICUP3029 の上に EVALADM3055E-ARDZ を取り付けます。
通信とリモート・ウェークアップのテスト
2 つの異なる CAN ノード上に構築し、ロードしたサンプル・ソフトウェアを使用して、2 つのボード(接続されている場合)は CAN FD 接続を介して互いに通信します。図 6に、2 ノードの CAN 接続を示します。
デフォルトでは、アービトレーション速度は500kbps、データ伝送速度は 2Mbps です。ボードは USB ケーブルで PC に接続され、シリアル・ターミナル上で各ノードの CLI が実行されます。この構成では、2 つのデバイス間に双方向のCAN FD 通信がセットアップされます。これらのデバイスは、CAN バス上で 2 つの独立したノードになります。
最初はすべてのデバイスがスリープ・モードになっていますが、CLI からのコマンドにより、デバイスをウェークアップして CAN バス上に ASCII メッセージを送信させることができます。メッセージ伝送には 5 秒のタイムアウトがあり、もう 1 つのノードによってアクノレッジされるまで、メッセージは繰り返し送信されます。このメッセージは(特に低速のアービトレーション・フェーズで)もう 1 つのノードをウェークアップします。そのノードはメッセージをアクノレッジし、そのノードのシリアル・ターミナル・インターフェース上にメッセージを表示します。次に、両方のノードは再びスリープに移行します。
CAN ノードが PC に接続されると、通信ループバック・テストを実行するように各 CAN ノードにコマンドを送信できます。CAN コントローラは外部ループバック・モードになります。このモードでは、送信ラインは内部で受信ラインに接続されます。CAN はカスタム・メッセージを送信し、CAN が同じメッセージを受信したかどうか確認します。ループバック・メッセージを受信した場合は、メッセージのASCII アートが CLI 上に表示され、ADICUP3029 の LEDが点滅します。シリアル・ターミナルに表示される受信メッセージのスクリーンショットを図 7 に示します。