一次关于2440屏驱动的精彩讨论
2010-10-22 21:37
246 查看
头上两幅图就是我的LCD屏的资料了。上面标了VBPD VFPD HBPD HFPD,没说VSPW、HSPW。
下面是我在代码中填写的值,可是是出现花屏哦,应该如何设置啊?
clkval_calc = 9;
#define LCD_VBPD ((18)&0xff)// 18 18 18
#define LCD_VFPD (( 4)&0xff)// 4 4 4
#define LCD_VSPW ((14)&0x3f)// 14 14 14
#define LCD_HBPD ((68)&0x7f)// 68 68 68
#define LCD_HFPD ((20)&0xff)// 20 20 20
#define LCD_HSPW ((55)&0xff)// 60 50 70
有人告诉我说,像这种3.5寸 16位 320x240 TFT屏 的参数都差不多的,参考一下别的值就可以了。
可是我用别人的几组值去试,效果更差,是白屏啊。
VSPW:TFT: Vertical sync pulse width determines the VSYNC pulse's high level width by counting the number of inactive lines.
HSPW:TFT: Horizontal sync pulse width determines the HSYNC pulse's high level width by counting the number of the VCLK.
VSPW指的是VSYNC处于高电平时的线的数目。
HSPW指的是HSYNC处于高电平时的VCLK的数目。
在我其它都不变的情况下,修改VBPD VFPD HBPD HFPD的值,有些参数组合是花屏,有些参数组合是白屏。
我的clkval_calc = 9; 算出来的VCLK是6.4M左右吧,符合TFT屏的要求的。
TFT屏是16位的,RGB是565的。
S3C2440 LCD 控制器:
HSPW: 行同步肪冲宽度 (4.8us左右(4.8/点时钟(1.6.4)))
HBPD: 行可视范围前肩
HFPD: 行可视范围后肩 (这两个要慢慢调,确定图像的左右位置)
行频(14.9~22.35)=1/((HSPW+1)+(HBPD+1)+(HFPD+1)+320)*(点时钟1/6.4)
只要行频在这个范围都可以。
VSPW: 场同步脉冲宽度 (N/P制好象有点不同,一般是2.5行,取3-1就可以了)
VBPD: 帧可视前肩
VFPD: 帧可视后肩
这两个用来调整帧画面在靠上/靠下位置,如果场频取60的话,一帧时间是1/60 = 16.67ms,假如行频取15.75,由一行时间为1/15.75=0.064ms,则一帧总行数为
16.67/0.064 = 262行,262 = ((VSPW+1)+(VFPD+1)+(VBPD+1)+(HOZVAL+1)
所以,只要确定了行频,就可以推算出点时钟及其他参数,只要行场同步对了,图像肯定可以出来,只需微调位置就可以了。
另,如果你的clkval_calc = 9话,HCLK=133,点时钟应该是133/20,应该在6.65M.
下面是我在代码中填写的值,可是是出现花屏哦,应该如何设置啊?
clkval_calc = 9;
#define LCD_VBPD ((18)&0xff)// 18 18 18
#define LCD_VFPD (( 4)&0xff)// 4 4 4
#define LCD_VSPW ((14)&0x3f)// 14 14 14
#define LCD_HBPD ((68)&0x7f)// 68 68 68
#define LCD_HFPD ((20)&0xff)// 20 20 20
#define LCD_HSPW ((55)&0xff)// 60 50 70
有人告诉我说,像这种3.5寸 16位 320x240 TFT屏 的参数都差不多的,参考一下别的值就可以了。
可是我用别人的几组值去试,效果更差,是白屏啊。
VSPW:TFT: Vertical sync pulse width determines the VSYNC pulse's high level width by counting the number of inactive lines.
HSPW:TFT: Horizontal sync pulse width determines the HSYNC pulse's high level width by counting the number of the VCLK.
VSPW指的是VSYNC处于高电平时的线的数目。
HSPW指的是HSYNC处于高电平时的VCLK的数目。
在我其它都不变的情况下,修改VBPD VFPD HBPD HFPD的值,有些参数组合是花屏,有些参数组合是白屏。
我的clkval_calc = 9; 算出来的VCLK是6.4M左右吧,符合TFT屏的要求的。
TFT屏是16位的,RGB是565的。
S3C2440 LCD 控制器:
HSPW: 行同步肪冲宽度 (4.8us左右(4.8/点时钟(1.6.4)))
HBPD: 行可视范围前肩
HFPD: 行可视范围后肩 (这两个要慢慢调,确定图像的左右位置)
行频(14.9~22.35)=1/((HSPW+1)+(HBPD+1)+(HFPD+1)+320)*(点时钟1/6.4)
只要行频在这个范围都可以。
VSPW: 场同步脉冲宽度 (N/P制好象有点不同,一般是2.5行,取3-1就可以了)
VBPD: 帧可视前肩
VFPD: 帧可视后肩
这两个用来调整帧画面在靠上/靠下位置,如果场频取60的话,一帧时间是1/60 = 16.67ms,假如行频取15.75,由一行时间为1/15.75=0.064ms,则一帧总行数为
16.67/0.064 = 262行,262 = ((VSPW+1)+(VFPD+1)+(VBPD+1)+(HOZVAL+1)
所以,只要确定了行频,就可以推算出点时钟及其他参数,只要行场同步对了,图像肯定可以出来,只需微调位置就可以了。
另,如果你的clkval_calc = 9话,HCLK=133,点时钟应该是133/20,应该在6.65M.
相关文章推荐
- 记录一次与大神们的关于GAN应用于NLP的讨论
- 关于用户并发的讨论,十分精彩,转给大家
- 关于在网页中使用IP的一次技术讨论
- 近期关于“WINCE驱动开发之DMA的使用”讨论
- 一次关于C++BuilderX的讨论
- 记录一次与大神们的关于GAN应用于NLP的讨论 (后续)
- [全程建模]关于时序图问题的一次讨论
- 尽管关于Java中文问题的讨论已经相当多了,但由于Java的相关技术标准繁多,面向Java的Web服务器、应用服务器以及JDBC数据库驱动等都没有官方的标准,所以Java应用在处理中文时所存在的问
- 关于国内技术类书籍的一次讨论
- 关于Sun的讨论(五):驳客的胡言乱语和颜博士的精彩评述
- 2005-05-20:一篇关于Oracle与DB2精彩讨论
- 关于DEL网卡驱动的一次故障
- 整理关于牛人们对图书管理系统领域建模的精彩讨论,以此希望大家学习下别人是如何思考的
- 记录一次与大神们的关于GAN应用于NLP的讨论
- 关于 AOP 的精彩讨论 [1]
- 一次关于用MVC改进GUI应用开发的讨论
- 关于select/poll对比epoll的一次精彩问答
- 关于UI的一些关于UI的一次讨论——来自项目管理群的讨论
- 关于UI的一次讨论——来自项目管理群的讨论
- 【转载】Erlang精彩讨论-回“老赵”关于“Erlang中最大的问题”