硬件平台为:S3C6410
软件平台为:WINCE6.0
液晶屏为LVDS接口,1024*600高分辨屏。
6410与液晶之间有一个转换芯片,是TTL TO LVDS的,
在wince下针对这样的一个驱动应该怎么编写呢!
谢谢!
这个驱动应该针对液晶参数来配置6410寄存器还是以转换芯片参数来配置6410寄存器呢!
谢谢!
ttl to lvds 并行转差分芯片不需要驱动的,对于lcd是透明的
引用: 引用 1 楼 wolong98 的回复:
ttl to lvds 并行转差分芯片不需要驱动的,对于lcd是透明的
说的对!
引用: 引用 1 楼 wolong98 的回复:
ttl to lvds 并行转差分芯片不需要驱动的,对于lcd是透明的
这种IC我没研究过,以前做过一款TCON的芯片,是需要做好驱动的。当时是针对TCON芯片来做驱动就好。
建议楼主看看TTL TO LVDS芯片是否有输入时序要求,如果有的话就可以直接驱动这款芯片就好。
好几个平台都在用呢,不需要增加驱动,根据液晶参数配置lcd控制器
需要更改6410显示驱动,外围加一个ttl to lvds 转换芯片就好,转换芯片本身纯硬件,无需驱动,我们就是这样做的。没问题
这个参数真是不好调啊,资料上都是16位的,我的是24位的
可能需要改动的比较多。谢谢大家提供的帮助。
就按三星提供24bit其他分辨率调几个参数就好。
case LDI_LTP102_RGB:
LDI_INF((_T("[LDI:INF] Output Devce Type [%d] = LDI_LTP102_RGB\n\r"), g_ModuleType));
pDeviceInfo->RGBOutMode = DISP_24BIT_RGB888_P;
pDeviceInfo->uiWidth = 1024;
pDeviceInfo->uiHeight = 600;
pDeviceInfo->VBPD_Value = 7;
pDeviceInfo->VFPD_Value = 5;
pDeviceInfo->VSPW_Value = 1;
pDeviceInfo->HBPD_Value = 13;
pDeviceInfo->HFPD_Value = 8;
pDeviceInfo->HSPW_Value = 3;
pDeviceInfo->VCLK_Polarity = IVCLK_FALL_EDGE;
pDeviceInfo->HSYNC_Polarity = IHSYNC_LOW_ACTIVE;
pDeviceInfo->VSYNC_Polarity = IVSYNC_LOW_ACTIVE;
pDeviceInfo->VDEN_Polarity = IVDEN_HIGH_ACTIVE;
pDeviceInfo->PNR_Mode = PNRMODE_RGB_P;
pDeviceInfo->VCLK_Source = CLKSEL_F_LCDCLK;
pDeviceInfo->VCLK_Direction = CLKDIR_DIVIDED;
pDeviceInfo->Frame_Rate = 60;
break;
昨天我将LCD_BPP定义为32位,
就是24位色,结果,启动之后,显示正常,但是移动鼠标的时候屏幕就开始抖动了,这个是什么原因呢
LVDS对时序要求很高的,当VCLK频率开始抖动的时候,屏幕就开始抖动。你可以试着降低VCLK试试。6410我不太清楚,但2440USB的时钟和vclk都是从HCLK分频而来的,晃动鼠标会导致VCLK不稳,所以屏幕抖动。所以操作触摸屏就不会抖动。我也在用1024x600的屏,发现VCLK低的话屏幕会很闪,不知楼主有这个问题没有。
你可以试着用示波器看一下VCLK,在稳定的情况下看最高能设成多少?pDeviceInfo->Frame_Rate = 60,的话,我看VCLK至少也有50多了。不知道6410能否支持到这么高!
VCLK我还没有调整过,另外我设置一下几个参数
pDeviceInfo->VBPD_Value = 7;
pDeviceInfo->VFPD_Value = 5;
pDeviceInfo->VSPW_Value = 1;
pDeviceInfo->HBPD_Value = 13;
pDeviceInfo->HFPD_Value = 8;
pDeviceInfo->HSPW_Value = 3,
视乎都屏幕都没有多大变化。
VCLK我还没有调整过,另外我设置一下几个参数
pDeviceInfo->VBPD_Value = 7;
pDeviceInfo->VFPD_Value = 5;
pDeviceInfo->VSPW_Value = 1;
pDeviceInfo->HBPD_Value = 13;
pDeviceInfo->HFPD_Value = 8;
pDeviceInfo->HSPW_Value = 3,
视乎都屏幕都没有多大变化。
LVDS对这些没有什么关系的,设置一点用处都没有