利用FPGA實(shí)現外設通信接口之: 典型實(shí)例-VGA接口的設計與實(shí)現
10.9典型實(shí)例19:VGA接口的設計與實(shí)現
10.9.1實(shí)例內容及目標
1.實(shí)例的主要內容
本節旨在設計實(shí)現了FPGA與VGA顯示器的接口,幫助讀者進(jìn)一步了解VGA接口的時(shí)序和設計方法。
本文引用地址:http://dyxdggzs.com/article/201706/348801.htm2.實(shí)例目標
通過(guò)本實(shí)例,讀者應達到以下目標。
·掌握VGA接口的標準時(shí)序。
·掌握利用FPGA設計驅動(dòng)的基本思想和方法。
·熟練掌握狀態(tài)機的使用。
10.9.2VGA接口實(shí)例內容
紅色颶風(fēng)開(kāi)發(fā)板的VGA接口可以產(chǎn)生8種顏色,可以用來(lái)顯示字符和簡(jiǎn)單圖形。本實(shí)例要求通過(guò)VGA接口,在顯示器上依次顯示8種顏色的彩色條紋,條紋寬度相同。
10.9.3FPGA代碼設計實(shí)現
按照VGA時(shí)序要求產(chǎn)生行/列同步信號,并且在指定的時(shí)間(有效像素期間)將要顯示的顏色數據輸出到RGB。
不同的顯示模式和刷新頻率下,具體同步信號前、后、同步信號、有效像素數是不同的,要根據像素時(shí)鐘頻率來(lái)設置。以800×600,60Hz為例,像素時(shí)鐘為40MHz,即:
像素時(shí)鐘=(800+40+128+88)×(600+1+4+23)×60=40MHz
設計中可根據系統時(shí)鐘頻率來(lái)選擇合適的顯示模式。
10.9.4ModelSim仿真驗證
1.行顯示
設定一個(gè)列計數器,計數到相應的值時(shí),給出相應的同步信號,并在像素有效期間,輸出有效的顏色數據,行計數器通過(guò)檢測列同步信號來(lái)計數,檢測到列同步信號,表示新一行的開(kāi)始,這樣就可控制在不同的行顯示不同的內容。
仿真結果如圖10.45所示。
圖10.45行顯示仿真結果
其中,hcnt為列計數,列計數到有效像素時(shí),給出enable信號,只有enable信號為高時(shí),才給出有效像素數據,并且在每個(gè)同步信號后,行計數器加1。
如圖10.46所示為行同步信號產(chǎn)生時(shí)仿真結果,當計數到604-1=603行時(shí),給出行同步信號,同步信號低電平持續4個(gè)行的時(shí)間,同步信號后持續21行的時(shí)間,之后再從第一行第一列開(kāi)始。
圖10.46行同步信號產(chǎn)生后仿真結果
2.列顯示
如圖10.47是列顯仿真結果。列顯示和行顯示不同在于,同一行的像素,計數到不同的值時(shí),輸出不同的顏色數據,每一行都是如此,最終就可得到列顯的彩色條紋。
圖10.47列顯仿真結果
10.9.5小結
本節對利用FPGA來(lái)驅動(dòng)VGA接口顯示器的方法做了介紹,并通過(guò)編譯下載在紅色颶風(fēng)的開(kāi)發(fā)板上實(shí)現
評論