Intel FPGA IP之LVDS SerDes IP学习

2024-03-07 1522阅读

温馨提示:这篇文章已超过396天没有更新,请注意相关的内容是否还可用!

FPGA 视频数据输入输出直通工程:

  • 屏:13.2吋8bit色深,屏幕分辨率为1440*1920@60,具有两个Port,每个Port有4个差分数据对与1个差分时钟对,差分对均支持LVDS协议
  • 芯片:Cyclone V系列FPGA
  • 目的:通过FPGA的LVDS SerDes RX接口输入8bit 色深RGB图像数据,然后再通过LVDS SerDes TX接口输出8bit 色深RGB图像数据,是个直通工程

    一、13.2吋屏

     1.1 13.2吋屏参数:

    Intel FPGA IP之LVDS SerDes IP学习

    DCLK frequency = horizontal line*vertical field*60=783*1962*60=92_174_760Hz≈ 92.17MHz

    DCLK(即,Data Clock)就是Pixel Clock。

    1.2 屏的数据传输格式:

    该屏有两个Port,是8bit 色深图像,传输的数据格式如下图:

    Intel FPGA IP之LVDS SerDes IP学习

    由图可知:

    • 该屏有两个Port,分奇偶Port(即,Odd Port与Even Port)
    • 每个Port有4个差分数据对与1个时钟差分对
    • 每个Port的LVDS数据格式相同
    • 差分时钟的占空比为4/7,且差分时钟频率与数据速率为1:7
    • 差分时钟与差分数据对之间的相位关系,即,差分时钟高电平中间时刻对应一个像素周期的开始时刻

      通过VESA的标准协议可知,VESA的10bit屏的接口兼容8bit屏接口。如下图:

      VESA:单port 8bit 屏:4个数据差分对+一个像素时钟差分对Pixel Clock
      数据差分对T1T2T3T4T5T6T7
      0+/-R0R1R2R3R4R5G0
      1+/-G1G2G3G4G5B0B1
      2+/-B2B3B4B5HSVSDE
      3+/-R6R7G6G7B6B7XX
      VESA:单port 10bit 屏:4个数据差分对+一个像素时钟差分对Pixel Clock
      数据差分对T1T2T3T4T5T6T7
      0+/-R0R1R2R3R4R5G0
      1+/-G1G2G3G4G5B0B1
      2+/-B2B3B4B5HSVSDE
      3+/-R6R7G6G7B6B7XX
      4+/-R8R9G8G9B8B9XX

       参考:LVDS电平标准与LCD屏的LVDS数据格式-CSDN博客

      为了提高FPGA系统兼容性,在编写Verilog程序时,用10bit 色深的VESA标准协议。

      二、Cyclone V的LVDS SerDes结构

      Intel FPGA IP之LVDS SerDes IP学习

      2.1 LVDS Receiver结构

      Intel FPGA IP之LVDS SerDes IP学习

      Intel FPGA IP之LVDS SerDes IP学习

      Intel FPGA IP之LVDS SerDes IP学习

      2.2 LVDS Transmitter结构

      Intel FPGA IP之LVDS SerDes IP学习

      Intel FPGA IP之LVDS SerDes IP学习

      三、Intel FPGA的LVDS SerDes IP配置

      3.1 添加LVDS SerDes IP

      IP添加方式:在IP Catalog中输入LVDS+回车,可选择ALTLVDS_RX与ALTLVDS_TX两个LVDS SerDes IP进行参数设置。

      Intel FPGA IP之LVDS SerDes IP学习

      3.2 rx_serdes_ip

      3.2.1 rx_serdes_ip参数设置

      Intel FPGA IP之LVDS SerDes IP学习

      Intel FPGA IP之LVDS SerDes IP学习

      Intel FPGA IP之LVDS SerDes IP学习

      Intel FPGA IP之LVDS SerDes IP学习

      3.2.2 例化rx_serdes:

      //定义接口

      reg  [4:0]   rx_datao_p;

      reg  [4:0]   rx_datae_p;

      reg pixel_clk_in;

      wire    [69:0]  rx_out;

      wire pixel_clk_out;

      //例化

      lvds_rx_1 u1_lvds_rx_1(

          .rx_in                    ({rx_datao_p, rx_datae_p}),

          .rx_inclock                (pixel_clk_in),

          .rx_out                    (rx_out),

          .rx_outclock            (pixel_clk_out)

          );    

      3.3 tx_serdes

      3.3.1 tx_serdes_ip参数设置

      Intel FPGA IP之LVDS SerDes IP学习

      Intel FPGA IP之LVDS SerDes IP学习

      Intel FPGA IP之LVDS SerDes IP学习

      3.3.2 例化tx_serdes

      reg     [34:0]  tx_datao;

      reg     [34:0]  tx_datae;

      wire [4:0]   tx_datao_p;

      wire [4:0]   tx_datae_p;

      lvds_tx  u1_lvds_tx (

          .pll_areset (tx_reset),

          .tx_in      ({7'b1100011, tx_datao, 7'b1100011, tx_datae}),

          .tx_inclock (pixel_clk_out),

          .tx_out     ({tx_cko_p, tx_datao_p, tx_cke_p, tx_datae_p}));

      注意: {7'b1100011, tx_datao, 7'b1100011, tx_datae}中的两个7'b1100011是两个TX Port的Pixel Clock,结合LVDS Transmitter中的Serializer工作机制即可理解。

      四、附件参考

      Cyclone® V Device Handbook Volume 1: Device Interfaces and Integration

      Intel FPGA IP之LVDS SerDes IP学习

       

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]