dding832
驱动牛犊
驱动牛犊
  • 注册日期2007-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望158点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
阅读:2919回复:16

第一次发贴问win ce 液晶屏驱动的问题

楼主#
更多 发布于:2008-03-22 18:20
我的平台是2410+win ce 5.0
看完了论坛几乎所有的关于液晶屏的帖子,收获很大,但感觉大家都是用的RGB接口的屏,不知道能不能换成CPU接口(就是那种挂在总线上面,有自己的驱动IC,不用2410 LCD Controler)的屏,如果能用的话是不是硬件得全部改掉,驱动上面需要怎么改呢,呵呵,新手,见笑了



还有一个问题就是如果我用RGB接口的屏,那么

#define VBPD ((2-1)&0xff)
#define VFPD ((2-1)&0xff)
#define VSPW ((2-1) &0x3f)
#define HBPD ((16-1)&0x7f)
#define HFPD ((200-1)&0xff)
#define HSPW ((16-1)&0xff)
#define CLKVAL_TFT (1) //这个值的定义在LCD 初始化函数中并不用到,而是直接用数值表示。

这些参数应该是跟屏有关的吧,在换屏的时候是否必需从新写呢,如果从新写的话,一般都是在屏规格书上的时序图上呢,还是在表上介绍的呢

新手问题多多,希望不吝赐教,先行谢过^_^


wenzai
驱动中牛
驱动中牛
  • 注册日期2002-04-16
  • 最后登录2011-03-04
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望424点
  • 贡献值0点
  • 好评度309点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-03-23 22:34
如果显存是一片连续内存空间,那么对于CE的显示驱动模型是没有问题,如果不是,比如是先写一个命令,然后是把数据往里写的那种,那么,你可能需要一个线程来不断刷新显示,这样就会有一个显示性能问题。
在驱动上开辟一片连续的内存空间给GPE用,在线程里将这片内存的内容写入你的LCD屏。
cn_silicon
驱动牛犊
驱动牛犊
  • 注册日期2006-08-19
  • 最后登录2009-02-24
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望54点
  • 贡献值0点
  • 好评度51点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-03-24 14:57
接口都换了  硬件肯定要改了。不改的情况可能性太小

其他的倒没有什么,就如楼上说得,你要开一块buffer 而且要定时刷新,而且这个buffer开了之后就不要再更改地址,不然系统的数据就填飞了。
dding832
驱动牛犊
驱动牛犊
  • 注册日期2007-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望158点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-03-27 09:36
楼上两位前辈的解答我有点明白了,CE DISLPAY驱动原来的显示方式就是往一块DISPLY DMA缓冲区写数据,然后2410DMA会定时(或者当满足某个条件之后,就会从这块内存中取出显示数据再经过2410的DISPLAY DRVIER的RGB接口发送到你的RGB接口的屏上),我这样理解对吗?如果对的话,当我使用非RGB屏的时候就可以把他挂到总线上,在GPE里面开一块连续的内存区域给GPE对象使用(这块区域是不是就是原来由DISPLAY DMA提供的那块区域呢?),然后再创建一个线程,在线程里面来读取刚刚开的内存数据,然后通过命令(CPU总线读写方式,用于CPU屏的命令)把这些数据通过CPU总线发到我的CPU接口屏上,这样的话这个线程什么时候更新(即读内存,并通过命令显示到LCD上)这块CPU屏就很重要了吧。

昨天经理弄来了一块RGB接口的屏,说让我先别弄CPU接口的了,现在改上这个了,这块屏是2。4寸的,不带触摸,RGB接口方式(非i80系统接口,即非CPU屏接口),用的屏IC是ILI9320,接口很多,除了正常RGB接口屏的RGB线和同步信号线等,还加了读、写控制信号线,和命令、数据选择信号线,和四根数据宽度选择线,这样的接口可能就是为了在一块屏上即可以配置成CPU模式的也可以配置成RGB模式的吧。
厂家说这块屏在作为RGB接口使用时,先得用SPI接口(屏上有这个接口)初使化一下屏,好像其它屏也有这样的要求,大致是设置一些常用的参数,不过我看ILI9320的文档,他的VSPW,VBPD,VFPD等几个参数和同步信号的极性是可以在初使化屏的时候配置的,这一点我就不明白了,在2410的LCD 控制器里这些参数也是可以配置的啊,那我应该在哪一块配置呢,还是说他们两个只要是都配置成一样了就行呢?
lihg_1018
驱动牛犊
驱动牛犊
  • 注册日期2008-03-27
  • 最后登录2008-04-03
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-03-27 16:53
lihg_1018
驱动牛犊
驱动牛犊
  • 注册日期2008-03-27
  • 最后登录2008-04-03
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-03-27 16:54
asdfadsf
dding832
驱动牛犊
驱动牛犊
  • 注册日期2007-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望158点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-03-29 09:49
大哥大姐们救命啊
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
7楼#
发布于:2008-03-29 11:30
VSPW,VBPD,VFPD等信号只要LCD屏和2410的LCD 接口一样就可以了
justmei
驱动牛犊
驱动牛犊
  • 注册日期2005-05-26
  • 最后登录2010-01-13
  • 粉丝0
  • 关注0
  • 积分124分
  • 威望52点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2008-04-03 08:49
VSPW,VBPD,VFPD
 看LCD 的DATA SHEET 上都有设置的....
dding832
驱动牛犊
驱动牛犊
  • 注册日期2007-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望158点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2008-04-07 09:06
多谢,各位的答复了,我已经找到了相关的参数,但还没有试过不知道是不是正确的

现在正在弄屏的初使化,SPI口的,大家都在哪个部分初使化的呢,是在内核里面还是在外面驱动里呢
fuklfukl
驱动牛犊
驱动牛犊
  • 注册日期2007-09-05
  • 最后登录2010-08-26
  • 粉丝2
  • 关注0
  • 积分4分
  • 威望18点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2008-04-07 14:27
在LOADER里面.....
dding832
驱动牛犊
驱动牛犊
  • 注册日期2007-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望158点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2008-04-08 15:00
嗯,在boot里面也应该初使化,因为要在加载系统的时候显示logo嘛

之后在加载完系统的时候我是在内核里面加的初使化, 在cfw.c里面。

现在屏能显示桌面了,应该是初使化成功了,但是屏还有些抖,是不是刷新频率不够呢?再有就是图像看起来就像隔了N行扫描似的,断断继继的,一点也不清楚

如果哪位遇到过这样的问题,还请不吝赐教
fuklfukl
驱动牛犊
驱动牛犊
  • 注册日期2007-09-05
  • 最后登录2010-08-26
  • 粉丝2
  • 关注0
  • 积分4分
  • 威望18点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2008-04-08 19:49
其实没必要在系统里再次对屏进行初始化,当屏点亮时,又一次初始化不知道你看到的是什么现象.
dding832
驱动牛犊
驱动牛犊
  • 注册日期2007-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望158点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2008-04-09 09:15
昨天回完贴就想起来了,初使化一回就可以了,在boot和内核中S3C2410对屏的配置都是一样的,我只要在boot里面初使化一下就可以了,呵呵,大脑突然短路了


问一下各位达人,我想提高屏的刷新频率是不是就是提高VSYNC,是不是就是把2410LCD的LCDCON1的CLKVAL减小?
dding832
驱动牛犊
驱动牛犊
  • 注册日期2007-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望158点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2008-04-10 15:52
看了一下文档,决定VSYNC的不止一个参数
Frame Rate = 1/[{(VSPW+1)+(VBPD+1)+(LIINEVAL+1)+(VFPD+1)}×{(HSPW+1)+(HBPD+1)
+(HFPD+1)+(HOZVAL+1)}×{2×(CLKVAL+1)/(HCLK)}]

是不是都要改啊,CLKVAL是最主要的吗?
dding832
驱动牛犊
驱动牛犊
  • 注册日期2007-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望158点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2008-04-15 09:01
今天上来才看到,还没有结贴呢,呵呵
问题已经解决,增大了一下VCLK,然后又调整了一下驱动器的内部电压,就好了

问一下,怎么结贴啊?能像CSDN一样给你们分吗?
atlanta
驱动牛犊
驱动牛犊
  • 注册日期2001-09-10
  • 最后登录2008-12-04
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2008-10-12 17:54
请问具体刷屏的动作,在wince程序中,哪个地方,BltComplete,
我在这里边,操作了刷屏动作,
但是,程序,调用的太多了,搞得非常慢。
游客

返回顶部