一、Mini-LVDS 基础
首先,我们需要理解 Mini-LVDS 是什么,以及它与标准 LVDS 的区别。
- LVDS: 低压差分信号。一种高速、低功耗、低噪声的差分信号标准。典型摆幅约为 350mV,直流共模电压约为 1.2V。
- Mini-LVDS: 本质上是 LVDS 的一个变种,电气特性与 LVDS 基本相同。主要区别在于:
- 应用场景: Mini-LVDS 主要用在显示面板内部,用于连接驱动 IC 和面板玻璃(如 LCD/OLED 的列驱动器)。
- 负载电阻: 通常为 100 欧姆(与 LVDS 相同)。
- 共模电压: 可能略有不同,但通常在设计兼容范围内。
- 信道数量: 通常有多对数据线(如 6 对、8 对、10 对)和一对时钟线。
结论: 对于 FPGA 设计者来说,可以将 Mini-LVDS 视为标准的 LVDS 信号。FPGA 的 LVDS 接收器硬件可以直接用于接收 Mini-LVDS 信号。
二、系统架构
一个典型的 Mini-LVDS 接收系统包含以下部分:
[显示主板] --> (Mini-LVDS 差分对:CLK,D0,D1,...Dn) --> [FPGA]
|-- LVDS 接收器 (硬件 I/O)
|-- 解串器 (SerDes)
|-- 时钟数据恢复/对齐
|-- 像素数据重组
|-- [输出:并行 RGB 数据 + 同步信号]
三、FPGA 实现步骤
1. 硬件设计与约束
- FPGA 选型: 确保您选择的 FPGA 支持 LVDS 输入标准。几乎所有现代 FPGA(如 Xilinx Artix-7/Kintex-7, Intel Cyclone V/10 等)都内置了 LVDS 接收器。
- 引脚分配: 将 Mini-LVDS 的差分对分配到 FPGA 支持 LVDS 输入的专用引脚上。例如,CLK_P/CLK_N, D0_P/D0_N 等。
- I/O 标准约束: 在您的约束文件(XDC for Xilinx, SDC/QSF for Intel)中,将对应的引脚电压标准设置为 LVDS。
- Xilinx Vivado 示例:
set_property IOSTANDARD LVDS [get_ports {CLK_P}] set_property IOSTANDARD LVDS [get_ports {CLK_N}] set_property PACKAGE_PIN AA1 [get_ports {CLK_P}] - Intel Quartus 示例:
set_instance_assignment -name IO_STANDARD "LVDS" -to CLK_P set_location_assignment PIN_AC1 -to CLK_P
- Xilinx Vivado 示例:
2. 使用 FPGA 原语——解串器
Mini-LVDS 信号在传输时,为了降低传输线数量,通常是将并行数据串行化后传输。因此,在 FPGA 端接收的核心就是解串。
FPGA 厂商提供了专用的硬件模块来实现此功能,通常称为SerDes 或 ISERDESE2/OSERDESE2。
- Xilinx 7 系列: 使用 ISERDESE2 原语。


