基于ARM處理器S3C2440的VGA顯示系統(tǒng)設(shè)計(jì)
目前很多SOC廠商的微處理器芯片都集成了LCD控制器,如三星公司的S3C2410.S3C2440,Intel的Xscale系列等。大多數(shù)嵌入式系統(tǒng)也采用流行的LCD顯示技術(shù)。但是在需要大屏幕顯示、對(duì)分辨率要求不高的場(chǎng)合,如車間、廠房,采用大屏幕LCD則成本過(guò)高。另一方面,VGA顯示技術(shù)因?yàn)榧夹g(shù)發(fā)展成熟,成本低廉,仍在被大量使用,直到今天它仍是所有顯示終端最為成熟的標(biāo)準(zhǔn)接口。如果讓嵌入式處理器直接支持VGA顯示器,則能很大地利用現(xiàn)有資源,節(jié)約系統(tǒng)成本。
本文引用地址:http://m.butianyuan.cn/article/201710/366966.htm1 基于S3C2440的VGA顯示技術(shù)分析
通過(guò)分析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所示。
表1 VGA適配器引腳定義
VGA接口使用模擬RGB通道,逐點(diǎn)、逐行掃描。其時(shí)序如圖1所示。VGA接口信號(hào)為模擬信號(hào),其關(guān)鍵信號(hào)有5個(gè),分別是Horizontal Sync水平同步信號(hào)(也叫行同步信號(hào)),垂直同步信號(hào)Vertical Sync(也叫場(chǎng)同步信號(hào)),紅色模擬信號(hào),綠色模擬信號(hào)和籃色模擬信號(hào)。電子槍從左至右,從上而下的進(jìn)行掃描,每行結(jié)束時(shí),用行同步信號(hào)進(jìn)行同步。掃描完所有的行后用場(chǎng)同步信號(hào)進(jìn)行場(chǎng)同步。因電子槍偏轉(zhuǎn)需要時(shí)間,所以掃完回轉(zhuǎn)中,要對(duì)電子槍進(jìn)行消隱控制,在每行結(jié)束后的回轉(zhuǎn)過(guò)程中進(jìn)行行消隱,在每場(chǎng)結(jié)束后的回轉(zhuǎn)過(guò)程中進(jìn)行場(chǎng)消隱。消隱過(guò)程中不發(fā)送電子束。
圖1 VGA的掃描時(shí)序
1. 2 TFT LCD顯示屏掃描時(shí)序分析
基于ARM920T內(nèi)核的S3C2440芯片外圍集成了LCD控制器,LCD控制器被用來(lái)向LCD傳輸圖像數(shù)據(jù),并提供必要的控制信號(hào),比如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液晶顯示屏的掃描對(duì)序如圖2所示。
圖2 典型TFT LCD掃描時(shí)序
其中主要包括:
1)幀(垂直)同步(VSYNC):用高電平(或低電平)表示掃描一幀的起始。
2)行(水平)同步(HSYNC):用高電平(或低電平)表示掃描一行的起始。
3)時(shí)鐘(VCLK):通過(guò)上升沿(或下降沿)把數(shù)據(jù)寫(xiě)入液晶屏。
4)數(shù)據(jù)有效控制(VDEN):表示是否開(kāi)啟TFT輸出。
5)數(shù)據(jù)信號(hào)(VD):表示每個(gè)點(diǎn)的顏色,通常有16位、18位、24位等模式。
通過(guò)對(duì)比VGA接口的時(shí)序和TFT LCD液晶顯示屏的掃描時(shí)序,可以看出它們很相似。這就為用LCD控制器驅(qū)動(dòng)VGA顯示屏提供了內(nèi)在的可能性。而且一旦實(shí)現(xiàn)了這種轉(zhuǎn)接方案,由于是由硬件實(shí)現(xiàn)的兩種接口的電氣轉(zhuǎn)換,不需要寫(xiě)任何驅(qū)動(dòng)程序,是在嵌入式系統(tǒng)平臺(tái)上擴(kuò)展VGA接口的最方便的方案。比較兩種接口的特性,要實(shí)現(xiàn)從TFT時(shí)序到VGA時(shí)序的轉(zhuǎn)換,需要解決的向題有:
1)TFT液晶掃描同步信號(hào)和VGA同步信號(hào)的電平問(wèn)題。
2)TFT液晶控制器的輸出是RGB數(shù)字接口,而VGA的紅綠藍(lán)通道時(shí)模擬量,兩者需要通過(guò)D/A轉(zhuǎn)換。使用D/A要考慮轉(zhuǎn)換精度、轉(zhuǎn)換速度、轉(zhuǎn)換通道數(shù)等問(wèn)題。其中,為滿足真彩色(24位)的要求,8位的轉(zhuǎn)換精度就可以?;赩GA對(duì)幀頻的要求,每個(gè)點(diǎn)的轉(zhuǎn)換頻率必須大于27 MHz,同時(shí),必須至少有3個(gè)通道同時(shí)轉(zhuǎn)換,以滿足紅綠藍(lán)(RGB)3個(gè)通道的輸出。
針對(duì)這種轉(zhuǎn)換的D/A通常稱為視頻D/A,本設(shè)計(jì)采用ATI公司的視頻D/A芯片ADV7120($6.8040)。
1.3 ADV7120($6.8040)簡(jiǎn)介
ADV7120($6.8040)是美國(guó)ADI公司生產(chǎn)的高速視頻數(shù)模轉(zhuǎn)換芯片,其像素掃描時(shí)鐘頻率有30、50、80 MHz 3個(gè)等級(jí)。ADV7120($6.8040)在單芯片上集成了3個(gè)獨(dú)立的8位高速D/A轉(zhuǎn)換器,可以分別處理紅、綠、藍(lán)視頻數(shù)據(jù),特別適用于高分辨率模擬接口的顯示終端和要求高速D/A轉(zhuǎn)換的應(yīng)用系統(tǒng)。
ADV7120($6.8040)的輸入及控制信號(hào)非常簡(jiǎn)單:3組8位的數(shù)字視頻數(shù)據(jù)輸入端,分別對(duì)應(yīng)RGB視頻數(shù)據(jù),數(shù)據(jù)輸入端采用標(biāo)準(zhǔn)TTL電平接口;4條視頻控制信號(hào)線包括復(fù)合同步信號(hào)SYNC、消隱信號(hào)BLANK($3.4400)、白電平參考信號(hào)REFWHITE和像索時(shí)鐘信號(hào)CLOCK;外接一個(gè)1.23 V數(shù)模轉(zhuǎn)換參考電壓源和1個(gè)輸出滿度調(diào)節(jié)。只有4條輸出信號(hào)線:模擬RGB信號(hào)采用高阻電流源輸出方式,可以直接驅(qū)動(dòng)75 Ω同軸傳輸線;同步參考電流輸出信號(hào)Isync用來(lái)在綠視頻模擬信號(hào)中編碼視頻同步信息。
2 VGA接口電路設(shè)計(jì)
如前所述,VGA接口的時(shí)序和LCD掃描式接口的時(shí)序是一致的,利用ADV7120($6.8040)組成的TFT液晶時(shí)序到VGA接口的轉(zhuǎn)換模塊結(jié)構(gòu)框圖如圖3所示。
圖3 VGA接口電路組成框圖
根據(jù)ADV7120($6.8040)的數(shù)據(jù)手冊(cè),ADV7120($6.8040)對(duì)參考電平的要求度很高,不能以電阻分壓電路代替。本設(shè)計(jì)中采用了1.235 V電壓基準(zhǔn)芯片AD589($2.0760)來(lái)產(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接口。不同的顯示模式對(duì)應(yīng)的VGA時(shí)序中的時(shí)間參數(shù)不同,選定一種顯示模式后,就要配置LCD控制器,使其產(chǎn)生的時(shí)序參數(shù)符合VGA模式的要求,這樣才能成功驅(qū)動(dòng)VGA接口,否則VGA顯示端會(huì)閃爍、模糊甚至不顯示。
在這里選擇分辨率為640x480、刷新頻率為60 Hz、16位彩色的VGA顯示模式,并在此模式下完成對(duì)LCD控制器相關(guān)寄存器的配置。使LCD控制器輸出的時(shí)序邏輯能符合該模式下VGA顯示的要求。在該模式下VGA接口同步信號(hào)時(shí)序如圖4所示。
圖4 VGA接口同步信號(hào)時(shí)序
下面根據(jù)圖4的VGA接口同步信號(hào)時(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:確定幀同步信號(hào)和幀數(shù)據(jù)傳輸前的時(shí)延,是幀數(shù)據(jù)傳輸前延遲時(shí)間和行同步時(shí)鐘間隔寬度的比值,參照?qǐng)D4中的時(shí)間數(shù)據(jù)可知,VBPD=t3/t6=1.02 ms/31.77 μs=32.
LINEVAL:確定顯示的垂直方向大小。公式:LINEVAL=YSIZE-1=479.
VFPD:確定幀數(shù)據(jù)傳輸完成后到下一幀同步信號(hào)到來(lái)的一段延時(shí),是幀數(shù)據(jù)傳輸后延遲時(shí)間和行同步時(shí)鐘間隔寬度的比值,參照?qǐng)D4中的時(shí)間數(shù)據(jù)可知,VFPD=t5/t6=0.35 ms/31.77μs=11。
VSPW:確定幀同步時(shí)鐘脈沖寬度,是幀同步信號(hào)時(shí)鐘寬度和行同步時(shí)鐘間隔寬度的比值。如圖4,VSPW=t2/t6=0.06 ms/31.77 μs=2。
3)LCDCON3寄存器
HBPD:確定行同步信號(hào)和行數(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ù)傳輸完成后到下一行同步信號(hào)到來(lái)的一段延遲時(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ù)存儲(chǔ)格式。此處設(shè)置BPP24BL=0x0,即選擇小端模式存放。
FRM565:確定16位數(shù)據(jù)輸出格式。設(shè)置FRM565=0x1,即選擇5:6:5的輸出格式。
通過(guò)如上的方式設(shè)計(jì)VGA接口電路并相應(yīng)的設(shè)置LCD控制器寄存器,實(shí)現(xiàn)了LCD數(shù)字輸出與D/A轉(zhuǎn)換的無(wú)縫連接,不需要任何額外的驅(qū)動(dòng)程序就可以將原來(lái)在LCD上輸出的圖像信息輸出到VGA顯示屏上。
4 測(cè)試與結(jié)論
本設(shè)計(jì)通過(guò)分析VGA接口時(shí)序與S3C2440TFT LCD接口時(shí)序的相同點(diǎn),論證了用S3C2440自帶的LCD controler來(lái)驅(qū)動(dòng)VGA顯示器的可行性,時(shí)序的匹配是本設(shè)計(jì)成功最關(guān)鍵的地方,在滿足接口時(shí)序要求的前提下,用高速三路8位視頻D/A芯片將LCD接口的數(shù)字RGB信號(hào)轉(zhuǎn)換成VGA接口所需要的模擬信號(hào)。實(shí)驗(yàn)證明,圖像信息通過(guò)VGA轉(zhuǎn)換電路,在顯示屏上顯示良好,無(wú)明顯抖動(dòng),滿足普通的顯示要求。由于主機(jī)采用ARM嵌入式微處理器,與傳統(tǒng)X86主機(jī)相比,大大降低了整機(jī)系統(tǒng)的成本。這種廉價(jià)、簡(jiǎn)單的顯示方案可以廣泛應(yīng)用到各種對(duì)顯示效果要求不高但要求大尺寸屏幕的場(chǎng)合。
評(píng)論