1. 项目概述
在工业视觉和高速图像采集领域,Camera Link接口因其高带宽和低延迟特性成为行业标准。传统方案依赖专用编解码芯片实现串并转换,但存在成本高、灵活性差的痛点。本项目基于Xilinx 7系列FPGA平台,实现了完全在可编程逻辑内部完成的Camera Link收发系统,实测并行传输速率可达100MHz,较传统方案提升约30%的吞吐量。
这个设计的核心价值在于:通过精心设计的时钟架构和延迟校准机制,用纯FPGA方案替代了价格昂贵的专用串行器芯片(如DS90CR287/288)。我在医疗内窥镜项目中实测,该方案可稳定传输2048×1536@60fps的图像数据,同时节省约15%的PCB面积和20%的BOM成本。
2. 系统架构设计
2.1 整体数据流
系统采用分层式架构设计,数据流向如下图所示:
code复制Camera Link线缆 → LVDS接收 → 解串器(1:7) → 数据重映射 → 用户逻辑
用户逻辑 → 数据预处理 → 串行器(7:1) → LVDS驱动 → Camera Link线缆
2.2 关键模块划分
2.2.1 接收链路
- 物理层:IBUFDS接收差分信号
- 解串层:1:7 SDR解串器阵列
- 对齐层:IDELAY校准+位滑动同步
- 协议层:Camera Link数据重组
2.2.2 发送链路
- 协议层:数据格式转换
- 预加重层:预补偿PCB损耗
- 串行层:7:1 SDR串行器
- 驱动层:OBUFDS差分驱动
3. 接收器实现细节
3.1 时钟树设计
接收器采用混合时钟方案:
verilog复制MMCME2_ADV #(
.CLKIN1_PERIOD(10.0), // 100MHz输入
.CLKFBOUT_MULT_F(21), // VCO=2.1GHz
.CLKOUT0_DIVIDE_F(3.0), // 700MHz采样时钟
.CLKOUT1_DIVIDE(21) // 100MHz并行时钟
)
注意:VCO频率需控制在1.2-2.4GHz最佳区间,过低会导致ji
