要約
このアプリケーションノートでは、アプリケーション回路を説明し、MAXQ2000マイクロコントローラ(MAXQ20コア)をMAX4397にインタフェース接続するために必要なすべてのファームウェアを提供します。アセンブリプログラムの例は、無償のMAX-IDEバージョン1.0を使用し、MAXQ2000専用に記述およびアセンブリしたものです(構築日:2004年11月18日)。無償のMAX-IDEは、マキシムのウェブサイトからダウンロードしてください。
MAX4397の概要
MAX4397は、MPEGエンコーダと2つの外部SCARTコネクタの間でオーディオ信号とビデオ信号を配信する、欧州の消費者市場向けのデュアル、SCART、スイッチマトリクスICです。このアプリケーションノートを使用すれば、市販製品のほんの数分の1のコストで、安価で簡単なオーディオ/ビデオソースセレクタとしてMAX4397を使用することができます。
ハードウェアの概要
アプリケーション回路では、MAX4397EVKITおよびMAXQ2000-KITを利用します。
MAX4397のEVキットは、MAX4397、必要なすべての受動部品、および実績のあるPCBレイアウトで構成されています。MAX4397のEVキットの回路図を図1に示します。MAX4397のEVキットの基板には、MAXQ2000はありません。ただし、MAXQ2000のEVキットのSCL、SDA、およびGNDをMAX4397のEVキットに接続することによってMAXQ2000をシステムに追加しています。また、MAX4397のEVキットのVDIG (J3-1)に+5Vを印加する必要があります。
大きな画像を見る
図1. MAX4397のEVキットの回路図
MAXQ2000のEVキットには、MAXQ2000を用いて設計を開始するのに必要なソフトウェア、ハードウェア、サンプルコード、およびドキュメント一式が含まれています。MAXQ2000-KITの回路図は、データシートで入手可能です。MAXQ2000のEVキットには、オーディオ/ビデオソース1 (SW5)、オーディオ/ビデオソース2 (SW4)、およびリセット(SW2)を選択するためにこのアプリケーションで使われた3つの押しボタンスイッチが含まれています。
オーディオとビデオのグランドプレーン
図2に示すように、オーディオとビデオのグランドプレーンを分離することをお勧めします。ボードの表側の下端にあるGNDAUDとGNDVIDのパッドを短絡することによって、両方のグランドプレーンを結合します。ディジタルグランドは、オーディオとビデオのグランドを結合した箇所からスター接続する必要があります。J3コネクタを使用して、MAXQ2000のEVキットのI²CインタフェースをMAX4397のEVキットに接続する場合には、図3に示すように、ディジタルグランドは、あらかじめ適切な位置でスター接続されることになります。
図2. オーディオとビデオのグランドの分離
図3. ディジタルグランドのスター接続
ファームウェアの概要
リスト1に示したアセンブリプログラムの例は、MAXQ2000の汎用入出力(GPIO)ポートのI²CインタフェースをビットバンギングすることによってMAX4397と通信します。MAXQ2000の16MHzのシステムクロックによって、ビットバングされたI²Cインタフェースを最大400KHzで動作させることができます。ファームウェアのデフォルトI²Cクロック速度は、100KHzです。表1に、電源投入後にMAX4397を初期化するのに必要なI²CのWriteByte演算を示します。
一度、MAX4397の初期化が完了すれば、プログラムは、ユーザがMAXQ2000のEVキットの3つの押しボタンスイッチの1つを押すまで待機します。押しボタンスイッチSW5を押すと、ビデオソース1 (TV_Y/CVBS_IN)が出力(TV_Y/CVBS_OUT)に配信され、またオーディオソース1 (TV_IN_)が出力(TV_OUT_)に配信されます。表2は、SW5スイッチを押した後に行われるI²CのWriteByte操作を示します。押しボタンスイッチSW4を押すと、ビデオソース2 (VCR_Y/CVBS_IN)が出力(TV_Y/CVBS_OUT)に配信され、またオーディオソース2 (VCR_IN_)が出力(TV_OUT_)に配信されます。表3は、SW4スイッチを押した後に行われるI²CのWriteByte操作を示します。押しボタンスイッチSW2を押すと、ファームウェアがパワーオンリセット状態にリセットされます。
ダウンロード: リスト1
リスト1. ビットバングされたI²Cインタフェースを実行することによってMAXQ2000をMAX4397にインタフェース接続するアセンブリプログラムの例
ダウンロード:ソースコード
表1. MAX4397を初期化するためのI²CのWriteByte操作
I²C/SMBusBus Protocol | Device Slave Address | Register Address | 8-BitData |
WriteByte#1 | 0x96 | 0x0D | 0x04 |
10010110b | 00001101b | 00000100b | |
WriteByte#2 | 0x96 | 0x00 | 0x46 |
10010110b | 00000000b | 01000110b |
I²CのWriteByte操作は、TV_Y/CVBS_OUT出力をイネーブル、TV_OUT_ muteをディセーブルにすることによってMAX4397を初期化します。
表2. ビデオソース1とオーディオソース1を配信するためのI²CのWriteByte操作
I²C/SMBusBus Protocol | Device Slave Address | Register Address | 8-BitData |
WriteByte#1 | 0x96 | 0x06 | 0x1B |
10010110b | 00000110b | 00011011b | |
WriteByte#2 | 0x96 | 0x01 | 0x0E |
10010110b | 00000001b | 00001110b |
I²CのWriteByte操作は、ビデオソース1 (TV_Y/CVBS_IN)を出力(TV_Y/CVBS_OUT)に配信し、オーディオソース1 (TV_IN_)を出力(TV_OUT_)に配信します。
表3. ビデオソース2とオーディオソース2を配信するためのI²CのWriteByte操作
I2C/SMBusBus Protocol | Device Slave Address | Register Address | 8-BitData |
WriteByte#1 | 0x96 | 0x06 | 0x1A |
10010110b | 00000110b | 00011010b | |
WriteByte#2 | 0x96 | 0x01 | 0x0D |
10010110b | 00000001b | 00001101b |
I²CのWriteByte操作は、ビデオソース2 (VCR_Y/CVBS_IN)を出力(TV_Y/CVBS_OUT)に配信し、オーディオソース2 (VCR_IN_)を出力(TV_OUT_)に配信します。
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}