1. FRL 基础概念:固定速率链接的来龙去脉

各位做高速接口的朋友应该都有体会——每次协议升级,物理层总会带来一些新名词。HDMI 2.1 引入的 FRL(Fixed Rate Link) 就是其中之一。我在去年调试一块 8K 电视的 SoC 时,就因为这个概念没吃透,走了不少弯路。今天咱们先把这个基础打牢。

FRL 不是简单的“速率固定”四个字就能概括。它背后是链路训练、FEC 前向纠错、以及 Retimer 适配的一套完整体系。

1.1 什么是 FRL?

FRL 的全称是 Fixed Rate Link,中文叫固定速率链接。说白了,就是把 HDMI 2.1 的物理层从传统的 TMDS 换成了一种全新的、以 3 条数据通道(Lane)加 1 条时钟通道(或嵌入时钟)工作的模式。每条 Lane 的速率是固定的,比如 6 Gbps、8 Gbps、10 Gbps 或 12 Gbps。注意,这里的“固定”是指每个 Lane 的比特率不随视频分辨率动态变化,而是预先训练好的一组离散档位。

  • Lane 数量:3 条数据 Lane,1 条可选时钟 Lane(通常用嵌入时钟模式)。
  • 速率档位:6 Gbps / 8 Gbps / 10 Gbps / 12 Gbps 四档,对应不同的总带宽。
  • 编码方式:16b/18b 编码(实际有效载荷比 TMDS 更高)。
  • FEC:内置 Reed-Solomon 前向纠错,容忍一定的误码。
FRL 速率档位 每 Lane 速率 3 Lane 总带宽 典型应用
FRL16 Gbps18 Gbps4K120 10bit HDR
FRL28 Gbps24 Gbps4K144 10bit
FRL310 Gbps30 Gbps8K60 10bit
FRL412 Gbps36 Gbps8K120 10bit(降低色度)

我的个人习惯:在 SoC 设计里,我通常把 FRL 理解为“HDMI 版的车道高速公路”——每条车道速度固定,但可以通过训练调整车道数(虽然规定是3 lane,但实际链路训练会决定是否降为2 lane)。

1.2 FRL 与 VBO 的区别

这里得先澄清一下:VBO 并不是 HDMI 官方标准术语,业内更多用 VBR(Variable Bit Rate) 来指代以前 TMDS 模式下可变比特率的做法。不过既然课程题目里用了 VBO,我们就沿用这个称呼。VBO 代表老一代 HDMI 2.0 及之前的可变速率传输方式——视频源会根据分辨率刷新率动态调整 TMDS 时钟和每通道比特率。举个例子,1080p60 跑 3.4 Gbps,4K60 跑 6 Gbps,速率是随分辨率跳变的。

FRL 和 VBO 的核心差异在于:

  • 速率确定性:FRL 每条 Lane 锁定一个固定档位,不随内容变化;VBO 的速率完全由视频时序决定。
  • 训练机制:FRL 需要链路训练(Link Training)来建立稳定的眼图和均衡参数;VBO 靠简单的 source-sink 协商。
  • FEC 支持:FRL 必须开启 FEC(除非链路质量极好且长度很短);VBO 没有 FEC。
  • 对 Retimer 的要求:FRL 的 Retimer 必须参与训练握手,而 VBO 的 Redriver 只需透明传输。
对比项 FRL(Fixed Rate) VBO(Variable,如 TMDS)
每 Lane 速率固定档位(6/8/10/12 Gbps)随分辨率连续变化
时钟恢复嵌入时钟或独立时钟 Lane独立时钟(TMDS)
链路训练必须,包含 EQ 训练无,仅静态配置
FEC必需(默认开启)无
Retimer 角色主动参与训练 / 转发 LT 报文透明直通
总带宽上限48 Gbps(FRL4)18 Gbps(HDMI 2.0)

我曾经在一个项目里混淆了 FRL 的“固定”与“恒定”——以为只要跑 12 Gbps 就不用考虑链路线损了,结果眼图完全睁不开。后来才发现,FRL 的固定是指协议层速率,但物理层仍需要细致的均衡(EQ)和去加重,这点和高速 SerDes 没区别。

1.3 FRL 在 HDMI 2.1 中的应用背景

为什么 HDMI 2.1 非要抛弃成熟的 TMDS 搞 FRL?原因很简单:带宽不够用了。HDMI 2.0 的 18 Gbps 连 4K120 10bit 都勉强,8K60 更是直接卡死。要是沿用 VBO 思路,每提升一档分辨率就得重新设计 PLL 和时钟方案,成本太高。

FRL 的引入带来了三个关键变化:

  1. 带宽翻倍:3 Lane × 12 Gbps = 36 Gbps(有效 48 Gbps 靠 16b/18b 编码换算),直接支撑 8K120。
  2. 链路训练成为必须:Source 和 Sink 之间需要类似于 DisplayPort LTTPR 的握手过程,Retimer 作为中继必须理解 LT 语法。
  3. FEC 降低误码要求:HDMI 2.1 规定链路 BER ≥ 1e-9 即可,FEC 能将等效 BER 提升到 1e-15 以上,大大放宽了对线材和 PCB 走线的要求。

举个例子,我去年调试一块 8K 电视 SoC 时,Source 输出 FRL3(10 Gbps × 3),通过两根 3 米长的 HDMI 2.1 线到电视。如果不开启 FEC,偶尔会花屏;开启后完全正常。这就是 FRL 的容错设计在做功。

避坑指南:在 SoC 集成 FRL 时,记得给 Retimer 预留足够的固件升级接口。不同品牌的 Retimer 对 FRL 训练时序的容忍度有差异——我遇到过某款 Retimer 在 FRL1 切换 FRL3 时需要 200 ms 重新训练,而 SoC 默认只给了 100 ms 超时,导致切换失败。

下面的图把 FRL 与 VBO 的核心概念画了出来,方便对比记忆。

FRL 与 VBO 概念对比 FRL vs VBO:核心差异与 HDMI 2.1 应用 FRL(Fixed Rate Link) VBO(Variable Bit Rate / TMDS) 固定速率档位 链路训练 (LT) FEC 纠错 3 Lane(数据) Retimer 参与训练 总带宽 48 Gbps 速率随分辨率变化 无链路训练 无 FEC 独立时钟 (TMDS) Redriver 透明 总带宽 ≤18 Gbps HDMI 2.1 强制要求 FRL,旧 TMDS 仅用于向后兼容。 SoC 设计时需同时支持 FRL 训练和 VBO 直通模式。

嗯,这张图把 FRL 的六个关键特征和 VBO 的六个对应特征并排放置,中间用箭头强调了数据 Lane 和训练机制的区别。你看,FRL 这边有链路训练、FEC、Retimer 参与,而 VBO 那边这些统统没有。这也是为什么 HDMI 2.1 SoC 必须重新设计 PHY 和训练状态机的原因。

我个人建议刚接触 FRL 的工程师,第一件事不是去看协议文档里的波形图,而是先理解 FRL 的 Link Training 状态机——Source 发训练序列 -> Sink 响应 -> 调整 EQ -> 锁定。这个流程在 Retimer 调试中几乎天天用到。