![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/22/41d30671-234a-497e-8b71-5852356cc2f9/41d30671-234a-497e-8b71-5852356cc2f9pic.jpg)
![fpga課程設(shè)計--vga圖像顯示控制電路設(shè)計_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/5/22/41d30671-234a-497e-8b71-5852356cc2f9/41d30671-234a-497e-8b71-5852356cc2f91.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p> VGA圖像顯示控制電路設(shè)計</p><p> 學(xué)校: </p><p> 學(xué)院: 自動化學(xué)院 </p><p> 專業(yè):電子信息科學(xué)與技術(shù) </p><p> 班級:
2、 </p><p> 姓名: </p><p> 學(xué)號: </p><p> 日期: 2014.12.17 </p><p><b> 目錄</b></p><p>
3、 1緒論……………………………………………………..1</p><p> 2設(shè)計要求、目的及方案論證…………………………..1</p><p> 2.1 設(shè)計要求…………………………………………1</p><p> 2.2 設(shè)計目的…………………………………………1</p><p> 2.3 設(shè)計方案…………………………………………1
4、</p><p> 3系統(tǒng)設(shè)計………………………………………………..2</p><p> 3.1 設(shè)計原理…………………………………………2</p><p> 3.2 程序設(shè)計…………………………………………4</p><p> 4程序結(jié)果截圖…………………………………………..7</p><p> 5課程
5、設(shè)計心得…………………………………………..8</p><p> 參考文獻………………………………………………….8</p><p><b> 緒論</b></p><p> 本設(shè)計采用EDA技術(shù),通過CPLD芯片實現(xiàn)了實現(xiàn)VGA圖像顯示的設(shè)計,本文采用Verilog 硬件描述語言描述VGA圖像顯示電路,完成對電路的功能仿真。通過屏幕直接
6、將圖像的顯示出來。與傳統(tǒng)的設(shè)計方式相比,本設(shè)計由于采用了CPLD芯片來實現(xiàn),它將大量的電路功能集成到一個芯片中,并且可以由用戶自行設(shè)計邏輯功能,提高了系統(tǒng)的集成度和可靠性。</p><p> 2設(shè)計要求、目的及方案論證</p><p> 2.1 課程設(shè)計要求</p><p> 小組2名成員進行學(xué)習(xí)和討論,來設(shè)計一個VHDL/Verilog 程序來實現(xiàn)以下功能:
7、</p><p> 1. 利用 FPGA 實現(xiàn) VGA 圖像顯示器</p><p> 2. 通過屏幕將其顯示</p><p> 4. 選用 GW48-PK2系統(tǒng), 編寫程序在 FPGA 上實現(xiàn)并加以驗證.</p><p> 2.2 課程設(shè)計目的</p><p> 1、熟悉VGA顯示器的實現(xiàn)原理</p&g
8、t;<p> 2、加深對VHDL語言的設(shè)計編程和設(shè)計語言規(guī)則的應(yīng)用</p><p> 3、熟悉集成電路設(shè)計的流程,學(xué)習(xí)使用EDA集成電路設(shè)計軟件QuartusII 進行模擬綜合,然后在FPGA上實現(xiàn)。</p><p><b> 2.3 設(shè)計方案</b></p><p> CPLD是整個系統(tǒng)的核心,通過對其編程可輸出RGB三
9、基色信號和HS 、VS行場掃描同步信號。當 CPLD接受單片機輸出的控制信號后,內(nèi)部的數(shù)據(jù)選擇器模塊根據(jù)控制信號選通相應(yīng)的圖像生成模塊,輸出圖像信號,與行場掃描時序信號一起通過15針D型接口電路送入VGA顯示器,在VGA顯示器上便可以看到對應(yīng)的圖像。CPLD所需的工作時鐘由外部高精度有源晶振提供,系統(tǒng)原理框圖如下圖:</p><p><b> 3系統(tǒng)設(shè)計</b></p>&l
10、t;p> 此系統(tǒng)設(shè)計分主要由,二分頻模塊,地址譯碼器模塊,VGA顯示控制模塊及圖像數(shù)據(jù)ROM來實現(xiàn)對圖像的顯示。計數(shù)器模塊設(shè)計簡單,用計數(shù)器計數(shù)來控制,以實現(xiàn)某一個區(qū)域顯示相應(yīng)的顏色。具體以VGA顯示模塊和圖像數(shù)據(jù)ROM為例進行詳細分析與操作。</p><p> 4 VGA顯示控制模塊</p><p> VGA顯示控制模塊主要通過VGA時序產(chǎn)生640*480顯示范圍,并控制
11、和消隱范圍以及產(chǎn)生水平同步時序信號hs和垂直同步時序信號vs的值。</p><p> 一個獨立的計數(shù)器產(chǎn)生垂直時序信號。垂直同步計數(shù)器在每個HS脈沖信號來臨時自動加1,譯碼值產(chǎn)生VS信號。計數(shù)器產(chǎn)生當前顯示行。這兩個計數(shù)器從地址到顯示緩沖器連續(xù)計數(shù)。</p><p> 首先啟動QUARTUS Ⅱ軟件,新建vga640480顯示掃描模塊工程文件, 單擊完成按鈕,創(chuàng)建好了設(shè)計工程,選擇【F
12、ILE】>【NEW】菜單,選擇【VHDL File】,單擊【OK】建立一個新的文本設(shè)計文件,命名為vga640480.vhd。隨即進行程序代碼的輸入。在【File】菜單中點選【Save as】存盤并保證該文件添加到了工程中,文件名為默認的即可。至此,vga640480顯示掃描模塊文件建立完成。在【File】菜單中點選【Gree Update】/【Greate Symbol File For Cunrent File】對vga640
13、480文本文件進行封裝得出原理圖模塊如圖4.1-5所示:</p><p> 圖4.1-5 vga640480顯示掃描模塊</p><p> 通過以上步驟,便完成了vga640480顯示掃描模塊的設(shè)計工作,即系統(tǒng)底成模塊完成。</p><p> 4.2 imgrom(圖像數(shù)據(jù)ROM)</p><p> 4.2.1 圖像原理<
14、/p><p> 本設(shè)計采用型號為28C040的4M EEPROM外部存儲器,可以在單片內(nèi)存儲整屏圖像,但考慮到存儲空間的大小,本設(shè)計僅采用每個像素的顏色位深為3位,共可顯示8種顏色的圖像。</p><p> 要把一幅圖像的數(shù)據(jù)寫入ROM,先將BMP格式文件轉(zhuǎn)化成mif格式文件,再經(jīng)過Quartus II直接將mif文件轉(zhuǎn)化為Hex文件,最終將圖像數(shù)據(jù)燒寫入ROM中。</p>
15、<p> 4.2.2 具體實現(xiàn)步驟</p><p> 通過Image2lcd對本設(shè)計采用的圖片進行數(shù)據(jù)采集,轉(zhuǎn)換成BMP格式的文圖文件</p><p> 將BMP格式文件轉(zhuǎn)換成MIF文件,再經(jīng)過Quartus II直接將mif文件轉(zhuǎn)化為Hex文件,然后開始利用Megal Wizard Plug Manager 定制圖形數(shù)據(jù)ROM宏功能塊,并將圖形數(shù)據(jù)加載與此ROM中,設(shè)計
16、步驟如下。</p><p> 在原有的工程項目中創(chuàng)建新的工程imggrom文件,選擇【FILE】>【NEW】菜單,選擇【BLOCK Diagarm/Schemrtic File】,單擊【OK】建立一個新的原理圖設(shè)計文件,命名為imgrom.bdf。</p><p> 在新建的原理圖編輯窗口雙擊,產(chǎn)生元件查找對話框,找出lpm_rom元件,點擊【ok】,彈出LPM宏功能設(shè)定窗口,
17、</p><p> 選擇ROM控制線,地址線和數(shù)據(jù)線。在對話框中選擇地址線位寬和ROM數(shù)據(jù)線分別為3和4096,選擇的地址鎖存控制信號inclock。</p><p> 單擊NEXT按鈕,在選擇系統(tǒng)默認的Auto。點擊【Browse】,找出以生產(chǎn)的HEX文件的位置并添加。</p><p> 至此,LPM-Rom設(shè)計完成,產(chǎn)生imgrom(圖像數(shù)據(jù)Rom)模塊器
18、件,以供系統(tǒng)頂層調(diào)用</p><p> 圖4.2.2-7 imgrom(圖像數(shù)據(jù)ROM)</p><p><b> 3.2 程序設(shè)計</b></p><p><b> 顯示掃描模塊代碼</b></p><p> LIBRARY IEEE;</p><p> USE
19、 IEEE.std_logic_1164.all;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> entity vga640480 is</p><p> port (clk : in STD_LOGIC;</p><p> hs,vs,r,g,b : out STD_logi
20、c;</p><p> rgbin :in std_logic_vector(2 downto 0);</p><p> hcntout,vcntout: out STD_logic_vector(9 downto 0));</p><p> end vga640480;</p><p> architecture ONE of vg
21、a640480 is</p><p> signal hcnt, vcnt : STD_logic_vector(9 downto 0);</p><p><b> begin</b></p><p> hcntout <= hcnt;</p><p> vcntout <= vcnt;</p&
22、gt;<p> process(clk) </p><p><b> begin </b></p><p> if (rising_edge(clk))</p><p><b> then </b></p><p> if (hcnt =640+8) </p>
23、<p><b> then </b></p><p> if (vcnt < 525) then vcnt <= vcnt +1;</p><p> else vcnt <= (others => '0');</p><p><b> end if;</b><
24、/p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> process(clk)</p><p><b> begin </b></p&g
25、t;<p> if (rising_edge(clk))</p><p><b> then </b></p><p> if ((hcnt >=640+8+8) and (hcnt <640+8+8+96)) then hs <='0';</p><p> else hs <=
26、39;1';</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> process(clk) begin </p><p> if ((vcnt &g
27、t;=4800+8+2) and (vcnt <480+8+2+2)) then vs <='0';</p><p> else vs <='1';</p><p><b> end if;</b></p><p> end process;</p><p> p
28、rocess(clk) begin </p><p> if (rising_edge(clk)) then </p><p> if (hcnt<640 and vcnt<480) then </p><p> r<=rgbin(2);g<=rgbin(1);b<=rgbin(0);</p><p>
29、else r<='0';g <='0';b<='0';</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p><b&
30、gt; end ONE;</b></p><p><b> 管腳</b></p><p><b> 4、程序結(jié)果截圖</b></p><p><b> 5、課程設(shè)計心得</b></p><p> 本實驗在編程技術(shù)的基礎(chǔ)上,根據(jù)VGA原理,運用VHDL描述語
31、言實現(xiàn)了VGA控制設(shè)計的方案。在設(shè)計的過程中,遇到了很多問題,在設(shè)計之初通過查找大量資料,對VGA的原理有了初步的認識,但是在進行行列時序信號的計算時還是有一定的不理解。在指導(dǎo)老師的幫助下,了解了信號的產(chǎn)生。通過老師的指點和自學(xué),我也分析出了本設(shè)計存在的不足。實驗中我進一步熟悉了數(shù)字系統(tǒng)VHDL設(shè)計和仿真的流程,加深了對QuartusII軟件的使用的理解。通過設(shè)計時序控制電路,和彩條產(chǎn)生電路,我更深入地理解了FPGA技術(shù),即通過軟件編程
32、的方法來實現(xiàn)硬件時序和組合電路。同時通過本次設(shè)計,我知道光靠在課堂上所學(xué)的知識,我們無法真正的將所學(xué)的各個科目的知識融會貫通,應(yīng)當學(xué)以致用,對我們學(xué)生來說,理論與實際同樣重要,這是我們以后在工作中證明自己能力的一個重要標準。通過了這次設(shè)計,我能更好的理解書本知識,相信也能夠更好的運用他它。在以后的學(xué)習(xí)和工作中,我們還會遇到許多類似的設(shè)計,但有了這次的經(jīng)驗,我相信我會盡自己的力做得更好!</p><p><b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- vga彩條信號顯示控制電路設(shè)計
- 課程設(shè)計-基于fpga的vga圖像顯示設(shè)計
- 數(shù)電課程設(shè)計--- 彩燈循環(huán)顯示控制電路設(shè)計
- 課程設(shè)計---彩燈控制電路設(shè)計
- 舵機角度控制電路設(shè)計課程設(shè)計
- 課程設(shè)計---彩燈循環(huán)控制電路設(shè)計
- 課程設(shè)計----溫度顯示及控制電路
- 彩燈循環(huán)顯示控制電路課程設(shè)計
- 橫梁自動升降控制電路設(shè)計課程設(shè)計
- 課程設(shè)計--- 洗衣機控制電路設(shè)計
- 課程設(shè)計--節(jié)日彩燈控制電路設(shè)計報告
- 課程設(shè)計---切削加工刀架控制電路設(shè)計
- 《汽車尾燈顯示控制電路設(shè)計》課程設(shè)計說明書
- 混凝土攪拌機控制電路設(shè)計課程設(shè)計
- 課程設(shè)計---汽車尾燈控制電路設(shè)計
- hdl課程設(shè)計——交通燈控制電路設(shè)計
- 課程設(shè)計——汽車尾燈控制電路設(shè)計
- 洗衣機控制電路設(shè)計eda課程設(shè)計
- 課程設(shè)計---汽車尾燈控制電路設(shè)計
- 后動作優(yōu)先設(shè)備控制電路設(shè)計 課程設(shè)計
評論
0/150
提交評論