转自: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时钟频率与显示分辨率及帧率的关系【转】的更多相关文章
-
mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系
mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系 我们先来看一个公式:Mipiclock = [ (width+hsync+hfp+hbp) x (height+vsync+vfp+vb ...
-
高通移植mipi LCD的过程LK代码
lk部分:(实现LCD兼容) 1. 函数定位 aboot_init()来到target_display_init(): 这就是高通原生lk LCD 兼容的关键所在.至于你需要兼容多少LCD 就在whi ...
-
CSI-MIPI学习笔记
一.mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系 公式: Mipiclock = [ (width+hsync+hfp+hbp) x (height+vsync+vfp+vbp) ] x ...
-
msm8610 lcd driver code analysis
---恢复内容开始--- 1 lcd probe The probe sequence is determined by compilation sequence: mdss-mdp3-objs = ...
-
I2C和LCD信号干扰的解决:硬件工程师都硬不起来,让软件工程师硬着头上
DEMO4,LCD的clk干扰I2C,I2C无法通信. 把排针压下,去掉LCD的CLK,恢复正常. 过程: 直接跳线I2C,没问题.两排针插到一起就无法通信. 一个个的排针去除,最终找到LCD ...
-
sc7731 Android 5.1 LCD驱动简明笔记之一
基于展讯sc7731 - Android 5.1 代码分析浏览.将屏蔽细节,把握整体,并且不涉及其他设备和LCD的交互. 以下对sc7731 lcd大体流程进行简要说明. 第一,lcd 的两个阶段 1 ...
-
mipi 调试经验
转载自http://blog.csdn.net/g_salamander/article/details/9163455 以下是最近几个月在调试 MIPI DSI / CSI 的一些经验总结,因为协议 ...
-
mipi 调试经验(转)
以下是最近几个月在调试 MIPI DSI / CSI 的一些经验总结,因为协议有专门的文档,所以这里就记录一些常用知识点: 一.D-PHY 1.传输模式 LP(Low-Power) 模式:用于传输控制 ...
-
mipi 调试经验【转】
转自:http://blog.csdn.net/g_salamander/article/details/9163455 版权声明:本文为博主原创文章,未经博主允许不得转载. 以下是最近几个月在调试 ...
随机推荐
-
NSScanner知悉 (转)
http://blog.csdn.net/likendsl/article/details/7974761 NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的 ...
-
Maven提高篇系列之(四)——使用Profile
这是一个Maven提高篇的系列,包含有以下文章: Maven提高篇系列之(一)——多模块 vs 继承 Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例) ...
-
cordova
cordova 1.安装 nodejs => node -v2.安装 npm install -g cordova => cordova -v3.安装 jdk 环境变量:(系统变量) 新建 ...
-
工作流——activiti
1.导入依赖 <!-- activiti工作流 --> <dependency> <groupId>org.activiti</groupId> < ...
-
安装redis报错 you need tcl 8.5 or newer in order to run redis test
解决方法: wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz tar -zxvf tcl8.6.1-src.tar.gz -C ...
-
Linux守护进程管理利器——Supervisor
Supervisor是采用 Python(2.4+) 开发的,它是一个允许用户管理 基于 Unix 系统进程的 Client/Server 系统,提供了大量功能来实现对进程的管理.安装: yum in ...
-
hdu 1622 Trees on the level(二叉树的层次遍历)
题目链接:https://vjudge.net/contest/209862#problem/B 题目大意: Trees on the level Time Limit: 2000/1000 MS ( ...
-
全面理解Java内存模型(JMM)
理解Java内存区域与Java内存模型Java内存区域 Java虚拟机在运行程序时会把其自动管理的内存划分为以上几个区域,每个区域都有的用途以及创建销毁的时机,其中蓝色部分代表的是所有线程共享的数据区 ...
-
java反射对实体类取值和赋值,可以写成通过实体类获取其他元素的数据,很方便哦~~~
项目中需要过滤前面表单页面中传过来的实体类的中的String类型变量的前后空格过滤,由于前几天看过一个其他技术博客的的java反射讲解,非常受益.于是,哈哈哈 public static <T& ...
-
【REACT NATIVE 系列教程之十二】REACT NATIVE(JS/ES)与IOS(OBJECT-C)交互通信
http://blog.csdn.net/xiaominghimi/article/details/51586492 一用到跨平台的引擎必然要有引擎与各平台原生进行交互通信的需要.那么Himi先讲解R ...