FX3のI2Cを使ってADV7511の設定をしよう~I2C通信編~

初回の「FX3のI2Cを使ってADV7511の設定をしよう~I2C設定編~」ではFX3でI2C通信をするための仕組みを組み込みました。
2回目の「FX3のI2Cを使ってADV7511の設定をしよう~ADV7511設定編~」ではADV7511の設定を行いました。
前回までの記事でADV7511の初期設定は終了しましたが、今回はSVM-03とUSB接続されたPCから、ADV7511のレジスタ値を読み書きしてみたいと思います。
PC上で使用するアプリケーションはサイプレス社のFX3用SDKにあるcontrol centerを使用します。

SDKをインストールしたディレクトリーの
「\cypress\EZ-USB FX3 SDK\(バージョン番号)\bin\CyControl.exe」
にcontrol centerの実行ファイルがありますのでそれを起動しておきます。
次から、I2Cを書き込む場合と読み込みの場合に分けて、設定方法を説明します。

<ADV7511のレジスタに値を書き込む場合>

control centerの画面が右記になります。
その画面上に操作手順を説明するための番号と枠線をつけております。
以降画面上の番号に沿って操作方法を説明していきます。

①「Cypress USB BulkloopExample」→「Configuration 1」→「Control endpoint(0x00)」を選択します。

②「Data Transfers」タブを選択します。

③Direction、ReqType、Targetを下記の値にそれぞれ設定します。
Direction:Out
ReqType:Vendor
Target:Device

④ReqCode、wIndexを下記の値に設定します。ReqCodeは書き込みの場合は「0xba」を指定します。
wIndexは書き込み先サブアドレスの設定を行います。(画面は0x00afをサブアドレスに指定している例です。)
ReqCode:0xba
wIndex:0x00af

⑤レジスタに書き込む値を「Data to send(Hex)」テキストボックスに入力します。
この時「Bytes to Transfer」の値も自動で変化しますが正しくない場合には値を修正します。

⑥赤枠の「Transfer Date」ボタンを押します。
すると、下の大きなテキストボックスに「CONTROL OUT transfer completed」と表示されれはI2Cの設定がFX3から行われたことになります。
書き込みが正しくできているかどうかは書き込み対象のレジスタの値を読み込んで確認をしてください。

<ADV7511のレジスタから値を読み込む場合>

①「Cypress USB BulkloopExample」→「Configuration 1」→「Control endpoint(0x00)」を選択します。

②「Data Transfers」タブを選択します。

③Direction、ReqType、Targetを下記の値にそれぞれ設定します。
Direction:In
ReqType:Vendor
Target:Device

④ReqCode、wIndexを下記の値に設定します。ReqCodeは書き込みの場合は「0xbb」を指定します。
wIndexは書き込み先サブアドレスの設定を行います。(画面は0x0043をサブアドレスに指定している例です。)
ReqCode:0xbb
wIndex:0x0043

⑤「Bytes to Transfer」に読み込みたいバイト数を指定します。
開始サブアドレスはwIndexで指定したアドレスになります。(画面は2バイト読み込みの例になります。)

⑥赤枠の「Transfer Date」ボタンを押します。
下のテキストボックスに指定したサブアドレスのレジスタの値が表示されます。

いかがでしたでしょうか。FX3のI2C機能を利用してADV7511のレジスタの読み書きを行いました。
これにて、FX3を利用してのADV7511の設定のブログ記事は完結です。

また、HDMIモニターボードSVM-03に興味ございましたらSVM-03のページも合わせてご覧ください。

コメント

タイトルとURLをコピーしました