当前位置: 首页 > news >正文

MIPI DSI(三) MIPI DSI 物理层和 D-PHY

        MIPI DSI 的物理层也叫 PHY 层,前面说了 MIPI C-PHYD-PHY 等,只是在 MIPI
DSI 领域 D-PHY 用的最多,所以这里可以简单的认为 MIPI DSI 物理层说的就是 D-PHY,本
文后面统一用 D-PHY 来表示 MIPI DSI 的物理层。
        D-PHY 是一个源同步、高速、低功耗、低开销的 PHY,特别适合移动领域。D-PHY 主要
用于主处理器的摄像头和显示器外设,比如 MIPI 摄像头和屏幕。D-PHY 提供了一个同步通信
接口来连接主机和外设,在实际使用中提供一对时钟线以及一对或多对信号线。时钟线是单向
的,由主控产生,发送给设备。数据线根据实际配置,可以有 1~4 Lane,只有 Data0 这一组数
据线可以是单向也可以是双向的,其他组的数据线都是单向的。
        数据链路分为 High-Speed 模式和 Low-Power 模式,也就是常说的 HS LPHS 模式用
来传输高速数据,比如屏幕像素数据。LP 模式用来传输低速的异步信号,一般是配置指令,
屏幕的配置参数就是用 LP 模式传输的。HS 模式下每个数据通道速率为 80~1500Mbps,如果
使用 deskew 校准,可以到 2500Mbps,最新版本的 D-PHY 支持的速率更高!LP 模式下最高
10Mbps
什么是 Lane
        我们前面已经提了很多次“Lane”这个词,英文直译过来就是:航道、跑道。在这里就是
在主控与外设直接传输数据的通道,MIPI DSI 包括一个时钟 Lane 和多个数据 Lane,每条
Lane 使用 2 根差分线来连接主控和外设。收发端都有对应的 Lane 模块来处理相关的数据,一
个完整的 Lane 模块如图所示:
                                                        通用的 Lane 模块
        从上图可以看出,一个通用的 Lane 模块,包括一个高速收发器和一个低速收发器, 其中高速收发器有 HS-TXHS-RX,低速收发器有 LP-RX LP-TX,以及一个低速竞争检测 器 LP-CD。实际的 Lane 模块是在上图中简化而来的,比如对于高速单向数据通道,可能 只有 HS-TX 或者 HS-RX
D-PHY 信号电平
        Lane 分为 HS LP 两种模式,其中 HS 采用低压差分信号,传输速度高,但是功耗大,
信号电压幅度 100mv~300mV,中心电平 200mVLP 模式下采用采用单端驱动,功耗小,速
率低(<10Mbps),信号电压幅度 0~1.2V。在 LP 模式下只使用 Lane0(也就是数据通道 0),不需
要时钟信号,通信过程的时钟信号通过 Lane0 两个差分线异或得到,而且是双向通信。HS 和
LP 模式下的信号电平如下图所示
                                                        HS 和 LP 模式信号电平
        图中蓝色实线是 LP 模式下的信号波形示例,电压为 0~1.2V。绿色虚线是 LP 模式下信号
的高低电平门限。红色实线是 HS 模式下的信号波形示例,中心电平 200mV
通道状态
        上面说了 HS 模式下是单向差分信号,主控发送(HS_TX),外设接收(HS_RX)。而 LP
双向单端信号,接收和发送端都有 LP_TX LP_RX,注意只有 Lane0 能做 LP
        由于 HS 采用差分信号,所以只有两种状态:
        HS-0:高速模式下 Dp 信号低电平,Dn 信号高电平的时候。
        HS-1:高速模式下 Dp 信号高电平,Dn 信号低电平的时候。
        LP 模式下有两根独立的信号线驱动,所以有 4 个状态:
        LP-00:后面的“00”对应两根信号线的电平状态,第 1 0 表示 Dp 为低电平,第 2
0 表示 Dn 为低电平。如果是高电平,那么就为 1。因此 LP 模式剩下的三个状态就是 LP-01
LP-10 LP-11
        这 6 种状态对应的功能如图所示:
                                                                6 种状态切换
        通过这 6 个状态的转换,D-PHY 就能工作在不同的工作模式。
数据 Lane 三种工作模式
        D-PHY 协议规定了,通过 Lane 的不同状态转换有三种工作模式:控制模式、高速模式和
Escape 模式。控制模式和 Escape 模式都属于 LP,高速模式属于 HS。正常情况下,数据 Lane
工作在控制模式或者高速模式下,
1、高速模式
        高速模式用于传输实际的屏幕像素数据,采用突发(Bursts)传输方式。为了帮助接收端同
步,需要在数据头尾添加一些序列,接收端在接收到数据以后要把头尾去掉。高速数据传输起
始于 STOP 状态(LP-11),并且也中终于 STOP 状态(LP-11)。在高速模式下传输数据的时候始
Lane 也工作与 HS 模式,提供 DDR 时钟,也就是双边沿时钟,在时钟频率不变的情况下,
传输速率提高一倍,这样可以有效利用带宽。
        当数据传输请求发出以后,数据 Lane 退出 STOP 模式进入到高速模式,顺序是:LP-11
LP-01LP-00。然后发出一个 SOT 序列(Start-of-Transmission)SOT 后面跟着的就是实际的负
载数据。当负载数据传输结束以后会紧跟一个 EOT 序列(End-of-Transmission)序列,数据线直
接进入到 STOP 模式。下图是一个基础的高速传输结构示意图:
                                                基础的高速数据传说结构体
        上图只是展示了一条 Lane,负载数据前面是一个 SoT,传输完成以后紧跟一个
EoT,中间就是实际的负载数据。
        一个完整的高速模式数据传输时序如下图所示:
                                                                高速数据传输时序
        图中左侧蓝色部分是进入 HS 模式,要从 LP-11→LP01→LP-00,然后数据线进入到 HS 模式,也就是中间红色部分,传输实际的数据。传输完成以后重新进入到 LP-11(STOP)模式,也就是右边的蓝色部分。
2Escape 模式
        Escape 是运行在 LP 状态下的一个特殊模式,在此模式下可以实现一些特殊的功能,我们
给屏幕发送配置信息就需要运行在 Escape 模式下。数据线进入 Escape 模式的方式为:LP-11
LP-10LP-00LP-01LP-00。退出 Escape 模式的方式为:LP-00LP-10LP-11,也就是
最后会进入到 STOP 模式,进入和退出 Escape 模式的时序如下图所示:
                                                        Escape 模式进入和退出
        对于数据 Lanes,进入 Escape 模式以后,应该紧接着发送一个 8bit 的命令来表示接下来要
做的操作,命令如图所示:
                                                                Escape 模式命令
        从上图可以看出,有三个可选的命令:LPDT(Low-Power Data Transmission)、 ULPS(Ultra-Low Power State)和 Remote-Trigger(这里没有写错,因为这个命令大部分做复位操 作,所以有些资料将这个命令也叫做 Remote-Trigger)
        1)、LPDT 命令
        图中第一个就是 LPDT 命令,命令序列为 11100001,注意低 bit 先发送,所以对
应的十六进制就是 0X87(0X10000111)LPDT 直译过来就是低功耗数据传输,我们在初始化
MIPI 屏幕的时候发送的初始化序列就需要用 LPDT 命令,后面会给大家看逻辑分析仪采集到
的实际数据。LPDT 命令序列后面紧跟着就是要发送的数据,分为长包和短包两种,长短包结
构后面会详细讲解。
        2)、ULPS 命令
        ULPS 命令是让 Lane 进入超低功耗模式。
        3)、Remote-Trigger 命令
        注意,这里大家可能会疑惑,有的资料叫做 Remote-Trigger,有的叫做 Reset-Trigger,其
实都是一个东西。因为本质是 Remote Application,但是做的是 Reset 的工作,所以就产生了
两种叫法,目前此命令就是用于远程复位。
        Escape 模式下发送这三个命令的时序图如图所示:
                                                        Escape 模式下各命令时序图
http://www.dtcms.com/a/278856.html

相关文章:

  • 《大数据技术原理与应用》实验报告三 熟悉HBase常用操作
  • 现代数据平台能力地图:如何构建未来数据平台的核心能力体系
  • 为什么ER-GNSS/MINS-01能重新定义高精度导航?
  • vscode 源码编译
  • 创客匠人:创始人 IP 打造的系统化思维,是知识变现的底层逻辑
  • 【图像处理基石】什么是色盲仿真技术?
  • VUE export import
  • JS基础快速入门(详细版)
  • 【InnoDB磁盘结构3】撤销表空间,Undo日志
  • 力扣 30 天 JavaScript 挑战 第一题笔记
  • 智慧教育平台电子教材下载器:暑期超车,一键获取全版本教材,打造高效学习新体验
  • Git LFS 操作处理Github上传大文件操作记录
  • 终端安全最佳实践
  • sshpass原理详解及自动化运维实践
  • Docker Desktop 挂载本地Win系统配置指南:Redis/MySQL/RabbitMQ持久化与自启设置
  • Kmeams聚类算法详解
  • CSS手写题
  • 精密模具冷却孔内轮廓检测方法探究 —— 激光频率梳 3D 轮廓检测
  • Redis单线程详解
  • H2 与高斯数据库兼容性解决方案:虚拟表与类型处理
  • Ai问答之空间站星等
  • MMKV 存储json list数据(kotlin)
  • Spring Boot 设置滚动日志logback
  • RocketMq部署模式简介
  • 高斯代数基本定理的一种证明
  • 【论文阅读】Thinkless: LLM Learns When to Think
  • Foundry 私钥管理指南:方法与安全最佳实践
  • 《大数据技术原理与应用》实验报告一 熟悉常用的Linux操作和Hadoop操作
  • PHP password_hash() 函数
  • Fiddler——抓取https接口配置