显示技术之MIPI介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了显示技术之MIPI介绍相关的知识,希望对你有一定的参考价值。

参考技术A

MIPI(Mobile Industry Processor Interface) (移动行业处理器接口)是 MIPI 联盟发起的为移动应用处理器制定的开发标准。

1、 MIPI 规范

1) Camera 工作组的规范名称: CSI-2

2) Display 工作组的规范名称: DBI/DBI-2、DPI/DPI-2、DSI、DCS

3)物理层工作组的规范名称: D-PHY、M-PHY

4)...

2、 MIPI DSI 规范

MIPI DSI 是 一种应用于显示技术的串行接口,兼容 DPI 、 DBI 和 DCS 。

2.1、 DSI 操作模式

1)命令模式( Command Mode )

主机向外设发送命令和数据。

2)视频模式( Video Mode )

主机向外设发送实时像素流,支持数据传输: Non-Burst Mode with Sync Pulses 、 Non-Burst Mode with Sync Events 和 Burst Mode 。 Video Mode 只能用在高速模式。

2.2、 DSI 传输模式

1)低功耗( Low-Power )模式:用于控制,最大10MHZ。

2)高速( High-Speed )模式:用于高速数据传输,80Mbps ~ 1Gbps/Lane。

2.3、物理连接和数据发送

下图展示了 MIPI DSI 接口的物理连接。

下图展示了使用2路lane进行数据传输的方式。

参考:

MIPI Alliance Specification for DSI

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设备树修改笔记(熟悉新平台从点灯大法开始)

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

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

以上是关于显示技术之MIPI介绍的主要内容,如果未能解决你的问题,请参考以下文章

显示技术之MIPI接口LCD的DSI指令配置

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

[笔记分享] [Display] MIPI 协议之DSI

手机mipi显示接口定义

mipi generic和dcs指令的区别

手机显示屏上面大概1/3正常显示,下面2/3花屏。MIPI接口,测试外围电路没发现异常。求分析思路。