嵌入式系統的VGA接口設計
引言
本文引用地址:http://dyxdggzs.com/article/152628.htm目前越來(lái)越多的嵌入式處理器上集成了LCD控制器。典型的如三星的S3C2410A,Intel的Xscale系列。這樣可方便地外接大屏幕的LCD,且分辨率也能達到640×480,甚至800×600;色深能從6.5萬(wàn)色(16位)到26萬(wàn)色(18位)。但是大屏幕LCD的價(jià)格都比較昂貴。另一方面,普通計算機的VGA接口顯示器,保有量巨大、技術(shù)成熟,如果能通過(guò)接口轉換手段,讓嵌入式處理器直接支持VGA顯示器,則能很大地利用現有資源,節約系統成本。
VGA (Video Graphics Array)接口信號為模擬信號。其關(guān)鍵信號有5個(gè),分別是Horizontal Sync水平同步信號(也叫行同步信號),垂直同步信號Vertical Sync(也叫場(chǎng)同步信號),Red紅色,Green 綠色和Blue 藍色。電子槍從左至右,從上至下地進(jìn)行掃描,每行結束時(shí),用行同步信號進(jìn)行同步;掃描完所有行后用場(chǎng)同步信號進(jìn)行場(chǎng)同步。因電子槍偏轉需要時(shí)間,所以?huà)咄昊剞D中,要對電子槍進(jìn)行消隱控制:在每行結束后的回轉過(guò)程中進(jìn)行行消隱;在每場(chǎng)結束后的回轉過(guò)程中進(jìn)行場(chǎng)消隱。消隱過(guò)程中不發(fā)送電子束。
掃描式LCD接口(以S3C2410A的LCD控制器為例圖1),在每一場(chǎng)完畢后,也是用VSYNC來(lái)進(jìn)行場(chǎng)同步;每一行完畢后,也是用HSYNC進(jìn)行行同步;也有VCLK像素時(shí)鐘,用于鎖存數據;
其場(chǎng)同步信號,寬度為(VSPW+1),之前有場(chǎng)消隱前肩(VFPD+1),之后有場(chǎng)消隱后肩(VBPD+1);
其行同步信號,寬度為(HSPW+1),之前有行消隱前肩(HFPD+1),之后有場(chǎng)消隱后肩(HBPD+1);
可以發(fā)現,掃描式LCD接口的同步信號時(shí)序和VGA接口是一致的。原因是發(fā)明LCD后,盡管顯示原理不同,但為了在時(shí)序上和CRT兼容,也采用了這樣的控制時(shí)序?;诖?,完全能將LCD接口轉換為VGA接口。
圖1 三星S3C2410A的LCD信號時(shí)序圖(來(lái)自S3C2410A數據手冊)
方案實(shí)現
VGA接口只需Hsync和Vsync兩個(gè)同步信號和RGB三個(gè)色彩分量信號。而掃描式LCD接口的同步信號的時(shí)序和VGA接口的完全一致,可直接把兩個(gè)同步信號接入VGA接口。
S3C2410A的LCD控制器輸出的是RGB數字信號。因此若用一些DAC芯片把RGB數字信號轉換為模擬信號,即可實(shí)現VGA接口的RGB信號輸入。這類(lèi)視頻專(zhuān)用DAC芯片較多,例如ADI公司的ADV7120;CHRONTEL公司的CH7004C。實(shí)驗中選用的CHRONTEL公司的CH7004C。S3C2410A的LCD控制器與CH7004C的連接如表1。
表1 S3C2410A的LCD控制器與CH7004C的連接
在選擇數據格式時(shí),RGB565較合適,因為16位數據已經(jīng)有6.5萬(wàn)色,完全足夠;24位數據時(shí)每個(gè)像素實(shí)際占用32位,4個(gè)字節,傳輸時(shí)對S3C2410A的總線(xiàn)資源占用太大。
整個(gè)電路原理圖如圖2所示。其中一些需要注意的地方有:
CH7004C工作在從模式下,由S3C2410A的I2C控制。在實(shí)驗中使用的是精度較好的日本村田(murata)的阻容元件,包括10K,360歐,75歐和10pF的電容。10K用于I2C總線(xiàn)的上拉,360歐用于RSET引腳接地;75歐為R,G,B三個(gè)輸出管腳和地之間的終端電阻,10pF電容用于晶振。另外,CH7004C的IIC地址,是通過(guò)把ADDR引腳拉高或拉低來(lái)設定;接地時(shí),根據芯片手冊,其7位的I2C地址為1110110,最后加一個(gè)讀/寫(xiě)位。
圖2 CH7004C的電路原理圖
CH7004C的關(guān)鍵寄存器及設置
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論