核心内容摘要
LangChain4j框架 介绍功能核心接口总览
关注、星标公众号精彩内容每日送达来源网络素材
概述本 IP 为 Xilinx 7 系列 FPGA 提供了一套完整的CameraLink Base单链路7:1 串行收发方案采用SDRSingle Data Rate模式单数据通道最高700 Mbps对应像素时钟 100 MHz7 倍串行化。
IP 由接收器Receiver与发送器Transmitter两部分组成均通过 Vivado IP Integrator 封装提供 Tcl 图形界面参数化生成 Verilog 代码。
核心特性如下纯 FPGA 逻辑实现无需外接编解码芯片如 DS90CR285/286节省 BOM支持 18 条数据通道D1~8与 18 条链路N1~8最大 64 位并行数据片内 MMCM/PLL 完成时钟合成与相位对齐自动 bitslip 与逐 bit 延迟校准提供eye-monitor实时眼图观测接口方便调试参考时钟范围 20 MHz~100 MHz兼容常见像素时钟全差分 LVDS 信号支持内部 100 Ω 终端符合 CameraLink 物理层规范
整体架构------------- Pixel Clk 100 MHz || 7×Clk 700 MHz ----------------- | TX MMCM/PLL |----------------- OSERDES (pixel_clk) || (txclk) ------------- | ------------- | 7:1 OSERDES|---- LVDS Diff Pair ---- ------------- | | TXDATA(28-bit) -- 并行-串行转换 -- dataout_p/n | clk_pattern(7-bit) -- 时钟通道 -- clkout_p/n || ------------- || 1:7 ISERDES|--- LVDS Diff Pair ---- ------------- | ------------- RXCLK_DIV 100 MHz | RX MMCM/PLL |--- 7×Clk 700 MHz -----------------||--- (rxclk) ------------- | ------------- |bitslip/IDELAY |--- 200 MHz IDELAYCTRL ------------- | ------------- |eye-monitor/ | |phase-detector | ------------- | RXDATA(28-bit) -- 用户逻辑
发送器Transmitter详解
1 时钟生成clock_generator_pll_7_to_1_diff_sdr.v根据参数USE_PLL选择 MMCME2_ADV 或 PLLE2_ADV输入单端clkin像素时钟输出两路pixel_clk与输入同频用于加载并行数据txclk7 倍频直接驱动 OSERDES支持MMCM_MODE参数1/2扩展 VCO 范围保证 600 MHz~
6 GHz 有效区间
2 并行-串行转换serdes_7_to_1_diff_sdr.v每个数据通道实例化 1 个OSERDESE27:1 SDR 模式时钟通道额外实例化 1 个 OSERDES发送固定clk_pattern默认 7’b1100011产生 4 高 3 低占空比支持TX_SWAP_MASK位级反转方便 PCB 差分线序调换所有 OSERDES 共用txclk保证通道间 skew 50 ps同 BUFIO/BUFG 树
3 数据重排参数DATA_FORMAT决定加载顺序PER_CLOCK默认同一时钟沿的 bit0~bit6 对应串行先发PER_CHANL跨通道交错用于多链路同步用户只需在pixel_clk域提供txdata[(D×N×
-1:0]IP 内部完成映射
4 时序举例D4, N1pixel_clk 周期txdata 索引28-bit串行 bit 流先发 LSBT0[6:0]D0[0]→D0[6]T0[13:7]D1[0]→D1[6]T0[20:14]D2[0]→D2[6]T0[27:21]D3[0]→D3[6]
接收器Receiver详解
1 时钟与数据恢复serdes_1_to_7_mmcm_idelay_sdr.v输入 LVDS 时钟clkin_p/n经IBUFGDS_DIFF_OUT→IDELAYE2→ISERDESE2MMCM 生成两路rxclk7 倍频供 ISERDES 采样rxclk_div像素时钟供用户逻辑自动bitslip状态机检测 7 位时钟模式 7’b1100011滑动 0~6 位直至对齐当rx_mmcm_lckdpsbs拉高表示“MMCM 锁定 bitslip 完成”可安全收数
2 逐 bit 延迟校准delay_controller_wrap.v每个数据 bit 独立实例化采用Master/Slave双 ISERDES 结构主 ISERDES 延迟固定从 ISERDES 延迟可动态调整相位检测器Phase Detector比较主从采样值若主从一致 → 延迟合适若主早从晚 → 增加延迟若主晚从早 → 减少延迟内部 6 位计数器pdcount滤波防止抖动支持eye-monitor模式从延迟扫描 0~bt_val记录主从一致区间上报eye_info[31:0]1 hot 表示有效延迟 tap
3 数据重排与输出经 bitslip 与 IDELAY 校正后7 位并行数据按DATA_FORMAT重组最终输出rxdata[(D×N×
-1:0]与rxclk_div同步可直接写入 FIFO 或进入图像处理管线
参数化与 Tcl 界面参数名范围/可选值功能描述D1~8每链路数据通道数N1~8链路数MMCM_MODE1,2MMCM 倍频系数1→×72→×14USE_PLLTRUE/FALSEFALSE 使用 MMCM推荐TRUE 使用 PLLCLKIN_PERIOD
0~
5
0 (ns)输入参考时钟周期SAMPL_CLOCKBUFIO/BUF_H/BUF_G采样时钟缓冲类型PIXEL_CLOCKBUF_R/BUF_H/BUF_G像素时钟缓冲类型DIFF_TERMTRUE/FALSE使能片内 100 Ω LVDS 终端Tcl 脚本xgui/*.tcl自动根据用户选择更新 Verilog 顶层参数并生成 XCI 文件支持 Vivado Block Design 拖拽。
性能与资源器件速率资源占用D4,N1备注xc7k325t700 Mbps1 MMCM 4 OSERDES 4 ISERDES 4 IDELAY单链路 4 数据通道xc7k160t560 Mbps同上MMCM_MODE2降低 VCO 频率xc7a35t420 Mbps同上使用 PLLArtix-7 低成本方案时序收敛要点输入时钟 jitter 50 ps RMS确保 MMCM 锁定余量IDELAYCTRL 参考时钟 200 MHz ±10 ppm必须来自专用 MRCC 引脚LVDS 差分对 P/N 长度差 5 mil阻抗 100 Ω ±10 %若使用 BUFIO必须将像素时钟域信号经过FIFO/CDC再跨时钟
典型使用流程IP 集成Vivado → IP Catalog → CameraLink Receiver / Transmitter → 设置 D/N/时钟参数 → Generate引脚约束set_property IOSTANDARD LVDS_25 [get_ports {datain_p[*]}]set_property DIFF_TERM TRUE [get_ports {datain_p[*]}]set_property PACKAGE_PIN xxx [get_ports {datain_p[*]}]仿真提供 txdata 伪随机码 → 观察 rxdata 是否一致 → 检查 bitslip/locked 信号板级调试调用VIO实时读取eye_info调整 PCB 补偿或 IDELAY 初始值使用Integrated Logic Analyzer抓取 rxclk_div 域数据验证行/场同步
扩展与定制多链路同步将所有链路的rx_mmcm_lckdpsbs做“与”运算后统一释放用户逻辑复位更高速度升级至 Kintex Ultrascale使用OSERDES3/ISERDES38:1 DDR 模式单通道
6 Gbps协议层在 rxclk_div 域添加CameraLink 解码模块FVAL/LVAL/数据直接输出 Bayer/RGB 流热插拔检测rx_mmcm_lckd下降沿自动重启 bitslip 与延迟校准状态机
9.
总结本 IP 将 Xilinx 官方 XAPP585 范例系统化、参数化、图形化覆盖时钟合成、串行转换、bitslip、延迟校准、眼图监测全流程已在国内多家工业相机、嵌入式视觉项目量产验证。
开发者无需深入理解底层原语即可在 30 分钟内完成 CameraLink 接口搭建把更多精力投入到图像算法与产品差异化。
全文完声明我们尊重原创也注重分享文字、图片版权归原作者所有。
转载目的在于分享更多信息不代表本号立场如有侵犯您的权益请及时联系我们将第一时间删除谢谢想要了解FPGA吗这里有实例分享ZYNQ设计关注我们的公众号探索