Linux MIPI DSI驱动调试笔记-LCD时序参数配置

Posted Engineer-Bruce_Yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux MIPI DSI驱动调试笔记-LCD时序参数配置相关的知识,希望对你有一定的参考价值。

点击上方「嵌入式云IOT技术圈」,选择「置顶公众号」第一时间查看嵌入式笔记!

前面我们介绍了一些MIPI LCD的基础知识以及LCD初始化序列的配置:

Linux MIPI DSI LCD设备驱动开发调试细节学习笔记(一)

Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码(二)

要点亮MIPI DSI接口的LCD,我们还有一个非常重要的配置,那就是屏幕的时序,时序就是点屏的基础,大部分LCD提供的数据手册都大同小异;由于没搞过这块驱动的调试,我还很担心怕这个月都搞不定;但是我确实太低估自己的能力了,没想到居然就只用了不到一天时间不到就把一个完全没用过的屏给点起来了!所以我告诉自己,以后要自信点,不要怕,上来就是肝才是正道!

1、LCD屏幕显示原理

与纯 RGB 显示屏同理, MIPI DSI 显示参考下图:之前有一篇文章也写得很好,结合学习会很有收获:

图解LCD硬件原理 && 调色板与Framebuffer原理

1.1、垂直方向

直接干Datasheet,关于垂直方向,我们只需要关心以下几个参数就可以了:垂直方向:

  • tvd :垂直方向的分辨率

  • tv :整个垂直方向的周期

  • tvpw :vysnc 脉冲宽度

  • tvb :上边黑框 ===> vbp ===> Vertical Back porch ===> 垂直后肩

  • tvfp :下边黑框 ===> vfp ===> Vertical Front porch ===> 垂直前肩

1.2、水平方向

直接干Datasheet,关于水平方向,我们只需要关心以下几个参数就可以了:水平方向:

  • thd :水平方向的分辨率

  • th : 整个水平方向的周期

  • thpw :hsync 脉冲宽度

  • thb :左边黑框 ===> hbp ===> Horizontal Back porch ===> 水平后肩

  • thfp :右边黑框 ===> hfp ===> Horizontal Front porch===> 水平前肩

2、MIPI DSI 设备树时序配置

接下来我们照着以上的几个参数,结合数据手册里提供的典型参数往设备树里的时序列表里填,最终时序部分如下:

display-timings {
  native-mode = <&timing0>;
 
  timing0: timing0 {
    clock-frequency = <51200000>; //DCLK
    hactive = <1024>;             //hactive
    vactive = <600>;              //vactive
    hfront-porch = <160>;         //hfp
    hsync-len = <70>;             //hsa
    hback-porch = <160>;          //hbp
    vfront-porch = <12>;          //vfp
    vsync-len = <10>;             //vsa
    vback-porch = <23>;           //vbp
    hsync-active = <0>;           //hync 极性控制 置 1 反转极性
    vsync-active = <0>;           //vsync 极性控制 置 1 反转极性
    de-active = <0>;              //DEN 极性控制
    pixelclk-active = <0>;        //dclk 极性控制
  };
};

其中 clock-frequency 即 DCLK 频率,查看以下规格书:可知, DCLK 频率为 51.2Mhz ,所以这个参数就是51200000。

其中clock-frequency的计算公式是这样的:

clock-frequency = (h_active + hfp + hbp + h_sync) * (v_active + vfp + vbp + v_sync) * fps

根据以上公式我们还可以计算出fps

fps = 51200000 / (1024+160+160+70) * (600+23+12+10) = 51200000 / 912030 = 56Hz

这里的 56Hz 也就是屏幕的刷新率(fps)。

时序一搞定了,那离点屏就差10%了,今天就学习总结到这了,下期会继续分享怎么通过Linux终端确认MIPI DSI是否已经匹配到系统上。

往期精彩

一个强大的音视频编解码库-rkmedia的应用

瑞芯微RV1109配置7寸电容触摸屏的方向修改笔记

如何添加APP到Buildroot里(以瑞芯微rv1126为例)

瑞芯微RV1109配置GPIO设备树修改笔记(熟悉新平台从点灯大法开始)

新产品立项了,作为嵌入式软件工程师该如何来开展设计工作?(个人经验分享)

觉得本次分享的文章对您有帮助,随手点[在看]并转发分享,也是对我的支持。

以上是关于Linux MIPI DSI驱动调试笔记-LCD时序参数配置的主要内容,如果未能解决你的问题,请参考以下文章

Linux MIPI DSI LCD设备驱动开发调试细节学习笔记

Linux MIPI DSI驱动调试笔记-LCD时序参数配置

Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码

Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码

LCD之mipi DSI接口驱动调试流程

全志 Tina Linux LCD显示屏调试指南 支持MIPI DSI RGB LVDS I8080 SPI等接口,开发板支持百问网T113 D1-H哪吒 DongshanPI-D1s V853