チュートリアル 5046

デュアル電子制御ユニット(ECU)構成の車載アプリケーションにおけるGMSLサーデスデバイスの使用

筆者: Craig Sakamoto

要約: マキシムのギガビットマルチメディアシリアルリンク(GMSL)ソリューションは、1本のツイストペアケーブルでやり取りされるデジタルビデオやオーディオデータをシリアル化します。さらに、双方向制御チャネルを集積しているため、1つのマイクロコントローラ(µC)でシリアライザ、デシリアライザや、すべての接続ペリフェラルをプログラムすることができます。標準的なアプリケーションでは、これによってリモート側のマイクロコントローラの他、クロックソース/水晶や低電圧電源などの補助部品が不要になります。そのため、リモートデバイスの設計が簡素化されるとともに、コスト、サイズ、消費電力も低減されます。一方、GMSLに関係しない他の設計要件のために、µCがすでにリンクの両側に置かれている場合もあります。このアプリケーションノートでは、2つのµCを接続してGMSLを制御する方法について説明します。

デュアルµCの基本的な使用法

µCを1つだけ使用するときは、シリアライザとデシリアライザの双方の制御方向選択(CDS)ピンを、シリアライザ側でµCを使用する場合はローに、デシリアライザ側でµCを使用する場合はハイに設定するのが普通です。しかし、シリアライザのCDSがローに設定され、デシリアライザのCDSがハイに設定された場合、各GMSLチップが同時にそれぞれのµCに接続することができます(図1)。

図1. CDS設定を含むデュアルuCアプリケーションの簡略回路図
図1. CDS設定を含むデュアルµCアプリケーションの簡略回路図

内部動作

µCを2つ使用するときは、シリアライザとデシリアライザの双方のI²Cマスターを無効とし、RX/SDAとTX/SDLが対応するµCとのUARTインタフェースとして設定します。各デバイスがローカル側デバイスとして動作するため、スリープモードに入ることができません。アクティブローの各PWDNピンを使用して、各デバイスを低電力状態に置きます。パワーダウン状態から復帰する際は、すべてのデバイス設定がパワーオン値にリセットされることに留意してください。

図2. シリアライザの状態図(CDS = ロー)
図2. シリアライザの状態図(CDS = ロー)

図3. デシリアライザの状態図(CDS = ハイ)
図3. デシリアライザの状態図(CDS = ハイ)

デュアルµCの競合問題

上の図1に示した構成では、各µCがGMSL UARTプロトコルを使用して、MAX9259シリアライザ、MAX9260デシリアライザ、またはその他のµCと通信することができます。GMSLには、競合を回避するための仕組みがありません。ユーザーは競合処理の仕組みを自分で用意する必要があります。

ネットワークの分割
競合を回避するための最も簡単なソリューションは、各µCで接続先のシリアライザやデシリアライザのFWDCCENビットとREVCCENビットを0に設定することです(0x04 D[1:0])。これによって、順方向と逆方向の制御チャネルのレシーバとトランスミッタが無効になり、実質的に制御ネットワークが2つの独立したネットワークに分割されます(図4)。その後にシリアルリンクで制御通信を行う場合は、まず双方のµCが、リンクのそれぞれの側で通信を再び有効にする必要があります。この構成は、リンク固有の重要なレジスタ設定値が初期設定から変化しない、常時接続のアプリケーションでほとんどの場合に有効です。

図4. 制御ネットワークの分割によって競合の可能性を解消
図4. 制御ネットワークの分割によって競合の可能性を解消

ソフトウェアの競合処理
シリアルリンク経由の通信を必要とするアプリケーションでは、上位レイヤのプロトコルを実装して競合を回避することができます(図5)。下の例では、各µCで確認応答フレームを待ち受け、コマンドが成功したかどうかを判定します。競合が発生した場合、シリアライザやデシリアライザは確認応答フレームを送信しません。確認応答フレームを受信しなかった場合、µCは、それぞれのデバイスアドレスに対応した一定時間だけ待ってから、コマンドを再送信します。この設計では、マイクロコントローラがそれぞれ異なるデバイスアドレスを持つため、リトライ通信中に競合が発生しません。

図5. ソフトウェアベースの競合処理の例
図5. ソフトウェアベースの競合処理の例

シングル/デュアルµCの使用

アプリケーションによっては、両方のµCを常時使用する必要がない場合もあります。動作中、どちらかの側で1つのCDS入力の状態が変化した場合、そのデバイスは、MAX9259データシートの「リンクのスタートアップ手順」の項に記載された、該当する状態で動作を再開します。シングルµCとデュアルµC間で動作を切り替えれば、GMSLに使用する必要があるリソースを削減することができます。使用していないµCをシャットダウンすることによって、消費電力を削減し、バッテリ寿命を延長することができます。

リモートディスプレイの例(デシリアライザ)

次のアプリケーションでは、リンクのデシリアライザ側がリモートパワーオン/オフ対応に構成されたディスプレイパネルです。基板のシャットダウン入力とシングル/デュアルµCの制御は、すべてMAX9260のGPIO0の出力に接続されています(図6)。電源投入時にGPIO出力はハイです。これによって、リモート側デバイスがシャットダウン状態に保たれ、追加されたインバータのためデシリアライザがリモート側デバイスとして設定されます。MSがGPIOに接続されているため、MAX9260はスリープモードで起動し、すべてのデバイスが低電力状態に置かれます。

リモートパネルを起動する場合は、シリアライザがMAX9260をウェイクアップして、シリアルリンクを確立します。次に、シリアライザ側のµCがGPIO0をローに設定して、MSをローにするとともにインバータ出力をハイにします。インバータはMAX9260をローカル側デバイスとして設定し、リモートディスプレイパネルの他の部分をウェイクアップします。MAX9260のUARTインタフェースをベースモードに保つために、MSをローに設定する必要があります。

リモートパネルをシャットダウンする場合は、シリアライザがGPIO0をハイに設定して、リモート側デバイスをシャットダウンするとともに、MAX9260をリモートデバイスとして設定します。それから、MAX9260でSLEEP = 1を設定し、デバイスをスリープ状態に置きます。

図6. デュアル/シングルuCによるリモートディスプレイの例
図6. デュアル/シングルµCによるリモートディスプレイの例

リモートカメラの例(シリアライザ)

前の例と同様に、リンクのシリアライザ側がリモートパワーオン/オフ対応に構成されたカメラモジュールです。MAX9259のINT出力で、基板のシャットダウン入力とシングル/デュアルµCの切り替えを制御します(図7)。このアプリケーションでは、INTがGPOとして機能し、出力はSETINT (MAX9259のレジスタ0x0DのビットD7)またはデシリアライザのINT入力のどちらかによって設定されます。電源投入時にINT出力はローです。これによって、リモート側デバイスがシャットダウン状態に保たれます。CDSに接続されたインバータ出力が、シリアライザをリモート側デバイスとして設定します。アクティブローのAUTOSがハイに設定されるため、MAX9259はスリープモードで起動します。

リモートパネルを起動する場合は、デシリアライザがGMSLのUARTコマンドを使用して、MAX9259をウェイクアップします。次に、デシリアライザはMAX9259のINT出力をハイに設定して、すべてのリモートデバイスの電源を投入します。インバータ出力がMAX9259をローカル側デバイスとして設定し、ローカルµCからUARTコマンドの受け取りが可能になります。

リモートパネルをシャットダウンする場合は、デシリアライザがMAX9259のINT出力をローに設定して、リモート側デバイスをシャットダウンするとともに、MAX9259をリモートデバイスとして設定します。さらに、デシリアライザはMAX9259でSLEEP = 1を設定し、デバイスをスリープ状態に置きます。

図7. デュアル/シングルuCによるリモートカメラの例
図7. デュアル/シングルµCによるリモートカメラの例

その他のアプリケーション

デュアルµCの用途は、上記のアプリケーションに限られません。対称的な双方向制御チャネルと、実行中変更可能なCDSやバイパスの設定(MS経由)を組み合わせれば、シリアライザ/デシリアライザとµCのさまざまな構成が可能です。設計者は、システムの機能を高め、消費電力を可能なかぎり抑制し、利用可能なリソースを最大限に活用するための高度な制御機能を利用することができます。
 

 製品ページはこちら

  GMSL SerDes IC