嵌入式系統(tǒng)的VGA接口設(shè)計(08-100)
CH7004C的關(guān)鍵寄存器及設(shè)置
本文引用地址:http://www.ex-cimer.com/article/91685.htmCH7004C片內(nèi)有25個寄存器。其中比較關(guān)鍵的是Display Mode,Input Data Format,Sync Polarity三個寄存器。Display Mode顯示模式寄存器,片內(nèi)地址0X00,輸入分辨率為640×480,由芯片手冊,可選模式從Mode13到Mode17均可。實驗中選擇的是默認的Mode17,對應(yīng)參數(shù)為0X6A。Input Data Format輸入數(shù)據(jù)格式寄存器,片內(nèi)地址是0X04,因為輸入的數(shù)據(jù)格式為RGB565,且需打開pass-through模式,故對應(yīng)參數(shù)為0X20。Sync Polarity同步信號極性寄存器,片內(nèi)地址0X0D,根據(jù)輸入的Hsync和Vsync的極性來設(shè)定,如果是均為負脈沖,則把VSP位和HSP位都置0;如果均為正脈沖,則把VSP位和HSP位都設(shè)置為1。實驗中,把S3C2410A的LCD控制器的同步信號極性均設(shè)為低電平有效,故參數(shù)為0X00。
S3C2410A的LCD控制器設(shè)置
作為輸出源,S3C2410A的LCD控制器也需要進行相應(yīng)設(shè)置。需要的輸出分辨率是640×480,16位色(RGB565格式),刷新率60Hz。一共有LCDCON1到LCDCON5共5個寄存器需要設(shè)置,具體參數(shù)要參考VGA時序規(guī)范和LCD時序圖(圖1)。所需設(shè)置的寄存器如表2。
表2 S3C2410A的LCD控制器中需要設(shè)置的寄存器
實驗及數(shù)據(jù)
實驗中,選擇的操作系統(tǒng)嵌入式Linux,內(nèi)核版本2.4.18,圖形系統(tǒng)是Qtopia 1.7.0。bootloader選用的韓國MIZI公司的vivi。上電后,vivi將進行初始化,其中包括設(shè)置CH7004,然后再引導(dǎo)進入Linux。對CH7004的操作,完全可以看作對一個IIC接口的EEPROM來進行,可專門定義一個函數(shù)IIC_Write()來寫數(shù)據(jù)。例如對IDF寄存器的設(shè)置為I2C_Write(0xec,0x04,0x20)。設(shè)置好后,CH7004的所有寄存器數(shù)據(jù)如表3。
實驗中還發(fā)現(xiàn),設(shè)定SPR同步信號極性寄存器時,如果都設(shè)同步信號為正脈沖有效,接顯示器也能正常顯示,但是有閃爍。負脈沖有效則無這種情況,故推薦均設(shè)置為負脈沖有效。
評論