【SI_Mipi D PHY 04】Mipi D PHY高速信号时序测试

目录

[1. Mipi D PHY Skew Calibration概述](#1. Mipi D PHY Skew Calibration概述)

[2. Mipi D PHY Skew Calibration工作原理](#2. Mipi D PHY Skew Calibration工作原理)

[3. 高速信号传输时序测试项目](#3. 高速信号传输时序测试项目)

[3.1. 时钟 HS 模式进入 / 退出时序](#3.1. 时钟 HS 模式进入 / 退出时序)

[3.1.1. Test 1.5.1 -- HS Entry: TCLK-PRE value](#3.1.1. Test 1.5.1 – HS Entry: TCLK-PRE value)

[3.1.2. Test 1.5.2 -- HS Exit: TCLK-POST value](#3.1.2. Test 1.5.2 – HS Exit: TCLK-POST value)

[3.2. 时钟与数据的关键对齐测试](#3.2. 时钟与数据的关键对齐测试)

[3.2.1. Test 1.5.3 -- HS Clock Rising Edge Alignment to First Payload Bit](#3.2.1. Test 1.5.3 – HS Clock Rising Edge Alignment to First Payload Bit)

[3.2.2. Test 1.5.4 -- Data-to-Clock Skew (TSKEWTX)](#3.2.2. Test 1.5.4 – Data-to-Clock Skew (TSKEW[TX]))

[3.3. 偏斜校准相关测试](#3.3. 偏斜校准相关测试)

[3.3.1. Test 1.5.5 -- Initial HS Skew Calibration Burst TSKEWCAL-SYNC and TSKEWCAL](#3.3.1. Test 1.5.5 – Initial HS Skew Calibration Burst TSKEWCAL-SYNC and TSKEWCAL)

[3.3.2. Test 1.5.6 -- Periodic HS Skew Calibration Burst TSKEWCAL-SYNC and TSKEWCAL](#3.3.2. Test 1.5.6 – Periodic HS Skew Calibration Burst TSKEWCAL-SYNC and TSKEWCAL)

[3.3.3. Test 1.5.8 Alternate calibration sequence T_ALTCAL-SYNC and T_ALTCAL](#3.3.3. Test 1.5.8 Alternate calibration sequence T_ALTCAL-SYNC and T_ALTCAL)

[3.4. 前导序列与空闲状态测试](#3.4. 前导序列与空闲状态测试)

[3.4.1. Test 1.5.9 Preamble sequence T_PREAMBLE and T_EXTSYNC](#3.4.1. Test 1.5.9 Preamble sequence T_PREAMBLE and T_EXTSYNC)

[3.4.2. Test 1.5.10 Clock and Data Lane TX HS-Idlw T_HS-IDLE-POST, T_HS-IDLE-CLKHS0, T_HS-IDLE-PRE](#3.4.2. Test 1.5.10 Clock and Data Lane TX HS-Idlw T_HS-IDLE-POST, T_HS-IDLE-CLKHS0, T_HS-IDLE-PRE)


1. Mipi D PHY Skew Calibration概述

适用模式:仅适用于前向时钟模式(Forwarded Clock Mode),不适用于嵌入式时钟模式。

触发条件:

  • 当数据速率 >1.5 Gbps 时,发送端(TX)必须发送特殊的去偏斜突发序列;

  • 当数据速率 ≤1.5 Gbps 时,初始去偏斜序列是可选的,但周期性去偏斜序列无论速率如何,都是可选的;

  • 当从 ULPS 切换到 HS 模式时,如果恢复的速率之前已经发送过初始去偏斜序列,则本次发送可以省略该序列;

校准序列的组成与作用:

部分 序列内容 发送通道 作用
A: HS 同步序列 11111111_11111111 时钟与数据通道 用于接收端同步,标记校准序列的开始
B: 训练数据 01010101 时钟与数据通道 接收端利用该序列,测量并补偿时钟与各数据通道之间的时序偏移(skew)

两种工作模式下的校准流程:

  1. LP Mode -- HS Mode(低功耗模式 → 高速模式)
  • 时钟和数据通道从 LP 模式的静态电平开始,经过 HS 同步序列和训练数据,再进入正常数据传输。
  1. ALP Mode -- HS Mode(主动低功耗模式 → 高速模式)
  • 与 LP 模式类似,但 ALP 模式下的通道状态切换略有不同,校准序列的发送方式保持不变。

2. Mipi D PHY Skew Calibration工作原理

Skew Calibration目的:在高速传输开始前,发送端(TX)会发送一个特殊的训练序列,让接收端(RX)测量并补偿时钟与各数据通道之间的时序偏移(skew),确保数据能被正确采样。

  1. 校准开始流程:
阶段 TX 侧动作 RX 侧动作
1. 进入启动状态 驱动总线为 LP-11(停止状态) 观察并确认总线处于停止状态
2. 请求进入高速 驱动 LP-01(HS-Rqst)状态,持续 T_LPx 观察总线从 LP-11 切换到 LP-01
3. 桥接阶段 驱动 LP-00(桥接)状态,持续 T_HS-PREPARE 观察总线切换到 LP-00,并在 T_D0_TERMEN 时间后启用终端匹配
4. 进入高速模式 同时开启高速驱动器、关闭低功耗驱动器 -
5. 发送同步前导 发送 HS-0 状态,持续 T_HS-ZERO 开启 HS 接收,并等待 T_HS-SETTLE 时间以稳定信号
6. 发送 Leader 序列 发送高速同步序列 11111111_11111111(从时钟上升沿开始) 开始搜索 Leader 序列
7. 同步锁定 - 识别到 Leader 序列 1111_1111 后完成同步
8. 发送训练数据 发送与时钟相同的数据 01010101 接收 01010101 数据,并进行时钟 / 数据偏斜校准
9. 校准完成 - 完成偏斜校准
  1. 校准结束流程:
阶段 TX 侧动作 RX 侧动作
1. 结束训练数据 完成 01010101 数据的发送 接收 01010101 数据
2. 切换并保持状态 在最后一个数据 bit 后立即切换差分状态,并保持 T_HS-TRAIL -
3. 退出高速模式 关闭 HS 驱动器,开启 LP 驱动器,驱动 LP-11 状态,持续 T_HS-EXIT 检测总线离开 LP-00 进入 LP-11,并禁用终端匹配
4. 忽略过渡效应 - 忽略最后 T_HS-SKEW 时间内的 bit,以隐藏切换效应
5. 准备下一次同步 - 检测最后一个有效数据 bit,跳过尾序列,开始搜索下一次 Leader 序列

3. 高速信号传输时序测试项目

3.1. 时钟 HS 模式进入 / 退出时序

3.1.1. Test 1.5.1 -- HS Entry: TCLK-PRE value

  1. 测试目的:

验证在数据通道从低功耗(LP)模式切换到高速(HS)模式之前,时钟通道提前发送高速时钟的持续时间。

  1. 测试参数定义:
  • 起点定义:时钟通道 T_CLK-ZERO 阶段结束的时刻,即差分时钟波形下降沿穿过 HS-RX 差分输入阈值(±70 mV)的时刻。

  • 终点定义:数据通道 V_DPLP-01 状态下降沿穿过 V_IL,MAX(550 mV)的时刻。

  • T_CLK-PRE 就是这两个时刻之间的时间差。

  1. 测试方法:
  • 接收端准备:让接收端的高速时钟恢复电路(CDR)有足够时间锁定时钟信号,为后续数据采样做好准备;

  • 时序对齐保障:确保数据通道进入 HS 模式时,接收端已经处于稳定的时钟同步状态,避免数据采样错误;

  1. 测试标准:
  • T_CLK-PRE ≥ 8 UI(例如当 UI = 1.4 ns 时,最小要求为 11.2 ns)
  1. 测试问题排查:
失败现象 常见原因 排查方向
T_CLK-PRE 小于 8 UI 发送端状态机中,时钟提前启动的时间配置过短 调整 PHY 寄存器,延长时钟在数据通道前启动的时间
测量起点 / 终点误判 信号噪声导致阈值检测不准确 优化电源和地设计,降低噪声;调整示波器触发电平,确保测量点稳定

3.1.2. Test 1.5.2 -- HS Exit: TCLK-POST value

  1. 测试目的:

验证在所有数据通道都已从高速(HS)模式切换回低功耗(LP)模式后,时钟通道继续发送高速时钟的持续时间。

  1. 测试参数定义:
  • 起点定义:数据通道 T_HS-TRAIL 阶段结束的时刻;

  • 终点定义:时钟通道 T_CLK-TRAIL 阶段开始的时刻;

  • T_CLK-POST 就是这两个时刻之间的时间差;

  1. 测试方法:
  • 接收端收尾保障:确保接收端在数据通道停止传输后,仍能接收到足够长时间的稳定时钟信号,以完成最后的数据锁存和状态清理;

  • 时序完整性验证:这个参数确保了时钟通道不会在数据通道之前过早关闭,避免因时钟提前消失导致数据丢失;

  1. 测试标准:
  • T_CLK-POST ≥ 60 ns + 52 UI(例如当 UI = 1.4 ns 时,最小要求为 60 ns + 52×1.4 ns = 132.8 ns)
  1. 测试问题排查:
失败现象 常见原因 排查方向
T_CLK-POST 小于 60 ns + 52 UI 发送端状态机中,时钟通道关闭的时间配置过早 调整 PHY 寄存器,延长时钟在数据通道关闭后的保持时间
测量起点 / 终点误判 信号噪声或状态机边界模糊导致时间点识别不准确 优化示波器触发设置,确保 T_HS-TRAILT_CLK-TRAIL 的边界清晰

3.2. 时钟与数据的关键对齐测试

3.2.1. Test 1.5.3 -- HS Clock Rising Edge Alignment to First Payload Bit

  1. 测试目的:

验证发送端的高速时钟与数据载荷信号是否正确对齐,确保接收端能可靠地采样到数据。

  1. 测试参数定义:
  • 数据识别:在数据通道中找到同步字节(Sync byte)之后的第一个 bit,这就是第一个有效载荷 bit。

  • 时钟识别:找到 DDR 时钟的上升沿。

  1. 测试方法:
  • 链路同步的基石:这是整个高速链路时序对齐的起点。如果第一个 bit 就与时钟错位,后续所有数据采样都可能出错,导致接收端无法解析数据。

  • DDR 模式的特殊要求:在 DDR(双倍数据率)模式下,数据在时钟的上升沿和下降沿都要传输,因此必须保证第一个数据 bit 与时钟上升沿严格对齐,才能建立起后续的采样时序基准。

  • 典型波形解读:图中波形显示了时钟(CLK D)和数据(DATA D)的差分信号,可以看到第一个数据 bit 的边沿与时钟上升沿是对齐的,因此这是一个合格的测试结果。

  1. 测试标准:
  • 对齐判定:软件会检查这两个事件的时序关系,如果第一个数据 bit 的起始时刻与时钟上升沿对齐,则判定为 "PASS"。
  1. 测试问题排查:
失败现象 常见原因 排查方向
数据 bit 与时钟上升沿错位 发送端的时钟 / 数据路径延迟不匹配,导致 skew 过大 调整 PHY 寄存器中的数据 / 时钟 skew 补偿参数,优化两者的路径延迟
同步字节识别错误 测试软件或接收端无法正确识别同步字节的边界 检查测试码型,确保同步字节的发送符合规范;调整示波器的触发和测量设置

3.2.2. Test 1.5.4 -- Data-to-Clock Skew (TSKEWTX)

  1. 测试目的:

验证发送端数据通道与时钟通道之间的时序偏斜,确保数据采样窗口有足够的裕量。

  1. 测试参数定义:

T_SKEW[TX] 是指数据发送时刻,相对于理想时钟边沿(½·UI_INST 偏移的正交时钟边沿)的允许偏差。

  1. 测试方法:
  • 数据采集:软件会捕获至少 10,000 个数据和时钟边沿事件。

  • 时序误差计算:对每个数据边沿,计算其与对应时钟边沿之间的时序误差。

  • 统计分析:记录所有时序误差的最大值、最小值和平均值。

  • 结果判定:最大偏差的绝对值必须小于 15% UI。

  1. 测试标准:
  • T_SKEWTX ≤ 15% × 单位间隔 (UI)
  1. 测试问题排查:
失败现象 常见原因 排查方向
偏斜超过 ±15% UI 发送端数据 / 时钟路径延迟不匹配 调整 PHY 寄存器中的 skew 补偿参数,或优化 PCB 布线,使数据和时钟路径长度匹配
偏斜分布不均 电源噪声或串扰导致数据 / 时钟边沿抖动 优化电源和地设计,减少噪声;检查 PCB 布线,避免数据和时钟线之间的串扰

3.3. 偏斜校准相关测试

3.3.1. Test 1.5.5 -- Initial HS Skew Calibration Burst TSKEWCAL-SYNC and TSKEWCAL

  1. 测试目的:

验证发送端是否发送了格式正确的初始高速偏斜校准突发序列,确保接收端能完成时钟 / 数据通道间的偏斜校准。

  1. 测试参数定义:

序列内容:0xFFFF(即 11111111_11111111

  1. 测试方法:
  • 偏斜校准的基础:这是接收端测量并补偿时钟与各数据通道间时序偏移的关键序列。0xFFFF 的同步模式用于接收端锁定,随后的 32768 UI 长数据序列则提供了足够多的边沿,让接收端能精确测量各通道间的 skew。

  • 链路初始化的必要步骤:对于高速率链路,初始偏斜校准是必须的,它直接决定了后续数据传输的可靠性。如果校准序列格式或时长不符合规范,接收端将无法完成校准,导致链路无法同步。

  1. 测试标准:
  • T_SKEWCAL-SYNC(同步模式持续时间)限值:16 ± 0.25 UI;
  • T_SKEWCAL(校准载荷持续时间)限值:至少 32768 UI(即 2^15 UI);
  1. 测试问题排查:
失败现象 常见原因 排查方向
T_SKEWCAL-SYNC 不在 16±0.25 UI 范围内 发送端同步序列长度配置错误 调整 PHY 寄存器,确保同步序列为 16 UI
T_SKEWCAL 短于 32768 UI 校准序列的载荷长度不足 检查发送端配置,确保发送完整的 2^15 UI 校准数据

3.3.2. Test 1.5.6 -- Periodic HS Skew Calibration Burst TSKEWCAL-SYNC and TSKEWCAL

  1. 测试目的:

验证发送端是否周期性发送格式正确的高速偏斜校准突发序列,用于补偿链路运行过程中因温度、电压变化导致的时序漂移。

  1. 测试参数定义:

序列内容:0xFFFF(即 11111111_11111111

  1. 测试方法:
  • 动态时序补偿:周期性校准序列用于在链路工作过程中,定期刷新接收端的时钟 / 数据偏斜补偿值,抵消环境变化带来的时序漂移,保证长期传输的稳定性。

  • 与初始校准的区别:

    • 初始校准:序列更长(32768 UI),用于链路启动时的首次偏斜测量。

    • 周期性校准:序列更短(4096 UI),用于链路运行中的定期补偿,兼顾精度和传输效率。

  1. 测试标准:
  • T_SKEWCAL-SYNC(同步模式持续时间)限值:16 ± 0.25 UI;
  • T_SKEWCAL(校准载荷持续时间)限值:至少 4096 UI(即 2^12 UI);
  1. 测试问题排查:
失败现象 常见原因 排查方向
T_SKEWCAL-SYNC 不在 16±0.25 UI 范围内 发送端同步序列长度配置错误 调整 PHY 寄存器,确保同步序列为 16 UI
T_SKEWCAL 短于 4096 UI 周期性校准序列的载荷长度不足 检查发送端配置,确保发送完整的 2^12 UI 校准数据

3.3.3. Test 1.5.8 Alternate calibration sequence T_ALTCAL-SYNC and T_ALTCAL

  1. 测试目的:

验证发送端发送的备用校准序列是否符合规范。当标准 HS 同步序列(HS-SYNC)未被检测到时,接收端会尝试识别此备用序列,以完成偏斜校准。

  1. 测试参数定义:

序列内容:必须包含 0xF0 模式(即 11110000 或其等效的重复模式)。

  1. 测试方法:
  • 链路同步的 "备用方案":备用校准序列是标准偏斜校准序列的补充,当链路环境恶劣导致标准同步序列丢失时,它提供了一种备选的同步方式,提升了链路的鲁棒性。

  • 测试逻辑:软件在捕获到的高速突发中,如果未检测到标准 HS-SYNC,就会搜索由 ALTCAL-SYNCALTCAL 组成的备用序列,并测量其参数是否符合规范。

  1. 测试标准:
  • T_ALTCAL(校准载荷持续时间)限值:范围从 32768 UI(即 2^15 UI)到 100 µs
  1. 测试问题排查:
失败现象 常见原因 排查方向
T_ALTCAL-SYNC 不包含 0xF0 模式 发送端备用同步序列配置错误 调整 PHY 寄存器,确保备用同步序列为 0xF0 模式
T_ALTCAL 不在 32768 UI ~ 100 µs 范围内 备用校准序列的载荷长度配置错误 检查发送端配置,确保载荷长度在规定范围内

3.4. 前导序列与空闲状态测试

3.4.1. Test 1.5.9 Preamble sequence T_PREAMBLE and T_EXTSYNC

  1. 测试目的:

验证发送端发送的前导序列格式是否有效,用于接收端的时钟恢复和同步锁定。

  1. 测试参数定义:

当标准 HS 同步序列(HS-SYNC)未被检测到时,接收端会尝试识别此前导序列,并测量其参数。

  1. 测试方法:
  • 接收端同步的 "敲门砖":前导序列是接收端在数据传输开始前,用于锁定时钟相位和频率的关键序列。它为后续的偏斜校准和数据采样提供了稳定的时序基准。

  • 鲁棒性保障:作为标准同步序列的补充,它提升了链路在恶劣环境下的同步能力,确保即使标准序列丢失,接收端也能尝试从前导序列中恢复同步。

  1. 测试标准:
  • T_EXTSYNC(扩展同步模式持续时间)限值:8 ± 0.25 UI;

  • T_PREAMBLE(前导载荷持续时间)限值:必须等于程序设定的值,可选 32 UI64 UI512 UI;

  1. 测试问题排查:
失败现象 常见原因 排查方向
T_EXTSYNC 不在 8 ± 0.25 UI 范围内 发送端扩展同步模式长度配置错误 调整 PHY 寄存器,确保扩展同步模式为 8 UI
T_PREAMBLE 与设定值不符 前导序列的载荷长度配置错误 检查发送端配置,确保载荷长度为设定的 32/64/512 UI

3.4.2. Test 1.5.10 Clock and Data Lane TX HS-Idlw T_HS-IDLE-POST, T_HS-IDLE-CLKHS0, T_HS-IDLE-PRE

  1. 测试目的:

验证发送端在高速传输之间的空闲状态时序是否符合规范,确保链路在数据突发之间能稳定地进入和退出空闲状态。

  1. 测试参数定义:

软件会在数据通道中寻找长时间空闲状态后的 HS-SYNC 序列,以此来识别并测量 HS-Idle 状态的相关参数。

  1. 测试方法:
  • 链路稳定性的保障:HS-Idle 状态是高速数据突发之间的 "安全间隔",它为接收端提供了足够的时间来处理上一次传输的收尾工作,并为下一次传输做好准备。如果空闲时序不满足规范,可能会导致接收端无法正确识别后续的 HS-SYNC 序列,造成同步丢失。

  • 模式切换的关键:该状态是链路从 HS 模式进入空闲,再从空闲回到 HS 模式的桥梁,其参数直接影响模式切换的鲁棒性。

  1. 测试标准:
  • T_HS-IDLE-POST(HS-Idle 后状态持续时间)限值:n*8 UI ≤ T_HS-IDLE-POST ≤ 512 UI

  • T_HS-IDLE-CLKHS0(时钟 HS0 状态持续时间)限值:60 ns ≤ T_HS-IDLE-CLKHS0 ≤ 500 ns

  • T_HS-IDLE-PRE + T_HS-ZERO(HS-Idle 前状态与 HS-ZERO 之和)限值:T_HS-IDLE-PRE + T_HS-ZERO > 4 UI + 60 ns + n*8 UI

  1. 测试问题排查:
失败现象 常见原因 排查方向
T_HS-IDLE-POST 超出范围 发送端 HS-Idle 后状态的持续时间配置错误 调整 PHY 寄存器,确保该参数在 n*8 UI512 UI 之间
T_HS-IDLE-CLKHS0 不在 60~500 ns 范围内 时钟在空闲状态下保持 HS0 电平的时间配置错误 检查时钟路径的驱动配置,调整 HS0 状态的持续时间
T_HS-IDLE-PRE + T_HS-ZERO 不满足条件 HS-Idle 前状态或 HS-ZERO 的持续时间配置过短 调整 PHY 寄存器,增加 T_HS-IDLE-PRET_HS-ZERO 的值
相关推荐
洞察物理世界7 天前
【SI_Mipi D PHY 01】快速浅入了解Mipi D PHY协议
mipi·d phy
坐忘行10 天前
MIPI RFFE(射频前端控制接口)浅析
智能手机·射频工程·mipi·rffe
巨大八爪鱼1 个月前
瑞芯微RV1106通过MIPI CSI-2 D-PHY接口驱动OV5640摄像头并拍摄照片
linux·ov5640·mipi·v4l2·csi2-dphy
【ql君】qlexcel1 个月前
MIPI简介,DSI、CSI
摄像头·csi·mipi·屏幕·dsi
Geektec4 个月前
MIPI DPHY各个版本的差异
csi·mipi·dphy
坏孩子的诺亚方舟5 个月前
MIPI_CSI23_MIPI DPHY
mipi·dphy
来鸟 鸣间6 个月前
MIPI D-PHY 理解
linux·音视频·sensor·mipi
码灵6 个月前
HDMI和MIPI区别
hdmi·mipi
brave and determined7 个月前
接口通讯学习(day05):智能手机的内部高速公路:揭秘MIPI CSI与DSI技术
学习·智能手机·软件工程·制造·csi·mipi·dsi