1 實驗要求
在FPGA上生成1280x720@60分辨率的視頻信號,通過DE10-Nano的 HDMI輸出到顯示屏上進(jìn)行顯示,顯示的內(nèi)容是一個黑色方塊每隔10ms移動一個像素位置,方塊遇到邊框自行回彈,屏幕背景為白色,屏幕邊框為綠色。
2 設(shè)計框圖
根據(jù)實驗要求分析可得出,想要控制ADV7513最終在HDMI顯示器上顯示畫面,需要先配置ADV7513寄存器,配置通過I2C總線,該部分的控制原理在前面(參考文末往期閱讀的鏈接)已經(jīng)講解過。
想要在HDMI顯示器上顯示邊框,方塊和白色背景,需要設(shè)計一個滿足DMT時序的視頻信號。
1280x720@60分辨率的像素時鐘是74.25MHz,所以這里可調(diào)用Altera的PLL IP來生成這個時鐘(系統(tǒng)時鐘是50MHz)。
整個系統(tǒng)的設(shè)計框圖如下所示:

3 代碼實現(xiàn)
(1)Top level代碼
主要是例化PLL、HDMI顯示和I2C控制三個模塊。具體代碼參考工程。
(2)HDMI控制器模塊
HDMI控制器模塊用于生成1280x720分辨率的視頻信號,并在屏幕上顯示一個每隔10ms移動的黑色方塊,背景為白色,屏幕邊框為綠色。
1. 首先是1280*720分辨率時序參數(shù)的設(shè)定。如下是行時序參數(shù)設(shè)定:

這些參數(shù)對應(yīng)到時序如下圖所示:

如下是場時序參數(shù)設(shè)定:

這些參數(shù)對應(yīng)到時序如下圖所示:

2. 實現(xiàn)行計數(shù)器和場計數(shù)器,用于跟蹤當(dāng)前像素位置,以及生成像素點(diǎn)橫縱坐標(biāo):

3. 根據(jù)行場計數(shù)器生成行場同步信號:

4. 根據(jù)行場計數(shù)器生成像素點(diǎn)橫縱坐標(biāo):

5. hdmi_ctrl模塊的時鐘是74.25MHz(1280*720@60對應(yīng)的像素時鐘),利用計數(shù)器產(chǎn)生10ms間隔:

6. 當(dāng)方塊移動到邊界時,改變移動方向:

根據(jù)代碼畫出方向改變的框圖示意圖如下:

7. 根據(jù)方塊移動方向,改變其縱橫坐標(biāo):


8. 給不同的區(qū)域繪制不同的顏色:

(3)I2C控制模塊
I2C控制模塊直接參考本文第8.3章節(jié)(內(nèi)容一模一樣)。
4 硬件準(zhǔn)備
DE10-Nano開發(fā)板一套(包括電源和USB 線纜)
HDMI顯示器一臺
HDMI cable 一根
5 軟件安裝 1. 進(jìn)入Altera官網(wǎng)選擇Quartus Prime Lite 17.1版本:

2. 點(diǎn)擊Indicidual Files 找到Cyclone V的器件包并下載:

3. 往下繼續(xù)找到Intel Quartus Software下載QuartusLiteSetup壓縮包和ModelSimSetup壓縮包(后續(xù)會有仿真章節(jié)):

4. 所有文件都下載完以后,雙擊QuartusLiteSetup-17.1.0.590-windows.exe文件進(jìn)行安裝。安裝的過程中會默認(rèn)選擇一起安裝Nios II IDE、ModelSim和Cyclone V器件包(未勾選時可自行勾選這些內(nèi)容),建議安裝的過程中所有默認(rèn)設(shè)置都保留(除了安裝路徑自己選擇外)。USB Blaster II驅(qū)動程序?qū)⒃谲浖惭b結(jié)束時提示安裝。 6 操作步驟 1. 打開Quartus軟件,點(diǎn)擊File——New Project Wizard...

2. 點(diǎn)擊Next:

3. 在如下對話框里面選擇工程路徑和工程名稱:

4. 繼續(xù)點(diǎn)擊Next:

5. 繼續(xù)點(diǎn)擊Next:

6. 然后在如下對話框里面鍵入DE10-Nano對應(yīng)的FPGA器件(5CSEBA6U23I7):

7. 點(diǎn)擊Finish結(jié)束工程的創(chuàng)建:

8. 開始新建Top工程,點(diǎn)擊File——New...

9. 選擇Verilog HDL File 然后點(diǎn)擊OK:

10. 編Verilog代碼(代碼可以參考隨本文一起提供的工程)并保存為HDMI_block_move.v文件:

11. 用同樣的方法新建.v文件,編Verilog代碼(代碼可以參考隨本文一起提供的工程)并保存為hdmi_ctrl.v文件:

12. 將第八章節(jié)提到的I2C控制器所包含的三個.v文件拷貝到當(dāng)前工程路徑下:

13. 并將這三個文件添加到當(dāng)前工程里面以便后面編譯的時候會調(diào)用這三個文件,具體做法是點(diǎn)擊Project——Add/Remove Files in Project..., 然后點(diǎn)擊File Name旁邊的...瀏覽到三個文件所在路徑,選中這三個文件然后點(diǎn)擊打開按鈕:


14. 然后點(diǎn)擊Apply和OK按鈕結(jié)束工程文件的添加:

15. 接下來配置PLL IP,在IP Catalog里面搜索pll 找到Altera PLL,點(diǎn)擊它:

16. 在出現(xiàn)如下的對話框里填入pll的名稱為pll,然后點(diǎn)擊OK:

17. 在Reference Clock Frequency處填寫50,在outclk0處填寫74.25,然后點(diǎn)擊Finish結(jié)束pll的配置:

18. 等pll模塊生成以后會彈出如下對話框,點(diǎn)擊Yes將其添加到當(dāng)前工程:

19. 這時FPGA電路設(shè)計基本完成,接下來是引腳分配,首先點(diǎn)擊Start Analysis&Synthesis按鈕對工程進(jìn)行分析和綜合,這樣在后面引腳分配的時候信號端口才能出現(xiàn):

20. 接下來參考DE10-Nano的 usermanual文檔或者schematic文件來分配引腳,該工程引腳分配如下:


21. 引腳分配完成就點(diǎn)擊Start Compilation按鈕開始全編譯工程:

22. 工程全編譯結(jié)束后在HDMI_block_moveoutput_files路徑下會產(chǎn)生HDMI_block_move.sof文件,接下來點(diǎn)擊Programmer 按鈕將此文件配置到FPGA里面去:

23. 點(diǎn)擊Hardware Setup(在這之前記得用一根HDMI線纜連接HDMI顯示器和DE10-Nano, 然后用一根Mini USB線連接PC和DE10-Nano, 然后給DE10-Nano開發(fā)板插上5V電源),選擇DE-SoC[USB-1]端口,點(diǎn)擊Close:

24. 點(diǎn)擊Auto Detect,選擇5CSEBA6,然后點(diǎn)擊OK:

25. 如果出現(xiàn)如下窗口,點(diǎn)擊Yes:

26. 此時系統(tǒng)會出現(xiàn)兩個器件,一個是SOCVHPS, 一個是5CSEBA6U23,鼠標(biāo)右擊5CSEBA6U23選擇Change File:

27. 瀏覽到HDMI_block_move.sof路徑下選擇該文件,然后點(diǎn)擊Open:

28. 點(diǎn)選如下復(fù)選框,然后點(diǎn)擊Start開始FPGA 文件配置:

29. 當(dāng)Progress進(jìn)度條顯示100%(顏色變綠了)代表FPGA配置完成:

7 實驗現(xiàn)象
可以觀察到HDMI顯示器上有個綠色邊框,中間背景為白色,有個黑色小方塊在屏幕中移動。
HDMI_block_move工程下載鏈接: https://pan.baidu.com/s/1LwQjqLpmZMl5IkvTgzo-3w
提取碼: tera
-
FPGA
+關(guān)注
關(guān)注
1660文章
22406瀏覽量
636065 -
顯示器
+關(guān)注
關(guān)注
22文章
5145瀏覽量
144361 -
HDMI
+關(guān)注
關(guān)注
34文章
1899瀏覽量
160450
原文標(biāo)題:7-DE10-Nano的HDMI方塊移動案例的整體實現(xiàn)(含Quartus完整工程免費(fèi)下載)
文章出處:【微信號:友晶FPGA,微信公眾號:友晶FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于FPGA開發(fā)板DE10-Standard和T-Core的串口通信設(shè)計
來自InnovateFPGA的全球令人印象深刻的創(chuàng)新設(shè)計
【正點(diǎn)原子FPGA連載】第十九章HDMI方塊移動實驗-領(lǐng)航者ZYNQ之FPGA開發(fā)指南
ADI開發(fā)板擴(kuò)展DE10-Nano 套件功能
如何使用英特爾FPGA加速軟件
DE1O Nano SoC開發(fā)板的用戶手冊免費(fèi)下載
【正點(diǎn)原子FPGA連載】第二十五章HDMI方塊移動實驗 -摘自【正點(diǎn)原子】新起點(diǎn)之FPGA開發(fā)指南_V2.1
自制Arduino Nano俄羅斯方塊游戲
用于Terasic DE10-納米套件的實際插件
PwFPGA第5部分 - DE0 Nano上的乒乓游戲
基于互聯(lián)網(wǎng)的攝像測量系統(tǒng)(二)
基于互聯(lián)網(wǎng)的攝像測量系統(tǒng)(三)
使用友晶DE10-Nano開發(fā)板的HDMI彩條顯示案例
使用DE10-Nano的HDMI方塊移動案例的整體實現(xiàn)
評論