i.MX6 LCD屏参数配置

系统:Linux
处理器:i.MX6
TFT屏:群创 DE018IC-02A


LCD参数配置:

参数修改位置:
LCD在内核中的参数在文件kernel/drivers/video/mxc/mxc_lcdif.c中的lcdif_modedb结构体进行配置。
在这里插入图片描述
LCD手册配置表:
在这里插入图片描述

参数解释:

Name: “HUD-WVGA”,标识符/名字。
Refresh: 60,频率(Hz)。
Xres: 480,宽,每行的像素个数。
Yres: 240,高,屏幕的行数。
Pixclock: 99403,每个像素时钟周期的长度,单位是皮秒(ps),该lcd屏的时钟频率为10.06MHz,则pixclock = 99403。简单的计算方法:106 /10.06MHz=99403ps。
HBP(horizontal back porch): 16,表示从水平同步信号开始到一行的有效数据开始之间的VCLK的个数,对应驱动中的left_margin
HFP(horizontal front porch): 144,表示一行的有效数据结束到下一个水平同步信号开始之间的VCLK的个数,对应驱动中的right_margin
VBP(vertical back porch): 2,表示在一帧图像开始时,垂直同步信号以后的无效的行数,对应驱动中的upper_margin
VFB(vertical front porch): 20,表示在一帧图像结束后,垂直同步信号以前的无效的行数,对应驱动中的lower_margin
HSPW(horizontal sync pulse width): 30,表示水平同步信号的宽度,用VCLK计算,对应驱动中的hsync_len
VSPW(vertical sync pulse width): 3,表示垂直同步脉冲的宽度,用行数计算,对应驱动中的vsync_len
sync: 数据使能极性。通常是填写“FB_SYNC_CLK_LAT_FALL”,填0则极性与“FB_SYNC_CLK_LAT_FALL”相反。
vmode: 视频模式。i.MX使用TFT面板设置为“FB_VMODE_NONINTERLACED”。
flag: 这个值通常没有用,默认设置为0。
在这里插入图片描述

官方文档解释:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

信号意义:

**VSYNC:**帧同步信号
每发出一个脉冲,表示新的一帧图像数据开始传送。

**HSYNC:**行同步信号
每发出一个脉冲,表示新的一行图像数据开始传送。

**VCLK:**像素时钟信号
每发出一个脉冲,表示新的一个点图像数据开始传送。

**DEN:**有效数据信号
表示当前收到的图像数据有效或者无效。

遇到的问题及解决

1、显示的图像位置不对。

通过参照文档调整HBP、HFP、VBP、VFB、HSPW、VSPW参数配置即可解决。

2、图像在过度区域颜色显示不正常

显示如下:
在这里插入图片描述
原图:
在这里插入图片描述

发生这种情况即有可能是数据使能极性配置不对。可以通过修改sync解决。”FB_SYNC_CLK_LAT_FALL“改为0或者0改为“FB_SYNC_CLK_LAT_FALL”,这是在i.MX平台上。
原因(我的理解是这样的,但并不是很确定):
该配置决定了是在像数时钟信号上升沿还是下降沿触发数据采集。
上升沿触发时序如下(另一个LCD屏的):
在这里插入图片描述
下降沿触发时序如下:
在这里插入图片描述

参考:
1、https://www.nxp.com/docs/en/application-note/AN3974.pdf
2、https://www.cnblogs.com/pengdonglin137/p/4604913.html

发布了61 篇原创文章 · 获赞 106 · 访问量 21万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 精致技术 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览