惠為君 沈兆軍
摘 要:介紹了VGA的基本概念和有關協議,給出了VGA 行場掃描的時序圖?;趘erilog語言實現了VGA視頻編碼芯片ADV7123的控制器。測試表明,該控制器是有效的。
關鍵詞:Verilog;VGA;控制器
中圖分類號:TN911
1 VGA時序
VGA(Video Graphics Array)是一種視頻傳輸標準,是彩色顯示器的主要接口。ADV7123是一款VGA視頻編碼芯片。VGA控制器就是根據VGA時序控制ADV7123輸出的視頻信號。VGA時序包括行掃描和場掃描時序,如圖1和圖2所示。
其中,掃描周期 Te = Tc + Td + Ta + Tb。Tc為行/場同步頭,Td為行/場消隱藏后肩,Ta為行/場圖像,Tb為行/場消隱前肩。以分辨率為 640*480,場頻為60HZ為例,各參數的值如表1所示。
每一場像素計數: 640*480 = 419200,每秒60場圖像,總共像素計數為:419200*60 = 25152000。由此計算得時鐘頻率 f = 25152000/1000000 = 25.152 MHZ,最終確定系統時鐘頻率為25 MHZ。
2 視頻編碼
ADV7123支持30bit編碼,也就是RGB各分量都取10個bit??紤]到FPGA的引腳限制,一般取16bit編碼,也就是RGB565,綠色分量取6位,紅、黃色分量各取5位編碼。
3 VGA控制器Verilog核心程序
行計數器啟動行掃描,代碼如下:
行列計數器值計數到有效圖像數據(640*480)區域時候,控制器輸出有效的16bit信號,驅動ADV7123。同時,輸出有效的x、y坐標,讀取該坐標對應的存儲器中的二維圖像信息。
4 VGA控制器驗證
通過控制器控制可以在LCD顯示屏上顯示字符、RGB彩色圖像、視頻圖像。顯示字符時,在ROM中加載字模的mif文件。顯示彩色圖像時,先要提取彩色圖像的R、G、B各分量,制成mif文件,然后,在ROM中分別加載各個分量的mif文件。視頻圖像的顯示方法是把采集的視頻按幀顯示圖像即可。如圖3所示,為了驗證設計,生成了兩個模塊,一個是提供時鐘的PLL,PLL輸出時鐘為25MHZ。一個是控制存儲字模數據ROM的模塊lcd_display。Lcd_display讀取兩個ROM,ROM1中存放字符為:Hello World*^_^*,ROM2中存放的字符為:電子設計自動化。其中,英文字符的的尺寸為32*64,中文字符的寬度要求為英文字符的兩倍,因此,中文字符的尺寸為64*64。為了簡單起見,取兩個ROM的寬度為64,深度都為512。字符在顯示器水平方向的起始位置為64,英文字符豎直方向的起始位置為128,中文字符的豎直方向的起始位置為256。以中文字符為例,讀取字符代碼如下:
4 結束語
本文設計的控制器適用于VGA字符、圖像和視頻的顯示控制,仿真和試驗表明該設計是可靠的,控制器性能是穩定的。
參考文獻:
[1]劉威,石彥杰,高博.基于FPGA的VGA顯示模式識別[J].計算機工程與科學,2008(04):152-155.
[2]廖永清,丁旭昌.基于FPGA的VGA圖像動態顯示控制器的設計與實現[J].電視技術,2011(17):52-54.
[3]夏宇聞.Verilog數字系統設計教程[M].北京航空航天大學出版社,2008.
[4]姜世杰出,余紅英.基于FPGA的VGA接口驅動技術[J].電子測試,2012 (12):42-45,29-32.
[5]袁堂青,張玉璘.基于FPGA的VGA漢字顯示系統設計與實現[J].濟南大學學報(自然科學版),2011(01).
作者簡介:惠為君(1969.03-),男,碩士,信息學院講師,主要從事電子信息方面的教學工。
作者單位:鹽城工學院,江蘇鹽城 224051