目录
[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) |
两种工作模式下的校准流程:
- LP Mode -- HS Mode(低功耗模式 → 高速模式)
- 时钟和数据通道从 LP 模式的静态电平开始,经过 HS 同步序列和训练数据,再进入正常数据传输。

- ALP Mode -- HS Mode(主动低功耗模式 → 高速模式)
- 与 LP 模式类似,但 ALP 模式下的通道状态切换略有不同,校准序列的发送方式保持不变。

2. Mipi D PHY Skew Calibration工作原理
Skew Calibration目的:在高速传输开始前,发送端(TX)会发送一个特殊的训练序列,让接收端(RX)测量并补偿时钟与各数据通道之间的时序偏移(skew),确保数据能被正确采样。
- 校准开始流程:
| 阶段 | 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. 校准完成 | - | 完成偏斜校准 |
- 校准结束流程:
| 阶段 | 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
- 测试目的:
验证在数据通道从低功耗(LP)模式切换到高速(HS)模式之前,时钟通道提前发送高速时钟的持续时间。
- 测试参数定义:
-
起点定义:时钟通道
T_CLK-ZERO阶段结束的时刻,即差分时钟波形下降沿穿过 HS-RX 差分输入阈值(±70 mV)的时刻。 -
终点定义:数据通道
V_DP的LP-01状态下降沿穿过V_IL,MAX(550 mV)的时刻。 -
T_CLK-PRE就是这两个时刻之间的时间差。

- 测试方法:
-
接收端准备:让接收端的高速时钟恢复电路(CDR)有足够时间锁定时钟信号,为后续数据采样做好准备;
-
时序对齐保障:确保数据通道进入 HS 模式时,接收端已经处于稳定的时钟同步状态,避免数据采样错误;
- 测试标准:
T_CLK-PRE ≥ 8 UI(例如当 UI = 1.4 ns 时,最小要求为 11.2 ns)
- 测试问题排查:
| 失败现象 | 常见原因 | 排查方向 |
|---|---|---|
T_CLK-PRE 小于 8 UI |
发送端状态机中,时钟提前启动的时间配置过短 | 调整 PHY 寄存器,延长时钟在数据通道前启动的时间 |
| 测量起点 / 终点误判 | 信号噪声导致阈值检测不准确 | 优化电源和地设计,降低噪声;调整示波器触发电平,确保测量点稳定 |
3.1.2. Test 1.5.2 -- HS Exit: TCLK-POST value
- 测试目的:
验证在所有数据通道都已从高速(HS)模式切换回低功耗(LP)模式后,时钟通道继续发送高速时钟的持续时间。
- 测试参数定义:
-
起点定义:数据通道
T_HS-TRAIL阶段结束的时刻; -
终点定义:时钟通道
T_CLK-TRAIL阶段开始的时刻; -
T_CLK-POST就是这两个时刻之间的时间差;

- 测试方法:
-
接收端收尾保障:确保接收端在数据通道停止传输后,仍能接收到足够长时间的稳定时钟信号,以完成最后的数据锁存和状态清理;
-
时序完整性验证:这个参数确保了时钟通道不会在数据通道之前过早关闭,避免因时钟提前消失导致数据丢失;
- 测试标准:
T_CLK-POST ≥ 60 ns + 52 UI(例如当 UI = 1.4 ns 时,最小要求为 60 ns + 52×1.4 ns = 132.8 ns)
- 测试问题排查:
| 失败现象 | 常见原因 | 排查方向 |
|---|---|---|
T_CLK-POST 小于 60 ns + 52 UI |
发送端状态机中,时钟通道关闭的时间配置过早 | 调整 PHY 寄存器,延长时钟在数据通道关闭后的保持时间 |
| 测量起点 / 终点误判 | 信号噪声或状态机边界模糊导致时间点识别不准确 | 优化示波器触发设置,确保 T_HS-TRAIL 和 T_CLK-TRAIL 的边界清晰 |
3.2. 时钟与数据的关键对齐测试
3.2.1. Test 1.5.3 -- HS Clock Rising Edge Alignment to First Payload Bit
- 测试目的:
验证发送端的高速时钟与数据载荷信号是否正确对齐,确保接收端能可靠地采样到数据。
- 测试参数定义:
-
数据识别:在数据通道中找到同步字节(Sync byte)之后的第一个 bit,这就是第一个有效载荷 bit。
-
时钟识别:找到 DDR 时钟的上升沿。

- 测试方法:
-
链路同步的基石:这是整个高速链路时序对齐的起点。如果第一个 bit 就与时钟错位,后续所有数据采样都可能出错,导致接收端无法解析数据。
-
DDR 模式的特殊要求:在 DDR(双倍数据率)模式下,数据在时钟的上升沿和下降沿都要传输,因此必须保证第一个数据 bit 与时钟上升沿严格对齐,才能建立起后续的采样时序基准。
-
典型波形解读:图中波形显示了时钟(CLK D)和数据(DATA D)的差分信号,可以看到第一个数据 bit 的边沿与时钟上升沿是对齐的,因此这是一个合格的测试结果。
- 测试标准:
- 对齐判定:软件会检查这两个事件的时序关系,如果第一个数据 bit 的起始时刻与时钟上升沿对齐,则判定为 "PASS"。
- 测试问题排查:
| 失败现象 | 常见原因 | 排查方向 |
|---|---|---|
| 数据 bit 与时钟上升沿错位 | 发送端的时钟 / 数据路径延迟不匹配,导致 skew 过大 | 调整 PHY 寄存器中的数据 / 时钟 skew 补偿参数,优化两者的路径延迟 |
| 同步字节识别错误 | 测试软件或接收端无法正确识别同步字节的边界 | 检查测试码型,确保同步字节的发送符合规范;调整示波器的触发和测量设置 |
3.2.2. Test 1.5.4 -- Data-to-Clock Skew (TSKEWTX)
- 测试目的:
验证发送端数据通道与时钟通道之间的时序偏斜,确保数据采样窗口有足够的裕量。
- 测试参数定义:
T_SKEW[TX] 是指数据发送时刻,相对于理想时钟边沿(½·UI_INST 偏移的正交时钟边沿)的允许偏差。
- 测试方法:
-
数据采集:软件会捕获至少 10,000 个数据和时钟边沿事件。
-
时序误差计算:对每个数据边沿,计算其与对应时钟边沿之间的时序误差。
-
统计分析:记录所有时序误差的最大值、最小值和平均值。
-
结果判定:最大偏差的绝对值必须小于 15% UI。
- 测试标准:
- T_SKEWTX ≤ 15% × 单位间隔 (UI)
- 测试问题排查:
| 失败现象 | 常见原因 | 排查方向 |
|---|---|---|
| 偏斜超过 ±15% UI | 发送端数据 / 时钟路径延迟不匹配 | 调整 PHY 寄存器中的 skew 补偿参数,或优化 PCB 布线,使数据和时钟路径长度匹配 |
| 偏斜分布不均 | 电源噪声或串扰导致数据 / 时钟边沿抖动 | 优化电源和地设计,减少噪声;检查 PCB 布线,避免数据和时钟线之间的串扰 |
3.3. 偏斜校准相关测试
3.3.1. Test 1.5.5 -- Initial HS Skew Calibration Burst TSKEWCAL-SYNC and TSKEWCAL
- 测试目的:
验证发送端是否发送了格式正确的初始高速偏斜校准突发序列,确保接收端能完成时钟 / 数据通道间的偏斜校准。
- 测试参数定义:
序列内容:0xFFFF(即 11111111_11111111)

- 测试方法:
-
偏斜校准的基础:这是接收端测量并补偿时钟与各数据通道间时序偏移的关键序列。
0xFFFF的同步模式用于接收端锁定,随后的32768 UI长数据序列则提供了足够多的边沿,让接收端能精确测量各通道间的 skew。 -
链路初始化的必要步骤:对于高速率链路,初始偏斜校准是必须的,它直接决定了后续数据传输的可靠性。如果校准序列格式或时长不符合规范,接收端将无法完成校准,导致链路无法同步。
- 测试标准:
T_SKEWCAL-SYNC(同步模式持续时间)限值:16 ± 0.25 UI;T_SKEWCAL(校准载荷持续时间)限值:至少32768 UI(即2^15UI);
- 测试问题排查:
| 失败现象 | 常见原因 | 排查方向 |
|---|---|---|
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
- 测试目的:
验证发送端是否周期性发送格式正确的高速偏斜校准突发序列,用于补偿链路运行过程中因温度、电压变化导致的时序漂移。
- 测试参数定义:
序列内容:0xFFFF(即 11111111_11111111)

- 测试方法:
-
动态时序补偿:周期性校准序列用于在链路工作过程中,定期刷新接收端的时钟 / 数据偏斜补偿值,抵消环境变化带来的时序漂移,保证长期传输的稳定性。
-
与初始校准的区别:
-
初始校准:序列更长(32768 UI),用于链路启动时的首次偏斜测量。
-
周期性校准:序列更短(4096 UI),用于链路运行中的定期补偿,兼顾精度和传输效率。
-
- 测试标准:
T_SKEWCAL-SYNC(同步模式持续时间)限值:16 ± 0.25 UI;T_SKEWCAL(校准载荷持续时间)限值:至少4096 UI(即2^12UI);
- 测试问题排查:
| 失败现象 | 常见原因 | 排查方向 |
|---|---|---|
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
- 测试目的:
验证发送端发送的备用校准序列是否符合规范。当标准 HS 同步序列(HS-SYNC)未被检测到时,接收端会尝试识别此备用序列,以完成偏斜校准。
- 测试参数定义:
序列内容:必须包含 0xF0 模式(即 11110000 或其等效的重复模式)。

- 测试方法:
-
链路同步的 "备用方案":备用校准序列是标准偏斜校准序列的补充,当链路环境恶劣导致标准同步序列丢失时,它提供了一种备选的同步方式,提升了链路的鲁棒性。
-
测试逻辑:软件在捕获到的高速突发中,如果未检测到标准 HS-SYNC,就会搜索由
ALTCAL-SYNC和ALTCAL组成的备用序列,并测量其参数是否符合规范。
- 测试标准:
T_ALTCAL(校准载荷持续时间)限值:范围从32768 UI(即2^15UI)到100 µs
- 测试问题排查:
| 失败现象 | 常见原因 | 排查方向 |
|---|---|---|
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
- 测试目的:
验证发送端发送的前导序列格式是否有效,用于接收端的时钟恢复和同步锁定。
- 测试参数定义:
当标准 HS 同步序列(HS-SYNC)未被检测到时,接收端会尝试识别此前导序列,并测量其参数。


- 测试方法:
-
接收端同步的 "敲门砖":前导序列是接收端在数据传输开始前,用于锁定时钟相位和频率的关键序列。它为后续的偏斜校准和数据采样提供了稳定的时序基准。
-
鲁棒性保障:作为标准同步序列的补充,它提升了链路在恶劣环境下的同步能力,确保即使标准序列丢失,接收端也能尝试从前导序列中恢复同步。
- 测试标准:
-
T_EXTSYNC(扩展同步模式持续时间)限值:8 ± 0.25 UI; -
T_PREAMBLE(前导载荷持续时间)限值:必须等于程序设定的值,可选32 UI、64 UI或512 UI;
- 测试问题排查:
| 失败现象 | 常见原因 | 排查方向 |
|---|---|---|
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
- 测试目的:
验证发送端在高速传输之间的空闲状态时序是否符合规范,确保链路在数据突发之间能稳定地进入和退出空闲状态。
- 测试参数定义:
软件会在数据通道中寻找长时间空闲状态后的 HS-SYNC 序列,以此来识别并测量 HS-Idle 状态的相关参数。

- 测试方法:
-
链路稳定性的保障:HS-Idle 状态是高速数据突发之间的 "安全间隔",它为接收端提供了足够的时间来处理上一次传输的收尾工作,并为下一次传输做好准备。如果空闲时序不满足规范,可能会导致接收端无法正确识别后续的 HS-SYNC 序列,造成同步丢失。
-
模式切换的关键:该状态是链路从 HS 模式进入空闲,再从空闲回到 HS 模式的桥梁,其参数直接影响模式切换的鲁棒性。
- 测试标准:
-
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
- 测试问题排查:
| 失败现象 | 常见原因 | 排查方向 |
|---|---|---|
T_HS-IDLE-POST 超出范围 |
发送端 HS-Idle 后状态的持续时间配置错误 | 调整 PHY 寄存器,确保该参数在 n*8 UI 到 512 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-PRE 或 T_HS-ZERO 的值 |