方 鵬,張紅雨,趙明輝
(電子科技大學(xué) 電子工程學(xué)院,四川 成都 611731)
目前很多SOC廠商的微處理器芯片都集成了LCD控制器,如三星公司的 S3C2410,S3C2440,Intel的 Xscale系列等。大多數(shù)嵌入式系統(tǒng)也采用流行的LCD顯示技術(shù)。但是在需要大屏幕顯示、對分辨率要求不高的場合,如車間、廠房,采用大屏幕LCD則成本過高。另一方面,VGA顯示技術(shù)因為技術(shù)發(fā)展成熟,成本低廉,仍在被大量使用,直到今天它仍是所有顯示終端最為成熟的標(biāo)準(zhǔn)接口。如果讓嵌入式處理器直接支持VGA顯示器,則能很大地利用現(xiàn)有資源,節(jié)約系統(tǒng)成本。
通過分析VGA顯示技術(shù)的時序邏輯與S3C2440內(nèi)部集成LCD控制器驅(qū)動TFT LCD的時序邏輯,找出它們的共同點,分析在S3C2440上應(yīng)用VGA顯示接口的可行性。
VGA (Video Graphics Array)是IBM公司提出的目前仍然廣泛應(yīng)用于PC的顯示接口。該接口具有分辨率高、顯示速率快、顏色豐富等優(yōu)點,在彩色顯示器領(lǐng)域得到了廣泛的應(yīng)用[1]。VGA接口在物理上表現(xiàn)為DB15的插座,其中VGA適配器端使用的是陰性DB15標(biāo)準(zhǔn)的接口[2]。其引腳定義如表1所示。
表1 VGA適配器引腳定義Tab.1 Pins definition of VGA adaper
VGA接口使用模擬RGB通道,逐點、逐行掃描。其時序如圖1所示。VGA接口信號為模擬信號,其關(guān)鍵信號有5個,分別是Horizontal Sync水平同步信號 (也叫行同步信號),垂直同步信號 Vertical Sync(也叫場同步信號),紅色模擬信號,綠色模擬信號和藍(lán)色模擬信號。電子槍從左至右,從上而下的進(jìn)行掃描,每行結(jié)束時,用行同步信號進(jìn)行同步,掃描完所有的行后用場同步信號進(jìn)行場同步。因電子槍偏轉(zhuǎn)需要時間,所以掃完回轉(zhuǎn)中,要對電子槍進(jìn)行消隱控制,在每行結(jié)束后的回轉(zhuǎn)過程中進(jìn)行行消隱,在每場結(jié)束后的回轉(zhuǎn)過程中進(jìn)行場消隱。消隱過程中不發(fā)送電子束。
圖1 VGA的掃描時序Fig.1 VGA scan sequence
基于ARM920T內(nèi)核的S3C2440芯片外圍集成了LCD控制器,LCD控制器被用來向LCD傳輸圖像數(shù)據(jù),并提供必要的控制信號,比如 VFRAME、VLINE、VCLK、VM[3]等。 除此之外,LCD控制器還包括一組控制寄存器:LCDCON1寄存器、LCDCON2寄存器、LCDCON3寄存器、LCDCON4寄存器、LCDCON5寄存器。這些寄存器的設(shè)置與顯示屏信息、控制時序和數(shù)據(jù)傳輸格式等密切相關(guān),在設(shè)計中需要根據(jù)顯示設(shè)備的具體信息正確設(shè)置這些寄存器才能使S3C2440正??刂乞?qū)動不同的顯示屏。
典型的TFT液晶顯示屏的掃描時序如圖2所示。
圖2 典型TFT LCD掃描時序Fig.2 TFT LCD timing example
其中主要包括:
1)幀(垂直)同步(VSYNC):用高電平(或低電平)表示掃描一幀的起始。
2)行(水平)同步(HSYNC):用高電平(或低電平)表示掃描一行的起始。
3)時鐘(VCLK):通過上升沿(或下降沿)把數(shù)據(jù)寫入液晶屏。
4)數(shù)據(jù)有效控制(VDEN):表示是否開啟TFT輸出。
5)數(shù)據(jù)信號(VD):表示每個點的顏色,通常有 16位、18位、24位等模式。
通過對比VGA接口的時序和TFT LCD液晶顯示屏的掃描時序,可以看出它們很相似。這就為用LCD控制器驅(qū)動VGA顯示屏提供了內(nèi)在的可能性。而且一旦實現(xiàn)了這種轉(zhuǎn)接方案,由于是由硬件實現(xiàn)的兩種接口的電氣轉(zhuǎn)換,不需要寫任何驅(qū)動程序,是在嵌入式系統(tǒng)平臺上擴(kuò)展VGA接口的最方便的方案。比較兩種接口的特性,要實現(xiàn)從TFT時序到VGA時序的轉(zhuǎn)換,需要解決的問題有:
1)TFT液晶掃描同步信號和VGA同步信號的電平問題。
2)TFT液晶控制器的輸出是RGB數(shù)字接口,而VGA的紅綠藍(lán)通道時模擬量,兩者需要通過D/A轉(zhuǎn)換。使用D/A要考慮轉(zhuǎn)換精度、轉(zhuǎn)換速度、轉(zhuǎn)換通道數(shù)等問題。其中,為滿足真彩色(24位)的要求,8位的轉(zhuǎn)換精度就可以?;赩GA對幀頻的要求,每個點的轉(zhuǎn)換頻率必須大于27 MHz,同時,必須至少有3個通道同時轉(zhuǎn)換,以滿足紅綠藍(lán)(RGB)3個通道的輸出。
針對這種轉(zhuǎn)換的D/A通常稱為視頻D/A,本設(shè)計采用ATI公司的視頻D/A芯片ADV7120。
ADV7120是美國ADI公司生產(chǎn)的高速視頻數(shù)模轉(zhuǎn)換芯片,其像素掃描時鐘頻率有 30、50、80 MHz 3個等級。ADV7120在單芯片上集成了3個獨立的8位高速D/A轉(zhuǎn)換器,可以分別處理紅、綠、藍(lán)視頻數(shù)據(jù),特別適用于高分辨率模擬接口的顯示終端和要求高速D/A轉(zhuǎn)換的應(yīng)用系統(tǒng)[4]。
ADV7120的輸入及控制信號非常簡單:3組8位的數(shù)字視頻數(shù)據(jù)輸入端,分別對應(yīng)RGB視頻數(shù)據(jù),數(shù)據(jù)輸入端采用標(biāo)準(zhǔn)TTL電平接口;4條視頻控制信號線包括復(fù)合同步信號SYNC、消隱信號BLANK、白電平參考信號REF WHITE和像素時鐘信號CLOCK;外接一個1.23 V數(shù)模轉(zhuǎn)換參考電壓源和1個輸出滿度調(diào)節(jié)。只有4條輸出信號線:模擬RGB信號采用高阻電流源輸出方式,可以直接驅(qū)動75 Ω同軸傳輸線;同步參考電流輸出信號Isync用來在綠視頻模擬信號中編碼視頻同步信息[5]。
如前所述,VGA接口的時序和LCD掃描式接口的時序是一致的。利用ADV7120組成的TFT液晶時序到VGA接口的轉(zhuǎn)換模塊結(jié)構(gòu)框圖如圖3所示。
圖3 VGA接口電路組成框圖Fig.3 Composing block diagram of VGA interface circuit
根據(jù)ADV7120的數(shù)據(jù)手冊,ADV7120對參考電平的要求度很高,不能以電阻分壓電路代替。本設(shè)計中采用了1.235 V電壓基準(zhǔn)芯片AD589來產(chǎn)生參考電壓。
最初VGA的顯示包含幾種模式,最初VGA的分辨率被定義為640×480,接著更高分辨率的SVGA、XVGA等標(biāo)準(zhǔn)在此基礎(chǔ)上被提出,接口上都兼容VGA標(biāo)準(zhǔn),所以,習(xí)慣上把所有這種接口都稱為VGA接口。不同的顯示模式對應(yīng)的VGA時序中的時間參數(shù)不同,選定一種顯示模式后,就要配置LCD控制器,使其產(chǎn)生的時序參數(shù)符合VGA模式的要求,這樣才能成功驅(qū)動VGA接口,否則VGA顯示端會閃爍、模糊甚至不顯示。
在這里選擇分辨率為640×480、刷新頻率為60 Hz、16位彩色的VGA顯示模式,并在此模式下完成對LCD控制器相關(guān)寄存器的配置,使LCD控制器輸出的時序邏輯能符合該模式下VGA顯示的要求。在該模式下VGA接口同步信號時序如圖4所示[6]。
圖4 VGA接口同步信號時序Fig.4 Syncronized signal sequence of VGA interface
下面根據(jù)圖4的VGA接口同步信號時序?qū)χ饕腖CD控制器中的控制寄存器進(jìn)行配置:
1)LCDCON1 寄存器
CLKVAL:確定VCLK頻率的參數(shù)。公式為VCLK=HCLK/[(CLKVAL+1)×2]。 在本設(shè)計中 S3C2440 的 HCLK=100 MHz,顯示屏需要VCLK=20 MHz,故需設(shè)置CLKVAL=1。
BPPMODE:確定BPP(每像素位數(shù))。選擇BPPMODE=0xC,即選擇TFT 16位模式。
2)LCDCON2 寄存器
VBPD:確定幀同步信號和幀數(shù)據(jù)傳輸前的時延,是幀數(shù)據(jù)傳輸前延遲時間和行同步時鐘間隔寬度的比值,參照圖 4 中的時間數(shù)據(jù)可知,VBPD=t3/t6=1.02 ms/31.77 μs=32。
LINEVAL:確定顯示的垂直方向大小。公式:LINEVAL=YSIZE-1=479。
VFPD:確定幀數(shù)據(jù)傳輸完成后到下一幀同步信號到來的一段延時,是幀數(shù)據(jù)傳輸后延遲時間和行同步時鐘間隔寬度的比值,參照圖4中的時間數(shù)據(jù)可知,VFPD=t5/t6=0.35 ms/31.77 μs=11。
VSPW:確定幀同步時鐘脈沖寬度,是幀同步信號時鐘寬度和行同步時鐘間隔寬度的比值。如圖4,VSPW=t2/t6=0.06 ms/31.77 μs=2。
3)LCDCON3 寄存器
HBPD:確定行同步信號和行數(shù)據(jù)傳輸前的一段延時,描述行數(shù)據(jù)傳輸前延遲時間內(nèi)VCLK脈沖個數(shù),如圖4,VBPD=t7×VCLK=1.89 μs×25 MHz=47。
HOZAL:確定顯示的水平方向尺寸。這里HOZAL=XSIZE-1=639。
HFPD:確定行數(shù)據(jù)傳輸完成后到下一行同步信號到來的一段延遲時間,描述行數(shù)據(jù)傳輸后延遲時間內(nèi)VCLK脈沖個數(shù),如圖 4,HFPD=t9×VCLK=0.94 μs×25 MHz=24。
4)LCDCON4 寄存器
HSPW:確定行同步時鐘脈沖寬度。描述行同步脈沖寬度時間內(nèi) VCLK 脈沖個數(shù),如圖 4,HSPW=3.77 μs×25 MHz=94。
5)LCDCON5 寄存器
BPP24BL:確定數(shù)據(jù)存儲格式。此處設(shè)置BPP24BL=0x0,即選擇小端模式存放。
FRM565:確定16位數(shù)據(jù)輸出格式。設(shè)置FRM565=0x1,即選擇 5∶6∶5 的輸出格式。
通過如上的方式設(shè)計VGA接口電路并相應(yīng)的設(shè)置LCD控制器寄存器,實現(xiàn)了LCD數(shù)字輸出與D/A轉(zhuǎn)換的無縫連接,不需要任何額外的驅(qū)動程序[5]就可以將原來在LCD上輸出的圖像信息輸出到VGA顯示屏上。
本設(shè)計通過分析VGA接口時序與S3C2440 TFT LCD接口時序的相同點,論證了用S3C2440自帶的LCD controler來驅(qū)動VGA顯示器的可行性,時序的匹配是本設(shè)計成功最關(guān)鍵的地方,在滿足接口時序要求的前提下,用高速三路8位視頻D/A芯片將LCD接口的數(shù)字RGB信號轉(zhuǎn)換成VGA接口所需要的模擬信號。實驗證明,圖像信息通過VGA轉(zhuǎn)換電路,在顯示屏上顯示良好,無明顯抖動,滿足普通的顯示要求。由于主機(jī)采用ARM嵌入式微處理器,與傳統(tǒng)X86主機(jī)相比,大大降低了整機(jī)系統(tǒng)的成本。這種廉價、簡單的顯示方案可以廣泛應(yīng)用到各種對顯示效果要求不高但要求大尺寸屏幕的場合。
[1]王亮,李正.VGA漢字顯示的FPGA設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2009,30(2):275-277.WANG Liang,LI Zheng.FPGA design and implementation of VGA character displaying [J].Computer Engineering and Design,2009,30(2):275-277.
[2]劉淼.嵌入式系統(tǒng)接口設(shè)計與Linux驅(qū)動程序開發(fā)[M].北京:北京航空航天大學(xué)出版社,2006:210-213.
[3]韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008:197-199.
[4]喬義川,馮麗輝.一種基于S3C2410的LCD轉(zhuǎn)VGA簡易技術(shù)方法研究[J].云南師范大學(xué)學(xué)報,2009,29(4):42-45.QIAO Yi-chuan,FENG Li-hui.A simple technique reaserch of LCD to VGA interface based on S3C2410[J].Journal of Yunnan Normal University,2009,29(4):42-45.
[5]耿衛(wèi)東,代永平,孫鐘林.ADV7120在LcoS顯示系統(tǒng)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2003,17(2):53-55.GENG Wei-dong,DAI Yong-ping,SUN Zhong-lin.Application of ADV7120 in LcoS video system[J].Modern Electronics Technique,2003,17(2):53-55.
[6]范金龍,王景中.基于CH7004的嵌入式系統(tǒng)VGA接口設(shè)計[J].電子設(shè)計工程,2009,17(9):6-8.FAN Jin-long,WANG Jing-zhong.Design of VGA interface in embeded system based on CH7004 [J].Electronic Design Engineering,2009,17(9):6-8.