基于ARM處理器S3C2440的VGA顯示技術(shù)
摘要:基于VGA接口時(shí)序以,高性能視頻D/A芯片ADV7120為核心。實(shí)現(xiàn)了基于嵌入式CPU S3C2440的VGA顯示子系統(tǒng)。系統(tǒng)一方面利用S3C24 40自帶的LCD控制器產(chǎn)生符合VGA顯示要求的時(shí)序邏輯,另一方面通過LCD數(shù)據(jù)線將數(shù)字RGB信號傳遞給具有8路通道的視頻D/A芯片ADV7120,產(chǎn)生VGA顯示需要的模擬色彩信號。通過TFTLCD掃描顯示的時(shí)序與VGA掃描顯示時(shí)序的匹配,驅(qū)動(dòng)VGA顯示屏。該系統(tǒng)能夠達(dá)到正常顯示色彩信息的要求,且價(jià)格低廉,適用于對顯示效果要求不苛刻,但要求大尺寸顯示屏且對價(jià)格敏感的嵌入式應(yīng)用中。
關(guān)鍵詞:VGA;S3C2440;時(shí)序;視頻D/A;LCD控制器;ADV7120
目前很多SOC廠商的微處理器芯片都集成了LCD控制器,如三星公司的S3C2410。S3C2440,Intel的Xscale系列等。大多數(shù)嵌入式系統(tǒng)也采用流行的LCD顯示技術(shù)。但是在需要大屏幕顯示、對分辨率要求不高的場合,如車間、廠房,采用大屏幕LCD則成本過高。另一方面,VGA顯示技術(shù)因?yàn)榧夹g(shù)發(fā)展成熟,成本低廉,仍在被大量使用,直到今天它仍是所有顯示終端最為成熟的標(biāo)準(zhǔn)接口。如果讓嵌入式處理器直接支持VGA顯示器,則能很大地利用現(xiàn)有資源,節(jié)約系統(tǒng)成本。
1 基于S3C2440的VGA顯示技術(shù)分析
通過分析VGA顯示技術(shù)的時(shí)序邏輯與S3C2440內(nèi)部集成LCD控制器驅(qū)動(dòng)TFT LCD的時(shí)序邏輯,找出它們的共同點(diǎn),分析在S3C2440上應(yīng)用VGA顯示接口的可行性。
1.1 VGA顯示原理
VGA(Video Graphics Arrnay)是IBM公司提出的目前仍然廣泛應(yīng)用于PC的顯示接口。該接口具有分辨率高、顯示速率快、顏色豐富等優(yōu)點(diǎn),在彩色顯示器領(lǐng)域得到了廣泛的應(yīng)用。VGA接口在物理上表現(xiàn)為DB15的插座,其中VGA適配器端使用的是陰性DB15標(biāo)準(zhǔn)的接口。其引腳定義如表1所示。
VGA接口使用模擬RGB通道,逐點(diǎn)、逐行掃描。其時(shí)序如圖1所示。VGA接口信號為模擬信號,其關(guān)鍵信號有5個(gè),分別是Horizontal Sync水平同步信號(也叫行同步信號),垂直同步信號Vertical Sync(也叫場同步信號),紅色模擬信號,綠色模擬信號和籃色模擬信號。電子槍從左至右,從上而下的進(jìn)行掃描,每行結(jié)束時(shí),用行同步信號進(jìn)行同步。掃描完所有的行后用場同步信號進(jìn)行場同步。因電子槍偏轉(zhuǎn)需要時(shí)間,所以掃完回轉(zhuǎn)中,要對電子槍進(jìn)行消隱控制,在每行結(jié)束后的回轉(zhuǎn)過程中進(jìn)行行消隱,在每場結(jié)束后的回轉(zhuǎn)過程中進(jìn)行場消隱。消隱過程中不發(fā)送電子束。
1. 2 TFT LCD顯示屏掃描時(shí)序分析
基于ARM920T內(nèi)核的S3C2440芯片外圍集成了LCD控制器,LCD控制器被用來向LCD傳輸圖像數(shù)據(jù),并提供必要的控制信號,比如VFRAME、VLINE、VCLK、VM等。除此之外,LCD控制器還包括一組控制寄存器:LCDCON1寄存器、LCDCON2寄存器、LCDCON3寄存器、LCDCON4寄存器、LCD CON5寄存器。這些寄存器的設(shè)置與顯示屏信息、控制時(shí)序和數(shù)據(jù)傳輸格式等密切相關(guān),在設(shè)計(jì)中需要根據(jù)顯示設(shè)備的具體信息正確設(shè)置這些寄存器才能使S3C2440正??刂乞?qū)動(dòng)不同的顯示屏。
典垂的TFT液晶顯示屏的掃描對序如圖2所示。
其中主要包括:
1)幀(垂直)同步(VSYNC):用高電平(或低電平)表示掃描一幀的起始。
2)行(水平)同步(HSYNC):用高電平(或低電平)表示掃描一行的起始。
3)時(shí)鐘(VCLK):通過上升沿(或下降沿)把數(shù)據(jù)寫入液晶屏。
4)數(shù)據(jù)有效控制(VDEN):表示是否開啟TFT輸出。
5)數(shù)據(jù)信號(VD):表示每個(gè)點(diǎn)的顏色,通常有16位、18位、24位等模式。
通過對比VGA接口的時(shí)序和TFT LCD液晶顯示屏的掃描時(shí)序,可以看出它們很相似。這就為用LCD控制器驅(qū)動(dòng)VGA顯示屏提供了內(nèi)在的可能性。而且一旦實(shí)現(xiàn)了這種轉(zhuǎn)接方案,由于是由硬件實(shí)現(xiàn)的兩種接口的電氣轉(zhuǎn)換,不需要寫任何驅(qū)動(dòng)程序,是在嵌入式系統(tǒng)平臺上擴(kuò)展VGA接口
的最方便的方案。比較兩種接口的特性,要實(shí)現(xiàn)從TFT時(shí)序到VGA時(shí)序的轉(zhuǎn)換,需要解決的向題有:
1)TFT液晶掃描同步信號和VGA同步信號的電平問題。
2)TFT液晶控制器的輸出是RGB數(shù)字接口,而VGA的紅綠藍(lán)通道時(shí)模擬量,兩者需要通過D/A轉(zhuǎn)換。使用D/A要考慮轉(zhuǎn)換精度、轉(zhuǎn)換速度、轉(zhuǎn)換通道數(shù)等問題。其中,為滿足真彩色(24位)的要求,8位的轉(zhuǎn)換精度就可以?;赩GA對幀頻的要求,每個(gè)點(diǎn)的轉(zhuǎn)換頻率必須大于27 MHz,同時(shí),必須至少有3個(gè)通道同時(shí)轉(zhuǎn)換,以滿足紅綠藍(lán)(RGB)3個(gè)通道的輸出。
針對這種轉(zhuǎn)換的D/A通常稱為視頻D/A,本設(shè)計(jì)采用ATI公司的視頻D/A芯片ADV7120。
1.3 ADV7120簡介
ADV7120是美國ADI公司生產(chǎn)的高速視頻數(shù)模轉(zhuǎn)換芯片,其像素掃描時(shí)鐘頻率有30、50、80 MHz 3個(gè)等級。ADV7120在單芯片上集成了3個(gè)獨(dú)立的8位高速D/A轉(zhuǎn)換器,可以分別處理紅、綠、藍(lán)視頻數(shù)據(jù),特別適用于高分辨率模擬接口的顯示終端和要求高速D/A轉(zhuǎn)換的應(yīng)用系統(tǒng)。
ADV7120的輸入及控制信號非常簡單:3組8位的數(shù)字視頻數(shù)據(jù)輸入端,分別對應(yīng)RGB視頻數(shù)據(jù),數(shù)據(jù)輸入端采用標(biāo)準(zhǔn)TTL電平接口;4條視頻控制信號線包括復(fù)合同步信號SYNC、消隱信號BLANK、白電平參考信號REFWHITE和像索時(shí)鐘信號CLOCK;外接一個(gè)1.23 V數(shù)模轉(zhuǎn)換參考電壓源和1個(gè)輸出滿度調(diào)節(jié)。只有4條輸出信號線:模擬RGB信號采用高阻電流源輸出方式,可以直接驅(qū)動(dòng)75 Ω同軸傳輸線;同步參考電流輸出信號Isync用來在綠視頻模擬信號中編碼視頻同步信息。
2 VGA接口電路設(shè)計(jì)
如前所述,VGA接口的時(shí)序和LCD掃描式接口的時(shí)序是一致的,利用ADV7120組成的TFT液晶時(shí)序到VGA接口的轉(zhuǎn)換模塊結(jié)構(gòu)框圖如圖3所示。
根據(jù)ADV7120的數(shù)據(jù)手冊,ADV7120對參考電平的要求度很高,不能以電阻分壓電路代替。本設(shè)計(jì)中采用了1.235 V電壓基準(zhǔn)芯片AD589來產(chǎn)生參考電壓。
3 VGA顯示模式的選擇及S3C2440 LCD controller中相應(yīng)控制寄存器的設(shè)置
最初VGA的顯示包含幾種模式,最初VGA的分辨率被定義為640x480,接著更高分辨率的SVGA、XVGA等標(biāo)準(zhǔn)在此基礎(chǔ)上被提出,接口上都兼容VGA標(biāo)準(zhǔn),所以,習(xí)慣上把所有這種接口都稱為VGA接口。不同的顯示模式對應(yīng)的VGA時(shí)序中的時(shí)間參數(shù)不同,選定一種顯示模式后,就要配置LCD控制器,使其產(chǎn)生的時(shí)序參數(shù)符合VGA模式的要求,這樣才能成功驅(qū)動(dòng)VGA接口,否則VGA顯示端會閃爍、模糊甚至不顯示。
在這里選擇分辨率為640x480、刷新頻率為60 Hz、16位彩色的VGA顯示模式,并在此模式下完成對LCD控制器相關(guān)寄存器的配置。使LCD控制器輸出的時(shí)序邏輯能符合該模式下VGA顯示的要求。在該模式下VGA接口同步信號時(shí)序如圖4所示。
下面根據(jù)圖4的VGA接口同步信號時(shí)序?qū)χ饕腖CD控制器中的控制寄存器進(jìn)行配置:
1)LCDCON1寄存器
CLKVAL:確定VCLK頻率的參數(shù)。公式為VCLK-HCLK/[(CLKVAL+1)x2]。在本設(shè)計(jì)中S3C2440的HCLK=100 MHz,顯示屏需要VCLK=20MHz,故需設(shè)置CLKVAL=1。
BPPMODE:確定BPP(每像素位散)。選擇BPPMODE=0xC,即選擇TFT 16位模式。
2)LCDCON2寄存器
VBPD:確定幀同步信號和幀數(shù)據(jù)傳輸前的時(shí)延,是幀數(shù)據(jù)傳輸前延遲時(shí)間和行同步時(shí)鐘間隔寬度的比值,參照圖4中的時(shí)間數(shù)據(jù)可知,VBPD=t3/t6=1.02 ms/31.77 μs=32。
LINEVAL:確定顯示的垂直方向大小。公式:LINEVAL=YSIZE-1=479。
VFPD:確定幀數(shù)據(jù)傳輸完成后到下一幀同步信號到來的一段延時(shí),是幀數(shù)據(jù)傳輸后延遲時(shí)間和行同步時(shí)鐘間隔寬度的比值,參照圖4中的時(shí)間數(shù)據(jù)可知,VFPD=t5/t6=0.35 ms/31.77μs=11。
VSPW:確定幀同步時(shí)鐘脈沖寬度,是幀同步信號時(shí)鐘寬度和行同步時(shí)鐘間隔寬度的比值。如圖4,VSPW=t2/t6=0.06 ms/31.77 μs=2。
3)LCDCON3寄存器
HBPD:確定行同步信號和行數(shù)據(jù)傳輸前的一段延時(shí),描述行數(shù)據(jù)傳輸前延遲時(shí)間內(nèi)VCLK脈沖個(gè)數(shù),如圖4,VBPD=t7xVCLK=1.89 μsx25 MHz=47。
HOZAL:確定顯示的水平方向尺寸。這里HOZAL=XSIZE-1=639。
HFPD:確定行數(shù)據(jù)傳輸完成后到下一行同步信號到來的一段延遲時(shí)間,描述行數(shù)據(jù)傳輸后延遲時(shí)間內(nèi)VCLK脈沖個(gè)數(shù),如圖4,HFPD=t9xVC LK=0.94 μsx25 MHz=24。
4)LCDCON4寄存器
HSPW:確定行同步時(shí)鐘脈沖寬度。描述行同步脈沖寬度時(shí)間內(nèi)VCLK脈沖個(gè)數(shù),如圖4,HSPW=3.77 μsx25 MHz=94。
5)LCDCON5寄存器
BPP24BL:確定數(shù)據(jù)存儲格式。此處設(shè)置BPP24BL=0x0,即選擇小端模式存放。
FRM565:確定16位數(shù)據(jù)輸出格式。設(shè)置FRM565=0x1,即選擇5:6:5的輸出格式。
通過如上的方式設(shè)計(jì)VGA接口電路并相應(yīng)的設(shè)置LCD控制器寄存器,實(shí)現(xiàn)了LCD數(shù)字輸出與D/A轉(zhuǎn)換的無縫連接,不需要任何額外的驅(qū)動(dòng)程序就可以將原來在LCD上輸出的圖像信息輸出到VGA顯示屏上。
4 測試與結(jié)論
本設(shè)計(jì)通過分析VGA接口時(shí)序與S3C2440TFT LCD接口時(shí)序的相同點(diǎn),論證了用S3C2440自帶的LCD controler來驅(qū)動(dòng)VGA顯示器的可行性,時(shí)序的匹配是本設(shè)計(jì)成功最關(guān)鍵的地方,在滿足接口時(shí)序要求的前提下,用高速三路8位視頻D/A芯片將LCD接口的數(shù)字RGB信號轉(zhuǎn)換成VGA接口所需要的模擬信號。實(shí)驗(yàn)證明,圖像信息通過VGA轉(zhuǎn)換電路,在顯示屏上顯示良好,無明顯抖動(dòng),滿足普通的顯示要求。由于主機(jī)采用ARM嵌入式微處理器,與傳統(tǒng)X86主機(jī)相比,大大降低了整機(jī)系統(tǒng)的成本。這種廉價(jià)、簡單的顯示方案可以廣泛應(yīng)用到各種對顯示效果要求不高但要求大尺寸屏幕的場合。