デュアル電子制御ユニット(ECU)構成の車載アプリケーションにおけるGMSLサーデスデバイスの使用
要約
マキシムのギガビットマルチメディアシリアルリンク(GMSL)ソリューションは、1本のツイストペアケーブルでやり取りされるデジタルビデオやオーディオデータをシリアル化します。さらに、双方向制御チャネルを集積しているため、1つのマイクロコントローラ(µC)でシリアライザ、デシリアライザや、すべての接続ペリフェラルをプログラムすることができます。標準的なアプリケーションでは、これによってリモート側のマイクロコントローラの他、クロックソース/水晶や低電圧電源などの補助部品が不要になります。そのため、リモートデバイスの設計が簡素化されるとともに、コスト、サイズ、消費電力も低減されます。一方、GMSLに関係しない他の設計要件のために、µCがすでにリンクの両側に置かれている場合もあります。このアプリケーションノートでは、2つのµCを接続してGMSLを制御する方法について説明します。
デュアルµCの基本的な使用法µCを1つだけ使用するときは、シリアライザとデシリアライザの双方の制御方向選択(CDS)ピンを、シリアライザ側でµCを使用する場合はローに、デシリアライザ側でµCを使用する場合はハイに設定するのが普通です。しかし、シリアライザのCDSがローに設定され、デシリアライザのCDSがハイに設定された場合、各GMSLチップが同時にそれぞれのµCに接続することができます(図1)。
内部動作µCを2つ使用するときは、シリアライザとデシリアライザの双方のI²Cマスターを無効とし、RX/SDAとTX/SDLが対応するµCとのUARTインタフェースとして設定します。各デバイスがローカル側デバイスとして動作するため、スリープモードに入ることができません。アクティブローの各PWDNピンを使用して、各デバイスを低電力状態に置きます。パワーダウン状態から復帰する際は、すべてのデバイス設定がパワーオン値にリセットされることに留意してください。
デュアルµCの競合問題上の図1に示した構成では、各µCがGMSL UARTプロトコルを使用して、MAX9259シリアライザ、MAX9260デシリアライザ、またはその他のµCと通信することができます。GMSLには、競合を回避するための仕組みがありません。ユーザーは競合処理の仕組みを自分で用意する必要があります。
ネットワークの分割
ソフトウェアの競合処理
シングル/デュアルµ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を設定し、デバイスをスリープ状態に置きます。
リモートカメラの例(シリアライザ)前の例と同様に、リンクのシリアライザ側がリモートパワーオン/オフ対応に構成されたカメラモジュールです。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を設定し、デバイスをスリープ状態に置きます。
その他のアプリケーションデュアルµCの用途は、上記のアプリケーションに限られません。対称的な双方向制御チャネルと、実行中変更可能なCDSやバイパスの設定(MS経由)を組み合わせれば、シリアライザ/デシリアライザとµCのさまざまな構成が可能です。設計者は、システムの機能を高め、消費電力を可能なかぎり抑制し、利用可能なリソースを最大限に活用するための高度な制御機能を利用することができます。 |
|
著者について
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}