Powered By Blogger

2019年4月29日 星期一

FPFA控制電腦VGA螢幕製作乒乓球遊戲(使用VHDL語言1)-靜態顯示

桌上型電腦螢幕這個東西--不作他想,百分之99.9的用途就是接上電腦主機,用以顯示電腦各項資訊的裝置,一般是透過所謂的VGA接頭與主機連接。只是目前的桌上型電腦螢幕大多還沒有觸控功能,所以從資料傳遞的主從關係來說,它只是單方向地接收資料然後加以顯示的輸出裝置。

因此,若可以理解傳送至VGA螢幕的資料格式,就可以用其它的控制裝置來控制VGA螢幕顯示的畫面,這也就是會有這次實驗的動機。再加上小弟最近在玩FPGA的VHDL硬體描述語言,想說就拿這個主題來練練功,增進一下自己的經驗與實力好了,於是在網路上搜集了一些資料後,花了一些時間與準備了一些設施與材料,再辛苦了一段時間,果真完成了乒乓球遊戲的設計!不多說,快來看看怎麼做吧......


實驗一:FPFA控制電腦VGA螢幕製作乒乓球遊戲(1)-靜態顯示
1、功能需求:在VGA螢幕上顯示下圖中的畫面(實驗一的結果)。這是一個靜止的畫面,上下各有一道綠色牆,左右各有一道藍色牆,中間還有4支也是綠色及藍色的BAR,然後一顆紅色的,背景則是黃色。只是實驗一還不會讓球及BAR移動。


2、電路接線圖:如下圖所示,對電子有點概念的人應該覺得不難。
        2.1電腦螢幕:應隨手可得,只是其VGA接頭為公座(下圖藍色接頭),若要將中間的接點接上FPGA晶片,則最好買一個母座轉接(下下圖,我花了15元),只是要自己銲一些線出來(由上方電路圖可知,VGA的第1、2、3腳要接RGB顏色信號,第6、7、8、10腳要接地,第13、14腳分別接水平及垂直同步信號)。



需要自己銲跳線出來!
       2.2FPGA晶片:我用的核心板是ALTERA的EP3C16Q240這顆晶片,因為是用廠商做好的開發平台(一整個鋁箱),它搭配的系統時脈為50MHz,重置開關等輸入裝置都已內建好,所以不用外接太多的東西,而且開發平台上還附有一塊小麵包板,方便我們外接VGA螢幕,算是非常方便。整個接線實體照片圖如下圖所示。

3、系統程式架構:VHDL硬體描述語言的程式架構如下圖所示:


4、程式下載:[下列三支程式放至同一專案內]
      4.1 vga_pingpong_game.vhd  [主程式:請以此名稱當成專案名稱]
      4.2 vga_control.vhd  [元件程式:主要是控制螢幕顯示功能]
      4.3 pingpong_game_control.vhd [元件程式:主要是控制各物件的位置及遊戲功能]

5、誌謝。以上程式修改自下列網址搜尋到的資料,感謝無遠弗界的網路世界及不藏私的神人。
        ece-research.unm.edu/jimp/vhdl_fpgas/slides/VGA.pdf





















沒有留言:

張貼留言

本網誌其它"軌跡"

// 以下為新增的程式碼 FOR 文章分類 // 以上為新增的程式碼 FOR 文章分類