アルテラユニバーシティープログラム (1998)
・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-Sub | FLEX |
赤(RED) | 1 | 236 |
緑(GREEN) | 2 | 237 |
青(BLUE) | 3 | 238 |
GND | 6,7,8,10,11 | - |
水平同期(HORIZ_SYNC) | 13 | 240 |
垂直同期(VERT_SYNC) | 14 | 239 |
これを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
アルテラユニバーシティープログラムの最初へ戻る。
御意見などは以下のアドレスへメールを下さい。
numa@tube.ee.uec.ac.jp