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

公式:
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最高只能支持到4Gbps速度传输。

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

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

static struct timing_rgb lcd_ek79023_mipi_timing = {
.hfp = , /* unit: pixel */
.hbp = ,
.hsync = ,
.vfp = , /*unit:line*/
.vbp = ,
.vsync = ,
}; static struct info_mipi lcd_ek79023_mipi_info = {
.work_mode = SPRDFB_MIPI_MODE_VIDEO,
.video_bus_width =, /*18,16*/
.lan_number = ,
.phy_feq=*,
.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 = ,
.height = ,
.fps =,//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

二、MIPI应用接口MIPI CSI/DSI简介

MIPI(mobile industry processor interface)是2003年由ARM,Nokia,ST,TI等公司成立的一个联盟(www.mipi.org),目的是把手机内
部的接口如摄像头、显示屏接口、射频/基带接口等标准化,从而减少手机设计的复杂程度,增加设计灵活性。
MIPI联盟下面有不同的WorkGroup,分别定义了一系列的手机内部接口标准,比如摄像头接口CSI、显示接口DSI、射频接口DigRF、麦克风/喇
叭接口SLIMbus等。
统一接口标准的好处是手机厂商根据需要可以从市面上灵活选择不同的芯片和模组,更改设计和功能时更加快捷方便。

目前已经比较成熟的MIPI应用有摄像头的CSI接口、显示屏的DSI接口以及基带和射频间的DigRF接口。UFS、LLI等规范正在逐步制定和完善过
程中。

物理层支持HS(High Speed)和LP(Low Power)两种工作模式。HS模式下采用低压差分信号,功耗较大,但是可以传输很高的数据速率(数据速率为80M~1Gbps);
LP模式下采用单端信号,数据速率很低(<10Mbps),但是相应的功耗也很低。两种模式的结合保证了MIPI总线在需要传输大量数据(如图像) 时可以高速传输,
而在不需要大数据量传输时又能够减少功耗。

CSI接口:
CSI-2是一个单或双向差分串行界面,包含时钟和数据信号。
CSI-2的层次结构:CSI-2由应用层、协议层、物理层组成。
协议层包含三层:象素/字节打包/解包层,LLP(Low Level Protocol)层,LANE管理层;

所有的CSI-2接收器和发射器必须支持连续的时钟,可以选择支持不连续时钟;连续时钟模式时,数据包之间时钟线保持HS模式,非连续时钟模式时,数据包之间
时钟线保持LP11状态。

参考1:https://www.cnblogs.com/cartsp/p/6434371.html

参考2:http://blog.csdn.net/xzongyuan/article/details/32130049?locationNum=13

CSI-MIPI学习笔记的更多相关文章

  1. 【转帖】4412ARM开发板学习笔记(一)

    本文转自迅为论坛:http://www.topeetboard.com 新手在进行开发学习前,建议先看01-迅为电子开发板入门视频.对开发板和开发环境有一定的了解后,不要盲目接线开机.以下是个人的一点 ...

  2. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  3. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  4. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  5. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  6. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  7. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  8. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  9. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  10. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

随机推荐

  1. wpf里窗体嵌入winform控件被覆盖问题

      问题1:嵌套Winform控件(ZedGraph)在WPF的ScrollViewer控件上,出现滚动条,无论如何设置该Winform控件都在顶层,滚动滚动条会覆盖其他WPF控件. 解决办法:在Sc ...

  2. Queue CodeForces - 353D (思维dp)

    https://codeforces.com/problemset/problem/353/D 大意:给定字符串, 每一秒, 若F在M的右侧, 则交换M与F, 求多少秒后F全在M左侧 $dp[i]$为 ...

  3. python-day21--sys模块

    sys模块是与python解释器交互的一个接口 1.sys.argv           命令行参数List,第一个元素是程序本身路径     # 传参 应用场景:权限控制 2.sys.path    ...

  4. git在eclipse中的配置 转载

    git在eclipse中的配置 转载 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EG ...

  5. OAF点击事件对页面组件的Required属性不验证

    在实际的需求中,OAF页面上很多字段设置了Required=YES,但是我们在点击某些按钮的时候,并不希望浏览器对其进行验证,可以通过设置 Disable Server Side Validation ...

  6. dubbo管理控制台搭建

    1. 从网上下载dubbo管理控制台:dubbo-admin-2.5.4.war 2. 下载tomcat7,解压缩 3. 将tomcat7 webapps/ROOT的文件全部删除,然后把dubbo-a ...

  7. vuex2.0+两个小例子

    首先vuex概念比较多,一定要搞懂里面的概念,可以参考官网Vuex2.0概念,我写此文的目的是希望能对前端爱好者提供个参考,加深对vuex2.0各核心概念的理解. 废话少说,直接上干货.这是官网上的一 ...

  8. 标签传播算法(Label Propagation)及Python实现

    众所周知,机器学习可以大体分为三大类:监督学习.非监督学习和半监督学习.监督学习可以认为是我们有非常多的labeled标注数据来train一个模型,期待这个模型能学习到数据的分布,以期对未来没有见到的 ...

  9. kill prefix extra,endo out 1

      1●extra 超过外面的, 以外的,外面 的   2●endo   内部  

  10. PHP:第四章——数组中的排序函数

    <pre> <?php header("Content-Type:text/html;charset=utf-8"); //1) /*sort - 对数组进行升序 ...