ソフト・マクロのCPUでLinuxを動かす(後編) ──OSの実装とネットワーク対応機器への応用
2)LCDインターフェース回路
ソフトウェアからフレーム・バッファの先頭アドレスの設定と電源ON設定を受け,動作を開始します.バス・マスタ・リクエスト生成部とLCDデータVH-SYNC生成部は,FIFOを挟んでそれぞれ独立に動作しています.
バス・マスタ・リクエスト生成部は,OPBインターフェース回路に対して,SDRAMアドレスとバス・マスタ・リクエストを送信します.バス・マスタ・リクエストの送信後,RGBデータとアクノリッジを受信し,FIFOに書き込みます.FIFOがFULLになっていないかぎり,OPBインターフェース・コアに対してバス・マスタ・リクエストを送信します.
LCDデータVH-SYNC生成部は,ピクセル・クロックに従い,V-SYNCとH-SYNCの二つの信号を生成します.FIFOからデータを逐次読み込み,LCDに出力していきます.V-SYNC信号のタイミングで,バス・マスタ・リクエスト生成部は,アイドル状態(先頭アドレスに戻る)に戻り,FIFOデータをクリアしています.
図7に,V-SYNCとH-SYNCの信号のタイミングを示します.
ピクセル・クロック生成部では,V-SYNC H-SYNC信号のもととなるクロックを生成します.
LCDの電源には,+3.3V,+5V,±15V,バックライトLED電源(LED順方向電圧+21.6V)が必要です.電源を投入・切断するシーケンスが決まっており,投入は+3.3V,+5V,-15V,+15Vの順で,切断は+15V,-15V,+5V,+3.3Vの順で行う必要があります.このため,中継ボードにそれぞれの電源電圧のON/OFF制御を行う回路をトランジスタで作成し,投入・切断シーケンスをソフトウェアから制御できるようにしました.
LCDモジュールは,内部でREV信号とVCOM信号の極性により液晶に印加する電圧を変化させています.VCOM信号は交流±2.5Vでオフセット+0.6Vの電圧を必要とするため,FPGAでは直接駆動できません.今回はとりあえず簡単に動作させるため,VCOM信号には可変抵抗でコントラストがちょうどよいくらいの直流電圧を印加しておき,RGB信号をREV信号の極性に合わせて反転させるようにしました.