LCD屏幕参数通过数据手册得到--Linux驱动lcd

这里是以正点原子的7寸1024*600的屏幕为例

在这里插入图片描述
在这个图中,一般都是按照sync mode的参数进行设置的,sync mode似乎又是和HV MODE相对应的,sync mode和HV MODE有HS和VS的值。我们可以得到:
行:
Horizontal pulse width HSPWthphsync_lenhs pulse width20 (信号宽度)
Horizontal Back Porch
HBP thbleft_margin== 140
Horizontal Front Porch
HFP tfhright_marginHS Front Porch160(中间值)

列:
Vertical pulse widthVSPWtvpvsync_lenVS Pulse width3
Vertical Back Porch
VBP tvbupper_margin== 20
Vertical Front Porch
VFP tvf lower_margin 12
在这里插入图片描述
这个图可以得到HOZVAL
thd
xres1024
LINE tvdyres
600
这个屏幕有Input Timing Table表格,所以直接按照这个表的值设置即可,而不需要按HV Mode的范围值去设置,但是野火的7寸800*480的屏就没有Input Timing Table表格,所以要根据HV Mode的范围值去设置

如果只有这个图的话:
对于Horizontal input timing,那么HSYNC Front Porch160;然后我HSYNC pulse width取20,那么我的Horizontal Back PorchHBP thbleft_margin140;因为这里有个计算公式,
就是HSYNC pulse width+【Horizontal Back Porch
HBPthbleft_margin140】 == HSYNC blanking160
对于Vertical input timing中的值也是一模一样的

HSYNC blanking这个值不是拿来作为一个参数写入LCD的参数设置的,只是一个用来相加的选项

像素时钟= (VSPW+VBP+LINE+VFP) * (HSPW + HBP + HOZVAL + HFP)6010的负6次方==多少Mhz
然后pixclock=(1/51200000)*10^12=19531

LCD显示屏DE MODE ,HV MODE 的区别

LCD在显示数据之前,在行数据上有HFP、HBP、HSYNc,在列数据上有VFP、VBP、VSYNC,不是所有的数据都是可以显示的,因此LCD的驱动和 LCD之间需要采用某种方式来同步,比如让LCD知道现在我在发送的是HFP时序,你不要显示出来;或者通知LCD,现在开始后面的数据是可视数据,你可以开始显示了。
因此有两种方式:
DE模式
当DE变为高电平时,表示有效数据开始了;变为低电平,表示有效数据结束。在DE模式下,LCD是不需要HS信号线的,也就是说LCD选择了DE模式,即使没有接HS信号线,LCD也能正常工作。
HV模式:
LCD需要HS和 VS,即水平同步和垂直同步信号来确定时序,在液晶显示器中,行同步信号(HS)的作用是选择出液晶面板上有效行信号区间,场同步信号(VS)的作用是选择出液晶面板上有效场信号区间,行场同步信号的共同作用,可将选择出液晶面板上的有效视频信号间。

总结:
两种不同的同步方式中,HV模式是早期的驱动模式了,现在的液晶屏面板驱动Ic基本都是支持HV和DE两种模式的。DE模式的好处就是使用比较简单好用,调试也方便。

这里是以野火的7寸800*480的屏幕为例

主要是参数的设置
野火的文档只给了已经调好参数的图
在这里插入图片描述
下面这个图是野火对应的7寸屏幕的800480的数据手册当中的参数图:
在这里插入图片描述
根据NXP厂商的evk开发板,NXP做好了对应的uboot;我们根据这个uboot来进行移植
1、通过查看野火开发板和正点原子的开发板,可以知道和屏幕的连接引脚是一模一样的,背光引脚也是一样的,所以这些东西就不用更改;
2、就只需要更改野火和正点原子使用的屏幕的参数
在这里插入图片描述
这里是野火屏幕对应的参数,现在看看这些参数是怎样和Timing对应起来的:
name可以设置成自己的东西,不过要在mx6ull_alientek_emmc.h的panel值的两个地方改成和mx6ull_alientek_emmc.c一模一样的
xres表示行像素,yres表示竖像素,pixclock=1/时钟频率
10的12次方,而时钟频率的计算又在上文有说明。

回到Timing表格的参数,可以得出几个公式:
1、hsync_len(对应表格中的HS pluse width,在1-40之间任意取值,这里我取值为20)+left_margin(这里的值是由这个等式推出来的)=hs blanking(在表格中有说明是160)
---------->20+140=160

2、vsync_len(对应表格中的VS pluse width,在1-00之间任意取值,这里我取值为3)+upper_margin(这里的值是由这个等式推出来的)=vs blanking(在表格中有说明是23)
---------->3+20=23

到这里我们已经得到了6个值了,分别是:xres yres hsync_len vsync_len left_margin upper_margin
还有两个值可以从表格中得出:
HS Front Porchright_margin210
VS Front Porchlower_margin22

问题

现在是屏幕和NXP提供的对于evk开发板的引脚是连接一致的,如果是自己设计开发板应该怎么去修改屏幕对应的引脚呢

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值