新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式系统的VGA接口设计

嵌入式系统的VGA接口设计

作者:时间:2009-02-26来源:网络收藏
 CH7004C片内有25个寄存器。其中比较关键的是Display Mode,Input Data Format,Sync Polarity三个寄存器。Display Mode显示模式寄存器,片内地址0X00,输入分辨率为640×480,由芯片手册,可选模式从Mode13到Mode17均可。实验中选择的是默认的Mode17,对应参数为0X6A。Input Data Format输入数据格式寄存器,片内地址是0X04,因为输入的数据格式为RGB565,且需打开pass-through模式,故对应参数为0X20。Sync Polarity同步信号极性寄存器,片内地址0X0D,根据输入的Hsync和Vsync的极性来设定,如果是均为负脉冲,则把VSP位和HSP位都置0;如果均为正脉冲,则把VSP位和HSP位都设置为1。实验中,把S3C2410A的控制器的同步信号极性均设为低电平有效,故参数为0X00。

本文引用地址:http://www.eepw.com.cn/article/152628.htm

S3C2410A的控制器设置

  作为输出源,S3C2410A的控制器也需要进行相应设置。需要的输出分辨率是640×480,16位色(RGB565格式),刷新率60Hz。一共有LCDCON1到LCDCON5共5个寄存器需要设置,具体参数要参考时序规范和LCD时序图(图1)。所需设置的寄存器如表2。

  表2 S3C2410A的LCD控制器中需要设置的寄存器

S3C2410A的LCD控制器设置

  作为输出源,S3C2410A的LCD控制器也需要进行相应设置。需要的输出分辨率是640×480,16位色(RGB565格式),刷新率60Hz。一共有LCDCON1到LCDCON5共5个寄存器需要设置,具体参数要参考时序规范和LCD时序图(图1)。所需设置的寄存器如表2。

  表2 S3C2410A的LCD控制器中需要设置的寄存器

  实验及数据

  实验中,选择的操作Linux,内核版本2.4.18,图形是Qtopia 1.7.0。bootloader选用的韩国MIZI公司的vivi。上电后,vivi将进行初始化,其中包括设置CH7004,然后再引导进入Linux。对CH7004的操作,完全可以看作对一个IIC的EEPROM来进行,可专门定义一个函数IIC_Write()来写数据。例如对IDF寄存器的设置为I2C_Write(0xec,0x04,0x20)。设置好后,CH7004的所有寄存器数据如表3。

  实验中还发现,设定SPR同步信号极性寄存器时,如果都设同步信号为正脉冲有效,接显示器也能正常显示,但是有闪烁。负脉冲有效则无这种情况,故推荐均设置为负脉冲有效。

  表3 正常工作时,CH7004C的各个寄存器读出的数据

结语

  本文提供的LCD转换为的解决方案,经过实际验证,切实可行。在Linux和Windows CE 4.2两种操作下均进行了测试,Linux下VGA显示器的画面非常稳定;在Windows CE 4.2下基本稳定,略有闪烁。该方案最大特点在于让系统直接支持VGA显示器,具备较大的实际应用意义。

图3 Linux下外接VGA显示器

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭