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 水平 水平 フロント ポーチ 480 ポーチ 表示領域 水平 同期 バック 垂直バックポーチ 520 水平同期とRGBの波形 カラーバー GBR 000 001 010 011 100 101 110 111 水平同期をカウントした値(0~519)を1/64した3ビットをRGBへ出力 垂直同期とRGBの波形 時計(カウンタ) • 640×480を16で間引いて40×30の座標と する(水平、垂直カウント値の下4ビットを捨てる) 0 0 3 7 11 2 5 8 11 15 18 21 24 28 31 34 37 垂直同期とRGBの波形 ゲームのしくみ • 元ネタはトランジスタ技術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 増設VGAコネクタ 部品表 • Dサブ3列15ピンメス • Dサブ2列9ピン用カバー • 抵抗 – 82Ω×2(HS、VS) – 270Ω×3(R,G,B) • フラットケーブル(6芯以上) • 圧着コネクタ(6芯以上) – 圧着工具が必要 • 基板側ポスト(6芯以上) • 絶縁チューブ
© Copyright 2024 ExpyDoc