天天看點

VGA顯示器工作原理之同步信号



VGA顯示器是如何顯示圖像的?我們的FPGA和MCU要怎樣配置才能讓VGA顯示器正确顯示?經常有朋友這樣問,網上相關的介紹也不少,我這裡從FPGA或MCU的LCD控制器的角度來讨論這個問題。 我們先來看看顯示器顯示一個圖像需要哪些信号(此圖來自LCD顯示模組的規格書)

VGA顯示器工作原理之同步信号

從圖可以看出,LCD顯示圖像需要Hsync,Vsync, D[n:0],CLK,DE,而且這些信号要滿足上述時序關系,

我們再來看VGA顯示器的輸入信号(此圖來自VESA Monitor Timing Specifications )

VGA顯示器工作原理之同步信号

從上圖可以看出,這裡隻有3個信号Hsync,Vsync,Video 和LCD需要的信号比較,Hsync,Vsync,是共同都有的,Video和D[n:0]其實是同一個信号,就是視訊信号,顯示器要顯示的内容,LCD是數字輸入的,是以用Data[n:0]來描述了,簡寫D[n:0],n表示每個像素的灰階,灰階 = 2的n次方,通常取值是8或6;但是還少了DE和CLK信号。

這裡我們來描述VGA顯示是如何得到DE和CLK信号的,這也是本文要描述的重點。Hsync和Vsyn是我們要分析的根本,一個同步信号通常有這幾個參數,頻率,極性,同步頭的寬度。

頻率:這個不用說了;

極性:有正極性和負極性,信号中高電平時間長,低電平時間短就是負極性,反之就是正極性,前圖的LCD信号圖中的Hsync就是負極性,VGA顯示器輸入信号圖中的Hsync是正極性;

同步頭寬度:有些也叫同步時間,就是描述同步信号中較短的電平的時間,通常機關是CLK,可以用時間機關描述;

識别分辨率是得到CLK和DE的關鍵,VESA标準中每個不同的分辨率(包含重新整理頻率)Hsync,Vsync的頻率和極性是不同的,VGA顯示器就是根據這個來确定輸入圖像的分辨率的。一旦分辨率确定,一切都定了,你就可以查VESA标準得知VGA輸入信号圖中的全部參數。LCD中的DE就是DataEnable,對應VGA圖中Active Video,DE總是高電平有效,也有些LCD描述的是Blank,Blank就是DE的取反。接下來就是CLK了,CLK = Hsync * Htotal。所有的VGA顯示器内部都有一個PLL,就是起這個作用的,應為信号源來自Hsync,是以Hsync必須穩定。這裡出現了Htotal,就VESA中的 Hor Total Time。下面貼出一個1024*768@60Hz的 全部資訊

VGA顯示器工作原理之同步信号

VGA顯示器的原裡說完了,我們來看看LCD控制器有哪些信号(下圖來自STM32規格書)

VGA顯示器工作原理之同步信号

是不是看到VGA信号的LCD控制器的關系了;

下圖是verilog配置的VGA控制器,和MCU的LCD控制器是很相似的。