150 likes | 587 Views
VGA 出力サンプル. カラーバー 時計(カウンタ) ゲーム GPS クロック. VGA. 640 × 480画素の表示領域 フロントポーチ、バックポーチを含めると800 × 520 25 MH zクロック VSYNC (垂直同期) HSYNC (水平同期) R,G,B (赤、緑、青) FPGA 出力3本を一対一で接続して、3ビットで8色を表示可能 リフレッシュレート60 Hz (25 MH z ÷ (800 × 520)=60). モジュール構成. クロック発生回路 基板の 33.33MH zから DCM で 25MH zを生成する
E N D
VGA出力サンプル カラーバー 時計(カウンタ) ゲーム GPSクロック
VGA • 640×480画素の表示領域 • フロントポーチ、バックポーチを含めると800×520 • 25MHzクロック • VSYNC(垂直同期) • HSYNC(水平同期) • R,G,B(赤、緑、青) FPGA出力3本を一対一で接続して、3ビットで8色を表示可能 • リフレッシュレート60Hz (25MHz÷(800×520)=60)
モジュール構成 • クロック発生回路 • 基板の33.33MHzからDCMで25MHzを生成する 33.33MHz×3÷4=25MHz • 水平同期発生回路 • 25MHzで800カウントの立下りパルス波形を出力する • 垂直同期発生回路 • 水平同期パルスで520カウントの立下りパルス波形を出力する • RGBドット制御回路 • 垂直同期と水平同期のカウント値をXY座標に変換し、表示色を決定して出力する
垂直同期 800 垂直フロントポーチ 640 水平 バック ポーチ 水平 フロント ポーチ 520 480 表示領域 水平 同期 垂直バックポーチ
カラーバー GBR 000 001 010 011 100 101 110 111 水平同期をカウントした値(0~519)を1/64した3ビットをRGBへ出力
時計(カウンタ) • 640×480を16で間引いて40×30の座標とする(水平、垂直カウント値の下4ビットを捨てる) 0 2 5 8 11 15 18 21 24 28 31 34 37 0 3 7 11
ゲームのしくみ • 元ネタはトランジスタ技術2007年8,9月号(中身は別物) • VSの立ち上がり(=画面更新)3回毎にボールの座標を縦横1座標分だけ移動 • 壁やラケットの座標と一致したら、ボールの進行方向を反転 • スイッチが押されている期間ラケットの座標を変更 • ボールが右端の座標に達したらレシーブ失敗、サーブとしてラケットの上端からボールをスタート
ゲームとしては未完成 • もっとゲームらしくなるよう機能を追加 • メーリングリストに公開?
GPSクロック • GPSモジュールhttp://akizukidenshi.com/catalog/g/gK-02294/ が出力するシリアルのテキストデータから時刻部分を取り出して、画面に実時間を表示する(UTCなので9時間加算) • 複雑な処理にPicoBlazeを使用 • Xilinx社が提供する無償のソフトマイコン http://japan.xilinx.com/products/ipcenter/picoblaze-VE-S2.htm 左のdownload (登録が必要) http://japan.xilinx.com/support/documentation/user_guides/j_ug129.pdf
部品表 • Dサブ3列15ピンメス • Dサブ2列9ピン用カバー • 抵抗 • 82Ω×2(HS、VS) • 270Ω×3(R,G,B) • フラットケーブル(6芯以上) • 圧着コネクタ(6芯以上) • 圧着工具が必要 • 基板側ポスト(6芯以上) • 絶縁チューブ