阅读:2996回复:16
第一次发贴问win ce 液晶屏驱动的问题
我的平台是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 初始化函数中并不用到,而是直接用数值表示。 这些参数应该是跟屏有关的吧,在换屏的时候是否必需从新写呢,如果从新写的话,一般都是在屏规格书上的时序图上呢,还是在表上介绍的呢 新手问题多多,希望不吝赐教,先行谢过^_^ |
|
沙发#
发布于:2008-03-23 22:34
如果显存是一片连续内存空间,那么对于CE的显示驱动模型是没有问题,如果不是,比如是先写一个命令,然后是把数据往里写的那种,那么,你可能需要一个线程来不断刷新显示,这样就会有一个显示性能问题。
在驱动上开辟一片连续的内存空间给GPE用,在线程里将这片内存的内容写入你的LCD屏。 |
|
板凳#
发布于:2008-03-24 14:57
接口都换了 硬件肯定要改了。不改的情况可能性太小
其他的倒没有什么,就如楼上说得,你要开一块buffer 而且要定时刷新,而且这个buffer开了之后就不要再更改地址,不然系统的数据就填飞了。 |
|
地板#
发布于: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 控制器里这些参数也是可以配置的啊,那我应该在哪一块配置呢,还是说他们两个只要是都配置成一样了就行呢? |
|
地下室#
发布于:2008-03-27 16:53
|
|
5楼#
发布于:2008-03-27 16:54
asdfadsf
|
|
6楼#
发布于:2008-03-29 09:49
大哥大姐们救命啊
|
|
7楼#
发布于:2008-03-29 11:30
VSPW,VBPD,VFPD等信号只要LCD屏和2410的LCD 接口一样就可以了
|
|
8楼#
发布于:2008-04-03 08:49
VSPW,VBPD,VFPD
看LCD 的DATA SHEET 上都有设置的.... |
|
9楼#
发布于:2008-04-07 09:06
多谢,各位的答复了,我已经找到了相关的参数,但还没有试过不知道是不是正确的
现在正在弄屏的初使化,SPI口的,大家都在哪个部分初使化的呢,是在内核里面还是在外面驱动里呢 |
|
10楼#
发布于:2008-04-07 14:27
在LOADER里面.....
|
|
11楼#
发布于:2008-04-08 15:00
嗯,在boot里面也应该初使化,因为要在加载系统的时候显示logo嘛
之后在加载完系统的时候我是在内核里面加的初使化, 在cfw.c里面。 现在屏能显示桌面了,应该是初使化成功了,但是屏还有些抖,是不是刷新频率不够呢?再有就是图像看起来就像隔了N行扫描似的,断断继继的,一点也不清楚 如果哪位遇到过这样的问题,还请不吝赐教 |
|
12楼#
发布于:2008-04-08 19:49
其实没必要在系统里再次对屏进行初始化,当屏点亮时,又一次初始化不知道你看到的是什么现象.
|
|
13楼#
发布于:2008-04-09 09:15
昨天回完贴就想起来了,初使化一回就可以了,在boot和内核中S3C2410对屏的配置都是一样的,我只要在boot里面初使化一下就可以了,呵呵,大脑突然短路了
问一下各位达人,我想提高屏的刷新频率是不是就是提高VSYNC,是不是就是把2410LCD的LCDCON1的CLKVAL减小? |
|
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是最主要的吗? |
|
15楼#
发布于:2008-04-15 09:01
今天上来才看到,还没有结贴呢,呵呵
问题已经解决,增大了一下VCLK,然后又调整了一下驱动器的内部电压,就好了 问一下,怎么结贴啊?能像CSDN一样给你们分吗? |
|
16楼#
发布于:2008-10-12 17:54
请问具体刷屏的动作,在wince程序中,哪个地方,BltComplete,
我在这里边,操作了刷屏动作, 但是,程序,调用的太多了,搞得非常慢。 |
|