FLEX10KによるVGAドライバ操作 (2001)

・VGAモニターへの出力
ここではまずPCのディスプレイであるVGAに出力する方法について説明します。

VGAはPCのモニターに関する規定で、640x480のピクセルを表示するためのものです。それぞれのピクセルは赤、緑、青の信号(RGB信号)の状態によって8色映し出すことができます。

全てのVGAモニターは、ピクセルをリフレッシュするための内部クロックを持っています。このクロックの周波数は25.175MHzです。この周波数に対応した水晶オシレータがUP1ボード上に組み込まれています。
モニターは水平および垂直同期信号によって画面をリフレッシュする。垂直同期信号を出力して画面の左上の(0,0)からの出力を開始する。そして、水平同期信号を出力して、その画面の1列をリフレッシュする。その水平サイクルを480行行なった後、また、垂直同期信号を出力して再度画面をリフレッシュする。これを繰り返すことで、VGA出力が行なわれている。

・VGA出力のピン設定
VGAの出力はPCで一般的なD-Sub15ピンコネクタを使います。このD-SubとFLEXのピンの関係は次のようになっています。D-Subピンについては直接ボードのコネクタに書いてあります。
信号D-SubFLEX
赤(RED)1236
緑(GREEN)2237
青(BLUE)3238
GND6,7,8,10,11-
水平同期(HORIZ_SYNC)13240
垂直同期(VERT_SYNC)14239
これをMaxPlusIIでピン設定すれば出力できます。
・VGA出力のタイミング
VGA出力のタイミングは以下のようになっている。

上fig.13が水平同期サイクル、下fig.14垂直同期サイクルです。
垂直同期について、最初にVERT_SYNCを'0'に下げます。これが画面のリフレッシュを開始する信号です。64us後にこの信号を'1'に戻します。それから1.02ms後に水平同期を始めます。
水平同期について、まずHORIZ_SYNCを'0'に下げます。これが画面の1行をリフレッシュを開始する信号です。3.77us後にこの信号を'1'に戻します。それから1.89us後にRGB信号を出力します。RGB出力ではオシレータのクロック1周期で1ピクセルを表示すると考えてよいでしょう。そしてRGB1列の出力が終ったら(25.17us)、水平同期を閉じるために0.94us待ちます。
この水平同期を480回(15.25ms)した後、垂直同期を閉じるために0.35ms待ちます。これで画面1回分のリフレッシュサイクルが行なわれるのです。その垂直同期サイクルの周期は16.6msとなっています。
このVGAのリフレッシュサイクルおよび周波数を下に示します。
Tpixel(1ピクセルを出力する時間) = 40ns
TROW(1行を出力する時間) = 31.77 us
Tscreen(1画面を出力する時間) = 16.6 ms
fRR(水平同期周波数) = 31.5 kHz
fSR(垂直同期周波数) = 60 Hz


UP1ボードの使用方法へ戻る。
御意見などは以下のアドレスへメールを下さい。
numa@tube.ee.uec.ac.jp