嵌入式系統(tǒng)的VGA接口設(shè)計(jì)
S3C2410A的LCD控制器設(shè)置
作為輸出源,S3C2410A的LCD控制器也需要進(jìn)行相應(yīng)設(shè)置。需要的輸出分辨率是640×480,16位色(RGB565格式),刷新率60Hz。一共有LCDCON1到LCDCON5共5個(gè)寄存器需要設(shè)置,具體參數(shù)要參考VGA時(shí)序規(guī)范和LCD時(shí)序圖(圖1)。所需設(shè)置的寄存器如表2。
表2 S3C2410A的LCD控制器中需要設(shè)置的寄存器
S3C2410A的LCD控制器設(shè)置
作為輸出源,S3C2410A的LCD控制器也需要進(jìn)行相應(yīng)設(shè)置。需要的輸出分辨率是640×480,16位色(RGB565格式),刷新率60Hz。一共有LCDCON1到LCDCON5共5個(gè)寄存器需要設(shè)置,具體參數(shù)要參考VGA時(shí)序規(guī)范和LCD時(shí)序圖(圖1)。所需設(shè)置的寄存器如表2。
表2 S3C2410A的LCD控制器中需要設(shè)置的寄存器
實(shí)驗(yàn)及數(shù)據(jù)
實(shí)驗(yàn)中,選擇的操作系統(tǒng)嵌入式Linux,內(nèi)核版本2.4.18,圖形系統(tǒng)是Qtopia 1.7.0。bootloader選用的韓國(guó)MIZI公司的vivi。上電后,vivi將進(jìn)行初始化,其中包括設(shè)置CH7004,然后再引導(dǎo)進(jìn)入Linux。對(duì)CH7004的操作,完全可以看作對(duì)一個(gè)IIC接口的EEPROM來(lái)進(jìn)行,可專門定義一個(gè)函數(shù)IIC_Write()來(lái)寫(xiě)數(shù)據(jù)。例如對(duì)IDF寄存器的設(shè)置為I2C_Write(0xec,0x04,0x20)。設(shè)置好后,CH7004的所有寄存器數(shù)據(jù)如表3。
實(shí)驗(yàn)中還發(fā)現(xiàn),設(shè)定SPR同步信號(hào)極性寄存器時(shí),如果都設(shè)同步信號(hào)為正脈沖有效,接顯示器也能正常顯示,但是有閃爍。負(fù)脈沖有效則無(wú)這種情況,故推薦均設(shè)置為負(fù)脈沖有效。
表3 正常工作時(shí),CH7004C的各個(gè)寄存器讀出的數(shù)據(jù)
結(jié)語(yǔ)
本文提供的LCD接口轉(zhuǎn)換為VGA接口的解決方案,經(jīng)過(guò)實(shí)際驗(yàn)證,切實(shí)可行。在Linux和Windows CE 4.2兩種嵌入式操作系統(tǒng)下均進(jìn)行了測(cè)試,Linux下VGA顯示器的畫(huà)面非常穩(wěn)定;在Windows CE 4.2下基本穩(wěn)定,略有閃爍。該方案最大特點(diǎn)在于讓嵌入式系統(tǒng)直接支持VGA顯示器,具備較大的實(shí)際應(yīng)用意義。
圖3 Linux下外接VGA顯示器
評(píng)論