5082|14

64

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince LCD驱动的问题 [复制链接]

我用的是市场买的2440开发板,配夏普LQ121S1LG45液晶自己开发驱动。
夏普LQ121S1LG45的pdf资料网上找不到,我只找到了LQ121S1LG41和LQ121S1LG61的,它们参数都一样,目前我计算的是下面的一组参数,可以很清晰的显示静态开机画面了,但显示画面几秒钟后图像发白发淡,直到完全变白,我用的市场上的一块QQ2440开发版,估计是开发商提供的BSP包有问题,因为开机画面几秒钟后就应该是加载各种驱动准备进入系统了,显然加载某种驱动时死机了,判断它死机是因为activesync软件没有任何连接成功的反应,只是显示一个"无法识别的USB设备",即使重启开发板也不行。
  这时超级终端显示信息如下:

Read wince image from flash:
Sector addr on NAND: 0x520
TotalSector: 0xe1ca
LoadAddress: 0x30200000
JumpAddr: 0x30201000
............................
Run wince, JumpAddr = 0x30201000
Clear the memory unused ..?
USB口应该没有问题,因为每次调整好LCD参数后我都是用PB5.0编译成bin文件通过USB口下载进去执行的,就这个LCD驱动的问题就耗费了将近半个月没有解决。
#define VBPD     ((22)&0xff)
#define VFPD     ((38)&0xff)
#define VSPW     ((3) &0x3f)
#define HBPD     ((87)&0x7f)
#define HFPD     ((39)&0xff)
#define HSPW     ((127)&0xff)
这组参数是可以很好的显示开机静态画面的,同时还有一个困惑的地方,希望各位能给予帮助,
就是LCD屏的像素频率CLKVAL是怎么设置的,我读程序认为以下的几个参数与它有关:
#define S2440FCLK        (400000000)
#define HCLKDIV                 4
#define S2440HCLK                        (S2440FCLK / HCLKDIV)        // PCLK
#define CLKVAL_TFT                                (1)//yf
根据公式:VCLK = HCLK / ((CLKVAL + 1) * 2)可计算得
vclk=50MHz
然而在LQ121S1LG61_IcpdfCom_61697.pdf文档的第11页(Clock signal)是不是就是VCLK且必须位于35MHz到42MHz之间。
以上这些就是我对最近调试过程中的一些体会,如能得到您的点拨和帮助,万分感谢。

最新回复

这个问题已经解决了,非常感谢各位的关注,其实是非常弱的一个细节。 编译成功,下载却不能运行的原因是我把PB5.0装在D盘而没有装在C盘,因为C盘实在没有空间了。 (装在C盘再编译警告的数量明显下降) 其次我个人建议使用微软提供的120天试用版的注册码,不要用别的,我没有时间去试了,因为以前我装在D盘上的PB编译没有任何问题,下载到开发板上后运行时好时坏。装C盘时我就用的这个注册码了R7P4T-2JDHF-YRVJR-QHFV8-62MBQ 我还是用的上面的那组参数,屏幕显示没有问题,也没有闪烁,这个参数是我一个月前就计算出来的,却因为这个弱的原因耽误了我一个月。 总结一下让和我一样初学的朋友别再走弯路 1、关于那几个参数、缓冲区以及扫描频率的调整网上有很多高人的帖子,再多看看2440手册关于LCD的部分就知道怎么调了。但都必须根据自己的LCD屏的PDF手册上的参数去设置。这里我没有遇到问题。 2、注意一下LCD硬件接口(排线)有一个输出电压的电压值,我的2440板子通过排线连接到一个驱动板,再从驱动板连接到LCD的,这个电压一般是3.3V和5V可选,我用5V的时候图像花得一塌糊涂,查了驱动芯片的pdf文档人家写了不能大于4.2V,改过来就好了。 前两天因为要把PB装C盘,搞坏了一个硬盘,没来得急结贴,现在用一个新硬盘把C盘划分了20G也只剩下5个G能用了,我这几个月下载的资料也全没了。 不过我还是很开心,对关注过我这篇帖子的朋友表示感谢,你们的建议给了我很多启发,谢谢了  详情 回复 发表于 2009-6-30 10:45
点赞 关注

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
自己顶
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不同的屏clk是不同的, 一般而言480*272的屏 ,时钟在10M左右, 800*480的屏,在30M到35M,
屏越大,要求的时钟频率越高,但要频率高了要考虑电磁干扰的问题.
调时钟可以调: 1.刷新率 2.垂直和水平场频.  
最好咨询屏的提供商,一般会有典型值的,调一点会差别很大.
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 2 楼 rushonin 的回复:
不同的屏clk是不同的, 一般而言480*272的屏 ,时钟在10M左右, 800*480的屏,在30M到35M,
屏越大,要求的时钟频率越高,但要频率高了要考虑电磁干扰的问题.
调时钟可以调: 1.刷新率 2.垂直和水平场频.  
最好咨询屏的提供商,一般会有典型值的,调一点会差别很大.



谢谢你的回复,我看PDF文档的典型值是40MHz,实际上设到该值有些问题,设到50MHz图像显示就很好了,目前只有开机画面,不能进入系统,开机画面逐渐变白了,就是不能进入系统界面,挺郁闷的
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(中级)

5
 
我感觉是你驱动的时序没有写好,才导致这种现象的。
对于你说的,开机时显示的画面,应该是在bootloader中处理的图片,是一个像素一个像素的写上去的。而bootloader加载了显示驱动后,出现图像发白发淡,直到完全变白的现象。
具体的驱动我还不怎么了解,只是以前我碰到过类似的情况。
楼主好运,改驱动吧。
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

6
 
这种现象应该是系统没起来,不一定是LCD驱动的问题哦
Read wince image from flash:
Sector addr on NAND: 0x520
TotalSector: 0xe1ca
LoadAddress: 0x30200000
JumpAddr: 0x30201000
............................
Run wince, JumpAddr = 0x30201000
Clear the memory unused ..?
到这里就没了么?
先把你的调试串口调通 看看跑到什么地方了

**************************
飞凌嵌入式 www.witech.com.cn   
**************************
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

7
 
你要看一下系统到底起来没有.个人觉得你的系统可能起来了,只是显示不正常.
用工具监测下启动过程吧.
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

8
 
系统都没有启动..........
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

9
 
不能只看现象,有可能不是LCD的问题
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

10
 
不好意思,周末没有上网,再来看时已经有这么多好心人给我提示了。
向各位好心人汇报一下情况:
  我向开发板商咨询了,他们也不知道怎么回事,我原来的想法是用别人的开发板和成熟的BSP包做一个样品出来,这个样品也没什么复杂的,只是简单实现一下多路的A/D、I/O,串口以及数据存储,样品出来后再自己慢慢做板子及底层的东西,我也是刚刚接触ARM9的,所以现在还没有能力去独立定制wince内核,遇到这样的问题确实很挠头。
  我的逻辑是这样的:第一步使用别人的开发板和BSP,这样内核总应该是没有问题的——》第二步基于此再改动LCD驱动,这里改驱动有一个关键就是显示缓冲区的大小,只要我不去修改缓冲区大小,就不会影响内核的运行,最多也就是不能显示,经过计算原来的显示缓冲区有预留,是够用的——》第三步更改LCD驱动正常显示——》第四部用EVC开发A/D、I/O,串口界面程序。
  目前我连第一步都没走通,是这样的,如果我用开发板商的NK.bin下载进去以后是没有问题的,但是那是在3.5寸屏的情况下。在我选用大屏,并修改LCD驱动后,如果用开发商给的BSP,编译能通过,下载进去就是不行,当时那个屏幕显示非常花,我觉得是自己改的LCD驱动的问题,所以就没有往系统没有启动起来这方面想,等我做到能显示开机画面了,我才发现进不了系统。
 联系了很多次开发板商,刚一开始确实他们给的不是这个开发板的BSP,因此又给了我专门的BSP,情况依然,他们也解释不了了。我还咨询了PB环境使用设置的情况,我怀疑是不是我的PB设置与他们的不一致才造成最后生成的NK.bin文件不一致,咨询了一下也没有什么问题,这里我还想了一个笨办法,就是在一切都不改动的情况下用专门的软件直接比较二进制格式下他们的NK.bin和我生成的NK.bin,结果发现差异很大.
   后面我在3.5寸屏的系统下调通了I/O及串口的程序,同时我使用了网上找到的一些SMDK,编译下载运行结果还是一样,考虑到是某些其它驱动造成的系统死机的问题,我又屏蔽了系统的一些驱动(比如网卡驱动),问题依然,在此期间我用SJF2440和DNW重装过bootloader和Eboot,还是不行,明天我决定去开发板商那,希望他们能现场编译一个NK.bin下载能运行我再拷贝他们的BSP,有些郁闷.

谢谢各位了,如果最后问题解决了,我会把最终的原因写出来,希望能帮到和我一样的菜鸟!
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

11
 
照你上面说的就是你LCD驱动没改好,2440LCD控制器那部分好好看看有6个参数配置比较重要,我调VGA也遇到类似情况,我的是VGA无法显示800*600分辨率。行场频都不达标
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

12
 
uping
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

13
 
开机画面是eboot显示的,LCD的驱动的参数改了没有?
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 12 楼 jeanszu 的回复:
开机画面是eboot显示的,LCD的驱动的参数改了没有?

你的开机画面应该是启动系同的时候出问题的,在EBOOT中没问题,
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

15
 
这个问题已经解决了,非常感谢各位的关注,其实是非常弱的一个细节。
编译成功,下载却不能运行的原因是我把PB5.0装在D盘而没有装在C盘,因为C盘实在没有空间了。
(装在C盘再编译警告的数量明显下降)
其次我个人建议使用微软提供的120天试用版的注册码,不要用别的,我没有时间去试了,因为以前我装在D盘上的PB编译没有任何问题,下载到开发板上后运行时好时坏。装C盘时我就用的这个注册码了R7P4T-2JDHF-YRVJR-QHFV8-62MBQ

我还是用的上面的那组参数,屏幕显示没有问题,也没有闪烁,这个参数是我一个月前就计算出来的,却因为这个弱的原因耽误了我一个月。

总结一下让和我一样初学的朋友别再走弯路
1、关于那几个参数、缓冲区以及扫描频率的调整网上有很多高人的帖子,再多看看2440手册关于LCD的部分就知道怎么调了。但都必须根据自己的LCD屏的PDF手册上的参数去设置。这里我没有遇到问题。
2、注意一下LCD硬件接口(排线)有一个输出电压的电压值,我的2440板子通过排线连接到一个驱动板,再从驱动板连接到LCD的,这个电压一般是3.3V和5V可选,我用5V的时候图像花得一塌糊涂,查了驱动芯片的pdf文档人家写了不能大于4.2V,改过来就好了。

前两天因为要把PB装C盘,搞坏了一个硬盘,没来得急结贴,现在用一个新硬盘把C盘划分了20G也只剩下5个G能用了,我这几个月下载的资料也全没了。

不过我还是很开心,对关注过我这篇帖子的朋友表示感谢,你们的建议给了我很多启发,谢谢了
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表