转自:https://blog.csdn.net/bmw7bmw7/article/details/45876487

我们先来看一个公式:Mipiclock = [ (width+hsync+hfp+hbp) x (height+vsync+vfp+vbp) ] x(bus_width) x fps/ (lane_num)/2

即mipi 屏的传输时钟频率(CLKN,CLKP)等于(屏幕分辨率宽width+hsync+hfp+hbp)x ( 屏幕分辨率高height+vsync+vfp+vbp) x(RGB显示数据宽度) x 帧率/ (lane_num)/2

简单解释下:

一帧画面需要的数据量为(单位bit):FRAME_BIT = (屏幕有效显示宽度+hsync+hfp+hbp) x ( 屏幕有效显示高度+vsync+vfp+vbp) x(RGB显示数据宽度24)

一秒钟内需要传输的数据量为(单位bps):FRAME_BIT  x  fps(帧率)。

那为何要除以lane_num----因为mipi通讯协议中,一个CLOCK几个lane是可以同时传输数据的。

为何又要除以2----因为根据mipi通讯协议,CLK_N、CLK_P这两根时钟线的上升沿/下降沿可以获取到数据。

因此我们可以得出如下结论:

1.在相同的时钟频率下,lane数越多,则单位时间内可以传输的数据越多。若显示帧率固定不变,则可以支持的更大的分辨率;而分辨率固定不变的情况下,则我们可以考虑支持更高的帧率显示。

2.在lane数固定的情况下,提高传输的时钟频率,则单位时间内也可以传输更多的显示数据。进而我们可以考虑是提高帧率还是提高分辨率,或两者做出平衡。

那么我们是否可以任意无限制的提高mipi的传输时钟频率及lane数目呢?mipi通讯协议对此进行了限制,一组CLOCK最高只能支持4组lane,一组lane的传输速度最高只能支持到1 Gbps。也就是说一组CLOCK最高只能支持到4 Gbps速度传输。

此时就引出了一个新问题:4Gbps速度传输,是满足不了现在市场上推出的4K电视的带宽要求的,怎么办?答案是使用8组lane,使用两组clock来传输。

下面我们以展讯7731平台下EK79023这款LCD 驱动IC的配置参数进行实例说明:

static struct timing_rgb lcd_ek79023_mipi_timing = {

.hfp = 100,  /* unit: pixel */

.hbp = 60,

.hsync = 24,

.vfp = 22, /*unit:line*/

.vbp = 10,

.vsync = 2,

};

static struct info_mipi lcd_ek79023_mipi_info = {

.work_mode  = SPRDFB_MIPI_MODE_VIDEO,

.video_bus_width =24, /*18,16*/

.lan_number =         2,

.phy_feq=660*1000,

.h_sync_pol =SPRDFB_POLARITY_POS,

.v_sync_pol = SPRDFB_POLARITY_POS,

.de_pol =SPRDFB_POLARITY_POS,

.te_pol =SPRDFB_POLARITY_POS,

.color_mode_pol =SPRDFB_POLARITY_NEG,

.shut_down_pol =SPRDFB_POLARITY_NEG,

.timing =&lcd_ek79023_mipi_timing,

.ops = NULL,

};

struct panel_spec lcd_ek79023_mipi_spec = {

.width = 600,

.height = 1024,

.fps =57,//62,//67,//52,//57,//60,

.type =LCD_MODE_DSI,

.direction =LCD_DIRECT_NORMAL,

.info = {

.mipi =&lcd_ek79023_mipi_info

},

.ops =&lcd_ek79023_mipi_operations,

};

从中可知,该LCD的分辨率为600 x 1024,帧率为57 HZ。

一帧图像的数据量为:FRAME_BIT=(600+24+100+60) x (1024+2+22+10) x(24)=19907328 bit

一秒钟的数据量为:19907328  x 57 = 1134.717696  Mbps

所需的mipi时钟频率为:1134717696/2(lane)/2= 283.679424 Mhz

一组lane的传输速度是:283.679424  x  2= 576.358848 Mbps
---------------------
作者:睿睿爸
来源:CSDN
原文:https://blog.csdn.net/bmw7bmw7/article/details/45876487
版权声明:本文为博主原创文章,转载请附上博文链接!

mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系【转】的更多相关文章

  1. mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系

    mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系   我们先来看一个公式:Mipiclock = [ (width+hsync+hfp+hbp) x (height+vsync+vfp+vb ...

  2. 高通移植mipi LCD的过程LK代码

    lk部分:(实现LCD兼容) 1. 函数定位 aboot_init()来到target_display_init(): 这就是高通原生lk LCD 兼容的关键所在.至于你需要兼容多少LCD 就在whi ...

  3. CSI-MIPI学习笔记

    一.mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系 公式: Mipiclock = [ (width+hsync+hfp+hbp) x (height+vsync+vfp+vbp) ] x ...

  4. msm8610 lcd driver code analysis

    ---恢复内容开始--- 1  lcd probe The probe sequence is determined by compilation sequence: mdss-mdp3-objs = ...

  5. I2C和LCD信号干扰的解决:硬件工程师都硬不起来,让软件工程师硬着头上

    DEMO4,LCD的clk干扰I2C,I2C无法通信. 把排针压下,去掉LCD的CLK,恢复正常.     过程: 直接跳线I2C,没问题.两排针插到一起就无法通信. 一个个的排针去除,最终找到LCD ...

  6. sc7731 Android 5.1 LCD驱动简明笔记之一

    基于展讯sc7731 - Android 5.1 代码分析浏览.将屏蔽细节,把握整体,并且不涉及其他设备和LCD的交互. 以下对sc7731 lcd大体流程进行简要说明. 第一,lcd 的两个阶段 1 ...

  7. mipi 调试经验

    转载自http://blog.csdn.net/g_salamander/article/details/9163455 以下是最近几个月在调试 MIPI DSI / CSI 的一些经验总结,因为协议 ...

  8. mipi 调试经验(转)

    以下是最近几个月在调试 MIPI DSI / CSI 的一些经验总结,因为协议有专门的文档,所以这里就记录一些常用知识点: 一.D-PHY 1.传输模式 LP(Low-Power) 模式:用于传输控制 ...

  9. mipi 调试经验【转】

    转自:http://blog.csdn.net/g_salamander/article/details/9163455 版权声明:本文为博主原创文章,未经博主允许不得转载. 以下是最近几个月在调试 ...

随机推荐

  1. 网络运维必回的模拟器-GNS软件下载和安装

    网络运维必回的模拟器-GNS软件下载和安装 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.GNS简介 1>.什么是GNS GNS3是一款具有图形化界面可以运行在多平台( ...

  2. mysql 快速生成删除数据库中所有的表的语句

    SELECT concat('DROP TABLE IF EXISTS ', table_name, ';') FROM information_schema.tables WHERE table_s ...

  3. nginx做负载均衡+keepalived(做主备)

    部署Nginx 一,安装nginx依赖: 查看是否已经安装 rpm -qa |grep gcc rpm -qa |grep openssl-devel rpm -qa |grep pcre-devel ...

  4. python while 格式化 运算符 编码

    #######################总结############# 1. 循环 while 条件: 循环体(break, continue) 循环的执行过程: 执行到while的时候. 首先 ...

  5. SpringBoot系列: SpringBoot 启动慢的问题

    SpringBoot 应用启动速度往往很快, 但在某些Linux 服务器上可能会很慢, 可能超过1分钟, 有时候甚至启动不起来. 下面过程耗时太长:IdGeneratorBase: Creation ...

  6. error.c

    #include <stdio.h> #include <errno.h> #include <stdlib.h> #include <string.h> ...

  7. iOS拍照图片旋转的问题

    很久之前,遇到了这种情况,iOS某端拍照上传到服务器,其他iOS端从服务器下载该照片展示,发现图片逆时针旋转了90度.当时百度了一下,找到一段代码修正image方向,问题解决了,但没有深入理解底层原理 ...

  8. js call使用

    call 方法 请参阅 应用于:Function 对象 要求 版本 5.5 调用一个对象的一个方法,以另一个对象替换当前对象. call([thisObj[,arg1[, arg2[, [,.argN ...

  9. Docker build Dockerfile 构建镜像 - 二

    Dockerfile 制作镜像 https://hub.docker.com/ 搜索需要镜像: https://hub.docker.com/_/centos/ 官方示例: centos:6 1.这里 ...

  10. Linux ISO镜像挂载

    挂载本地镜像? 镜像光盘的格式 iso9660 mount -t iso9660 -o,loop /data/centos.iso /iso 查看挂载磁盘 df -h cat /proc/mounts ...