芯片的Serdes

SERDES 是芯片里负责高速串行收发的硬核 IP/模块,全称 SERializer/DESerializer(串行器/解串器)。

  1. 基本作用

一句话:把"并行多根线"变成"高速一根线",再变回来,用来做芯片之间或板卡之间的高速通信。

  • 发送端(Serializer):

把内部低速并行数据(比如 32bit、64bit 宽)

→ 按比特一位一位串行发送出去

→ 速率可以到几 Gbps 甚至几十 Gbps。

  • 接收端(Deserializer):

把高速串行信号

→ 恢复时钟和数据

→ 还原成并行数据给内部逻辑处理。

常见应用接口:

  • PCIe、USB3.x、SATA、SAS

  • Ethernet(1G/10G/25G/100G/400G 等)

  • HDMI/DP、MIPI、CSI/DSI

  • 芯片间高速互连(如 SerDes-to-SerDes 直连)

  1. 为什么要用 SERDES?
  • 减少引脚和走线:

比如 10Gbps 用 1 对差分线就能传,

换成并行 1Gbps 8bit 就要 8 对(还不算时钟)。

  • 提升传输速率:

单通道很容易做到 10G、25G、56G、112Gbps,

并行总线很难同时跑这么高且保持信号完整性。

  • 降低 EMI、简化 PCB 设计:

差分线+串行,抗干扰能力强,对布线要求相对可控。

  1. SERDES 内部主要组成(概念级)

不同厂商实现略有差异,但大致都有:

  1. PMA(Physical Media Attachment,物理介质适配层)
  • 并串/串并转换

  • 高速 TX 驱动、RX 输入缓冲

  • 预加重(Pre-emphasis)、均衡(Equalization)

  • 时钟恢复(CDR, Clock and Data Recovery)

  1. PCS(Physical Coding Sublayer,物理编码子层)
  • 8b/10b、64b/66b、128b/130b 等编码

  • 加扰(Scrambling),减少长 0/长 1,利于时钟恢复

  • 帧同步、对齐、校验等

  1. 时钟与 PLL/DLL
  • 产生高速串行时钟

  • 做时钟恢复和相位调整,保证采样点在眼图中心

  1. 关键性能指标
  • 线速率(Line Rate):比如 2.5G、5G、10G、25G、56G、112Gbps

  • 通道数:一个 SERDES 控制器可能有 4/8/16 等多个 lanes

  • 眼图(Eye Diagram):衡量信号质量,眼高、眼宽、抖动等

  • 抖动(Jitter):包括随机抖动、确定性抖动

  • 误码率(BER):如 1e-12、1e-15,越低越可靠

  • 功耗与面积:高速 SERDES 是芯片中最费电、最占面积的模块之一

  1. 在芯片中的位置和形态
  • 在 SoC/FPGA/ASIC 中,通常位于 I/O 环附近,靠近高速接口引脚。

  • 以 硬核 IP 形式提供:布局布线、模拟电路都由厂商优化好,用户通过配置寄存器选择速率、协议、均衡参数等。

  • 上层协议(如 PCIe 控制器、以太网 MAC)通过 TX/RX 数据接口与 SERDES 对接。

相关推荐
代码游侠5 天前
STM32开发——基础外设
linux·运维·arm开发·stm32·单片机·嵌入式硬件·学习
代码游侠6 天前
Linux驱动复习——驱动
linux·运维·arm开发·笔记·学习
古译汉书6 天前
【IoT死磕系列】Day 6:工业控制底层大动脉—CAN总线
linux·网络·arm开发·单片机·物联网·tcp/ip
姜太公钓鲸2336 天前
STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器。上述文字中的内核是什么意思?作用是什么?
arm开发·stm32·嵌入式硬件
日更嵌入式的打工仔6 天前
FIQ 与 IRQ
arm开发·笔记
The️7 天前
STM32-FreeRTOS操作系统-软件定时器
arm开发·stm32·单片机·嵌入式硬件·mcu·c#
szxinmai主板定制专家7 天前
RK3588 8个USB工控解决方案,适用于机器视觉,工业互联等
arm开发·人工智能·fpga开发
我在人间贩卖青春7 天前
ARM编程模型
arm开发·arm工作模式
安全二次方security²7 天前
【CVE-2025-0647】ARM CPU漏洞安全通告
arm开发·安全·cve-2025-0647·tlbi·cpp rctx 指令·c1-ultra·虚拟化漏洞
道亦无名8 天前
armBitRevIndexTable1024
arm开发