液晶OLED接口MIPI之DSI协议学习

news2024/11/18 13:50:57

文章目录

    • 一、概念介绍
        • MIPI----MIPI联盟发起的为移动应用处理器制定的开放标准
        • MIPI-DSI---Display Serial Interface 2定义了处理器和显示模组之间的高速串行接口
        • DCS---Display Command Set 显示命令集合(MIPI-DSI的command模式使用通用标准命令)
        • DSC---Display Stream Compression Vesa定义的视觉无损压缩标准
        • DSI物理传输层Dphy和Cphy选择---Dphy应用更广,Cphy速率更高但更复杂
        • DSI基本传输方式command和video模式选择---command功耗更低更常用
        • HS高速传输模式 与 LP低速传输模式 介绍---高速模式 频率高 功耗高
    • 二、MIPI-DSI2 协议分析
        • DSI协议四层划分---应用层、协议层、lane管理层、物理传输层
        • 协议层介绍---长包短包格式介绍 与包DataType介绍
        • Lane管理层介绍---lane分发组合 与 lane的传输速率计算
    • 三、DCS显示命令集合分析
        • 整体DCS命令集合介绍
        • 关键DCS命令分析(待整理)
    • 参考资料

一、概念介绍

MIPI----MIPI联盟发起的为移动应用处理器制定的开放标准

MIPI:是Mobile Industry Processor Interface(移动行业处理器接口)缩写,是MIPI联盟发起的为移动应用处理器制定的开放标准。
官网https://www.mipi.org/;主要涉及领域:物理层如 C-Phy/D-phy,应用层 如 摄像头接口CSI、显示接口DSI等;
在这里插入图片描述

MIPI-DSI—Display Serial Interface 2定义了处理器和显示模组之间的高速串行接口

DSI-Display Serial Interface 2是MIPI联盟关于处理器和显示模组之间的高速串行接口定义。(相对应还有 CSI 处理器和摄像模组之间的高速串行接口)。兼容DPI(显示像素接口,Display Pixel Interface)、DBI(显示总线接口,Display Bus Interface)和DCS(显示命令集,Display Command Set),以串行的方式发送像素信息或指令给外设,而且从外设中读取状态信息或像素信息,而且在传输的过程中享有自己独立的通信协议,包括数据包格式和纠错检错机制

DCS—Display Command Set 显示命令集合(MIPI-DSI的command模式使用通用标准命令)

DCS-Display Command Set是给DSI的command模式下使用的一套标准命令集合,用一个字节描述命令类型比如待机或者设置亮度,可能有追加参数如亮度值。DCS常在MIPI传输过程通过短包发送,data type为0x5(无参数)或者0x15(有一个参数),比如上电过程用到的sleepout-0x11、displayon-0x29。显示设备(如LCD)厂商可以选择性地部分(或全部)实现DCS文档中规定的命令。

DSC—Display Stream Compression Vesa定义的视觉无损压缩标准

DSC主要目的是通过保持高分辨率和帧率的情况下压缩减少传输带宽,在HDMI、MIIPI、DisplayPort等接口上广泛使用。

DSI物理传输层Dphy和Cphy选择—Dphy应用更广,Cphy速率更高但更复杂

Dphy和Cphy属于底层链路实习,DSI视频底层都可以选择。一般情况Dphy是4对lane加一对时钟CLK,Cphy是3对lane;Cphy没有同步时钟,时钟是嵌入到数据中的,有更高的传输速率,相应的物理结构必dphy会更复杂;

DSI基本传输方式command和video模式选择—command功耗更低更常用

DSI兼容的外设支持Command或Video操作模式。
Video模式是指从主机传输到外设采用时实象素,这种模式只能以高速传输,可以简单理解为主机无论内容是否变化都一直在周期性发送帧数据,类似传统LCD屏幕。为减少复杂性和节约成本,只采用Video模式的系统可能只有一个单向数据路径。
Comand模式下,所有命令和帧数据都被视为一个一个命令包,有需要才发送,此时显示屏内部是包含一帧缓存的,主机当内容有变化才从高速发送帧数据包(通常是压缩的),普通命令可以走低速通道发送短包。如果主机没有发送,屏端则一直显示自己缓存帧,command模式下,可以做到更多低功耗功能。

HS高速传输模式 与 LP低速传输模式 介绍—高速模式 频率高 功耗高

D-PHY协议物理层中,主机端和从属端之间采用的是同步连接,时钟通道用于传送高速时钟,一个或多个数据通道用于传送低功耗数据信号或高速数据信号。每一个通道都是利用两根互连线实现主机端和从属端的连接,并且支持高速HS模式和低速LP模式。
高速模式下,发送端同时驱动该通道仅有的两根互连线,输出低摆幅差分信号,例如200mV,每个lane可以到1Ghz/S低速模式下,发送端分别驱动互连线,各自输出单端信号,但摆幅相对较大,例如1.2V,速率一般在10M或者20M以内
一般情况下,显示帧内容或者某些特定长包走高速,普通短包走低速。(注意 不是限制点,也可以低速传显示内容,但是这样发送时间过长不能保证显示效果。也可以短包走高速,但这样功耗就相对更高)
在这里插入图片描述
高速和低速切换流程举例如下,LPS低速模式下 发送一个Sot序列(通知即将进入高速模式),然后就在高速下发送两个短包SP,然后发送Eot(通知要退出高速模式)。Sot和Eot是成对出现,中间可以连续发多个包。
在这里插入图片描述

二、MIPI-DSI2 协议分析

DSI协议四层划分—应用层、协议层、lane管理层、物理传输层

DSI主要分4个层次:1)应用层负责对显示流格式进行编码;2)Lowlevel协议层 进行数据打包和ECC校验计算;3)lane management:根据设备的lane(差分对)数量,对数据进行分发;4)物理Phy传输层:通过Cphy或者Dphy进行传输;
在这里插入图片描述

协议层介绍—长包短包格式介绍 与包DataType介绍

信息传送采用数据包格式,发送数据的时候,将数据按照信息类型及内容进行压包,完成ECC码的生成和 CRC码的添加。 接收数据的时候,依据ECC码和CRC码就整个数据包进行检错纠错,完成对包头和数据内容的译码并合理输送到应用层中。
DSI定义分短数据包(short packet)和长数据包(long packet)。长数据包主要用用于传输大量图象数据或部分控制命令。长数据包长度为6 ~ 65541字节,包括4byte数据包头、0~65535byte有效数据、2byte数据包尾。短数据包长度为4byte,只有数据包头。
如Dphy长包和短包传输格式如下:
在这里插入图片描述
上图中的DataId中会放DataType,标识长短包的传输类型。其中最常用的如下几个:
0x5 无参数短包(一般sleepout11、displayon29都是用0x5短包);0x15 带一个参数短包0x39长包 (其中传输数据帧 按行传,一般第一行是2C加数据,后续行是3C加数据):
在这里插入图片描述

Lane管理层介绍—lane分发组合 与 lane的传输速率计算

主机的lane manage层负责把协议层的数据分发到每个lane通道上,发送时的通道分配关系如下图所示。需要指出的是,每个通道不一定是同时传输完成的。相反的,从机的通道管理层负责把物理层送上来的数据组合好。下图为Dphy的lane距离
在这里插入图片描述
每条lane收到数据后传输类似如下:
在这里插入图片描述

三、DCS显示命令集合分析

DCS是给DSI的command模式下使用的一套标准命令集合,用一个字节描述命令类型比如待机或者设置亮度,可能有追加参数如亮度值。

整体DCS命令集合介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关键DCS命令分析(待整理)

参考资料

官网:https://www.mipi.org/specifications/dsi-2
mipi_DSI-2_specificationv2-0在线查看:https://www.doc88.com/p-06616178888550.html
MIPI_DCS_Specificationv1.01.00在线查看:http://files.chinaaet.com/files/blog/2019/20171113/1000019445-6364619057348172968045385.pdf
Dphy和Cphy差异:https://blog.csdn.net/yangchao315/article/details/123532960

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/111197.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

字符串函数剖析(3)---strstr函数

1.strstr函数的巧妙 – 查找子字符串 1.1模拟实现strstr函数 strstr函数:在一个字符串中查找子串 学习新函数时,先去c库查找该函数的相关资料,更加助于你的学习 const char * strstr ( const char * str1, const char * str2 );先看函数的…

测开工具:spring boot 实现同步数据库表结构(持续更新)

一、使用场景 一个项目,有多套开发环境。有一套标准的数据库,不同的开发环境,有各自的一套数据库。 标准数据库的表结构经常发生变化,不同的开发环境中的数据库,需要与标准数据库的表结构保持一致。当标准数据库表结…

HNU编译原理实验一cminus_compiler-2022-fall

前言:实验不是很难,主要考察正则表达式部分 lab1实验报告实验要求 根据cminux-f的词法补全lexical_analyer.l文件,完成词法分析器,能够输出识别出的token,type ,line(刚出现的行数),pos_start(该行开始位置…

[机缘参悟-95] :不同人生、社会问题的本质

事情的本质是物极必反(轮回、周期) 社会的本质是优胜劣汰(迭代、发展) 道德的本质是伦理秩序(未定、秩序) 战争的本质是资源占用(弱肉、强食) 商业的本质是价值交换 金钱的本质…

基于JAVA SpringBoot+ JWT+Redis的ERP系统,VUE+Element-UI 前后端分离的Saas平台

项目简介 简云Saas平台 基于SpringBoot2.2.0, Mybatis, JWT, Redis, VUEElement-UI 的前后端分离的Saas平台管理系统 在线报表开发 在线表单设计 工作流设计 自定义打印模板定义 **产品分二个版本: 开源版本(包含了系统基础架构在线表单设计). 此版本代码完全开源ERP版本…

Flink-基本的合流操作

文章目录1.基本的合流操作2.1联合(Union)2.2 连接(Connect)2.基于时间的合流——双流联结(Join)2.1 窗口联结(Window Join)2.2 间隔联结(Interval Join)2.3 窗…

《面向对象分析与设计》总结

面向对象的软件工程1 面向对象的演化1.1 生活中复杂系统的特点1.2 软件系统的复杂性1.2.1 复杂性的四个方面1.2.1.1 问题域的复杂性1.2.1.2 管理开发的困难性1.2.1.3 软件中的灵活性1.2.1.4 描述离散系统行为1.2.2 复杂系统的五个属性1.2.2.1 层次结构1.2.2.1.1 对象结构1.2.2.…

数据分析神器:数据自动录入并生成BI报表

做报表、分析数据、做汇报是许多打工人的日常,每天都要耗费不少的时间用Excel来整理、清洗数据和生成好看的报表。如果这些数据都是手动整理、复制粘贴的话,不仅费时费力,而且很容易出错。 在越来越多企业采用SaaS产品和不同数据应用的今天&…

来看一个vue-element-表单之登录页面,最后送上一个登录页面

vue-element 表单之登录页面使用 0. 先留下属性表格 表单验证:Form 组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则,并将 Form-Item 的 prop 属性设置为需校验的字段名即可。 1. 表单属性表(el-form) 2. 表单项属性表…

php工作流引擎再发新版本—Tpflow7.0重磅发布

2022年已接近尾声,又到了每年发布大版本的时候,Tpflow历经一个多月的意见征集及版本优化,从底层改进,从UI调整,增强了事件功能。 发布日期:2022年12月23日 发布版号:V7.0.0 Tpflow 工作流引擎…

短视频引流+私域流量沉淀,一个全新的短视频和链动模式结合方案

在微盟企微助手微盟智慧零售团队的协助下,今年7月底么么茶正式开始运营企微私域,截至当前,在短短3个月时间已成功沉淀7万私域客户,线上商城GMV超145万。 么么茶旅拍的核心流量来源自公域短视频平台,品牌基于服务覆盖下…

OB0206 obsidian 表格编辑插件:advanced Tables插件使用

序号解读: 01——软件基础使用、基础语法 02——插件使用 03——综合实战 0 写在前面 Ob社区插件汇总:Airtable - OB社区插件汇总 - Johnny整理 - 每周更新 - B站 Johnny学Explore the "OB社区插件汇总 - Johnny整理 - 每周更新 - B站 Johnny学&qu…

执行操作后的变量值,我的题解首次优于官方

2011. 执行操作后的变量值 难度简单46 存在一种仅支持 4 种操作和 1 个变量 X 的编程语言: X 和 X 使变量 X 的值 加 1--X 和 X-- 使变量 X 的值 减 1 最初,X 的值是 0 给你一个字符串数组 operations ,这是由操作组成的一个列表&#xf…

求N阶矩阵的幂(一维,二维多种方法)

引用:对于矩阵的计算想必都是一件很头疼的事情吧,因为计算量是比较大,因为你要用前一个矩阵的行乘以后矩阵的列且对应相加才得到新矩阵的第一个元素,且两个矩阵可以相乘的条件也是前一个矩阵的列等于后一个矩阵的行,操…

Simulink代码生成: Switch模块及其代码

本文描述Switch模块的建模并研究生成的代码。 文章目录1 Simulink中的Switch模块2 Switch模块建模及代码生成3 Switch模块其他用法3.1 多重Switch3.2 通过标定量Switch4 总结1 Simulink中的Switch模块 在Simulink中Switch模块时非常常见的,通常用于根据一定地条件选…

Python学习笔记(十九)——Matplotlib入门上

目录 Matplotlib简介 导入matplotlib模块 图的参数说明 matplotlib图像组成部分介绍 matplotlib绘图步骤分析 matplotlib实现简单图像 matplotlib画布 画布-plt.figure() 实例 同一画布制作多张图像 创建多个子图 实例 plt.subplots 相关参数 调整subplot周围的间距…

使用HGS算法调整PD控制器增益的无人机动态性能数据——基于启发式的无人机路径跟踪优化(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

【Sentinel 预热加载】

系列文章目录 Sentinel 预热加载 目录 系列文章目录 前言 一、概念解释? 二、使用步骤 1.引入库 2.dashboard 配置 总结 前言 一、概念解释? Warm Up:根据coldFactor(冷加载因子,默认3)的值,从…

有了 HTTP,为什么还要 RPC?

RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要更胜一筹啦!下面来具体说一说RPC服务和HTTP服务。 OSI网络七层模型 在说RPC和…

Android HIDL和hwservicemanager

HIDL软件包 HIDL 接口软件包位于 hardware/interfaces 或 vendor/ 目录下(个别情况除外)。顶层 hardware/interfaces 会直接映射到 android.hardware 软件包命名空间;版本是软件包(而不是接口)命名空间下的子目录。 h…