HDMI Intel® Arria 10 FPGA IP设计示例用户指南

ID 683156
日期 5/12/2021
Public
文档目录

3.4. 设计组件

HDMI Intel® FPGA IP设计示例需要这些组件。
表 32.  HDMI RX顶部组件
模块 说明
HDMI RX Core

IP接收来自Transceiver Native PHY的串行数据并执行数据对齐,通道去偏斜,TMDS解码,辅助数据解码,视频数据解码,音频数据解码和解扰。

I2C
I2C是用于Sink Display Data Channel (DDC)和Status and Data Channel (SCDC)的接口。HDMI source使用DDC通过读取Enhanced Extended Display Identification Data (E-EDID)数据结构来确定接收器的功能和特性。
  • E-EDID的8-bit I2C slave地址是0xA0和0xA1。LSB表示访问类型:1表示读取,0表示写入。当发生HPD事件时,I2C slave通过从片上RAM读取来响应E-EDID数据。
  • I2C slave-only controller也支持SCDC用于HDMI 2.0操作。SCDC的8-bit I2C slave地址是0xA8和0xA9。当发生HPD事件时,I2C slave执行对HDMI RX core的SCDC接口的写或读传输。
    注: 如果不打算使用HDMI 2.0b,那么就不需要SCDC的I2C slave-only controller。如果开启Include I2C参数,那么此模块将被包含在内核中,并且在此级别不可见。
EDID RAM

设计使用RAM 1-port IP core存储EDID信息。一个标准的两线(时钟和数据)串行总线协议(I2C slave-only controller)传输CEA-861-D Compliant E-EDID数据结构。此EDID RAM存储E-EDID信息。

注: 如果开启Include EDID RAM参数,那么此模块将被包含在内核中,并且在此级别不可见。
IOPLL

IOPLL对传入的TMDS时钟生成RX CDR参考时钟,链路速度时钟和视频时钟。

  • Output clock 0 (CDR参考时钟)
  • Output clock 1 (链路速度时钟)
  • Output clock 2 (视频时钟)
注: 默认的IOPLL配置对任何HDMI分辨率均无效。IOPLL在上电时被重配置为相应的设置。
Transceiver PHY Reset Controller

Transceiver PHY复位控制器确保RX收发器的可靠初始化。此控制器的复位输入由RX重配置触发,根据模块内的复位序列生成Transceiver Native PHY模块的对应模拟和数字复位信号。

RX Native PHY

从外部视频源接收串行数据的硬核收发器模块。在将数据传递到HDMI RX core之前,硬核收发器模块将串行数据解串为并行数据。

RX Reconfiguration Management

RX重配置管理,通过HDMI PLL实现速率检测电路,驱动RX收发器以250 Mbps到6,000 Mbps范围内的任意链路速率运行。

请参考

IOPLL Reconfiguration

IOPLL重配置模块可促进Intel FPGA中PLL的动态实时重配置。此模块实时更新输出时钟频率和PLL带宽,而无需重配置整个FPGA。此模块在 Intel® Arria® 10 器件中以100 MHz运行。

由于IOPLL重配置限制,在IOPLL重配置IP生成期间要应用Quartus INI permit_nf_pll_reconfig_out_of_lock=on

要应用Quartus INI,需要在quartus.ini文件中包含“permit_nf_pll_reconfig_out_of_lock=on”文件,然后将此文件放在 Intel® Quartus® Prime工程目录中。当在Quartus Prime软件中使用INI编辑IOPLL重配置模块(pll_hdmi_reconfig)时,您应该会看到一条警告信息。

注: 如果没有这个Quartus INI,那么IOPLL在重配置期间失锁时就无法完成IOPLL重配置。
PIO 并行输入/输出(PIO)模块用作连接CPU子系统的控制,状态和复位接口。
图 23. 多速率重配置序列流程下图说明了控制器在接收输入数据流和参考时钟频率时,或当收发器未锁定时的多速率重配置序列流程。
表 33.  HDMI TX顶部组件
模块 说明
HDMI TX Core

IP core从顶层接收视频数据,并进行TMDS编码,辅助数据编码,音频数据编码,视频数据编码和加扰。

I2C Master
I2C是用于Sink Display Data Channel (DDC)和Status and Data Channel (SCDC)的接口。HDMI source使用DDC通过读取Enhanced Extended Display Identification Data (E-EDID)数据结构来确定接收器的性能和特性。
  • 作为DDC,I2C Master从外部sink读取EDID来配置HDMI RX Top中的EDID信息EDID RAM,或者用于视频处理。
  • 作为SCDC,I2C master将SCDC数据结构从FPGA source传输到外部sink进行HDMI 2.0b操作。例如,如果输出数据流高于3,400 Mbps,那么Nios II处理器命令I2C master将sink SCDC配置寄存器的TMDS_BIT_CLOCK_RATIOSCRAMBLER_ENABLE比特更新成1。
IOPLL

IOPLL从传入的TMDS时钟提供链路速度时钟和视频时钟。

  • Output clock 1 (链路速度时钟)
  • Output clock 2 (视频时钟)
注: 默认的IOPLL配置对任何HDMI分辨率均无效。IOPLL在上电时被重配置为相应的设置。
Transceiver PHY Reset Controller

收发器PHY复位控制器确保TX收发器的可靠初始化。此控制器的复位输入由顶层触发,它根据模块内部的复位序列生成Transceiver Native PHY模块的对应模拟和数字复位信号。

此模块的tx_ready输出信号也用作HDMI Intel® FPGA IP的一个复位信号,指示收发器已启动并正在运行,并准备好从内核接收数据。

Transceiver Native PHY

硬核收发器模块,接收来自HDMI TX内核的并行数据并在传输时串行化数据。

重配置接口在TX Native PHY模块中使能以演示TX Native PHY与收发器仲裁器之间的连接。对TX Native PHY不执行重配置。

注: 为满足HDMI TX通道间偏移要求,将 Intel® Arria® 10 Transceiver Native PHY参数编辑器中的TX channel bonding mode选项设为PMA and PCS bonding。根据 Intel® Arria® 10 Transceiver PHY User Guide中的建议,您也需要将最大偏斜(set_max_skew)约束要求添加到收发器复位控制器(tx_digitalreset)的数字复位信号中。
TX PLL

发送器PLL模块对Transceiver Native PHY模块提供串行快速时钟。对于此HDMI Intel® FPGA IP设计示例,fPLL用作TX PLL。

IOPLL Reconfiguration

IOPLL重配置模块可促进Intel FPGA中PLL的动态实时重配置。此模块实时更新输出时钟频率和PLL带宽,而无需重配置整个FPGA。此模块在 Intel® Arria® 10 器件中以100 MHz运行。

由于IOPLL重配置限制,在IOPLL重配置IP生成期间要应用Quartus INI permit_nf_pll_reconfig_out_of_lock=on

要应用Quartus INI,需要在quartus.ini文件中包含“permit_nf_pll_reconfig_out_of_lock=on”文件,然后将此文件放在 Intel® Quartus® Prime工程目录中。当 Intel® Quartus® Prime软件中使用INI编辑IOPLL重配置模块(pll_hdmi_reconfig)时,您应该会看到一条警告信息。

注: 如果没有这个Quartus INI,那么IOPLL在重配置期间失锁时就无法完成IOPLL重配置。
PIO 并行输入/输出(PIO)模块用作连接CPU子系统的控制,状态和复位接口。
表 34.  每个TMDS时钟频率范围的收发器数据速率和过采样因子
TMDS时钟频率(MHz) TMDS比特时钟比率 过采样因子 收发器数据速率(Mbps)
85–150 1 不适用 3400–6000
100–340 0 不适用 1000–3400
50–100 0 5 2500–5000
35–50 0 3 1050–1500
30–35 0 4 1200–1400
25–30 0 5 1250–1500
表 35.  顶级通用模块
模块 说明
Transceiver Arbiter

当同一物理通道内的RX或TX收发器需要重配置时,此通用功能块可防止收发器同时重新校准。同时重新校准会影响将同一通道内的RX和TX收发器分配给独立IP实现的应用。

此收发器仲裁器是将单工TX和单工RX合并到同一物理通道的建议的分辨率的扩展。此收发器仲裁器还有助于合并和仲裁Avalon-MM RX和TX重配置请求,这些请求针对一个通道内的单工RX和TX收发器,因为收发器的重配置接口端口只能按顺序访问。

本设计示例中收发器仲裁器与TX/RX Native PHY/PHY Reset Controller模块之间的接口连接演示了一种通用模式,此模式应用于使用收发器仲裁器的任何IP组合。当在一个通道中仅使用RX或TX收发器时,不需要收发器仲裁器。

收发器仲裁器通过它的Avalon-MM重配置接口识别一个重配置的请求者,并确保对应的tx_reconfig_cal_busyrx_reconfig_cal_busy被相应地门控。

对于HDMI应用,只有RX启动重配置。通过仲裁器引导Avalon-MM重配置请求,仲裁器识别出重配置请求源自RX,然后从置位门控 tx_reconfig_cal_busy 并允许 rx_reconfig_cal_busy置位。门控可防止TX收发器无意中进入校准模式。
注: 因为HDMI只需要RX重配置,tx_reconfig_mgmt_*信号被绑定。此外,仲裁器和TX Native PHY模块之间不需要Avalon-MM接口。这些模块分配给设计示例中的接口,以演示通用收发器仲裁器与TX/RX Native PHY/PHY复位控制器的连接。
RX-TX Link
  • HDMI RX core的视频数据输出和同步信号循环遍历RX和TX视频时钟域中的一个DCFIFO。
  • 通用控制数据包(GCP),信息帧(AVI,VSI和AI),辅助数据和音频数据循环遍历RX和TX链路速度时钟域中的DCFIFO。
  • HDMI TX core的辅助数据端口通过背压控制流经DCFIFO的辅助数据。背压确保辅助数据端口上没有不完整的辅助数据包。
  • 此模块还执行外部过滤:
    • 在传输到HDMI TX core辅助数据端口之前,从辅助数据流中过滤音频数据和音频时钟再生数据包。
      注: 要禁用此过滤,请按user_pb[2]。使能此过滤以确保重传的辅助数据流中没有重复的音频数据和音频时钟再生数据包。
    • 从HDMI RX辅助数据中过滤High Dynamic Range (HDR) InfoFrame,并通过Avalon ST多路复用器将示例HDR InfoFrame插入到HDMI TX的辅助数据中。
CPU Sub-System

CPU子系统用作SCDC和DDC控制器以及源重配置控制器。

  • source SCDC控制器包含I2C master控制器。I2C master控制器将SCDC数据结构从FPGA source传输到外部sink用于HDMI 2.0b操作。例如,如果输出数据流为6,000 Mbps,那么Nios II处理器命令I2C master控制器将sink TMDS配置寄存器的TMDS_BIT_CLOCK_RATIOSCRAMBLER_ENABLE比特更新成1。
  • 同一I2C master也在HDMI source与外部sink之间传输DDC数据结构(E-EDID)
  • Nios II CPU充当HDMI source的重配置控制器。CPU以来RX重配置管理模块的周期性速率检测来确定TX是否需要重配置。Avalon-MM slave转换器提供Nios II处理器Avalon-MM master接口和外部例化HDMI source的IOPLL和TX Native PHY的Avalon-MM slave接口之间的接口。
  • TX的重配置序列流程与RX相同,除了PLL和收发器重配置以及复位序列是按顺序执行的。请参考
图 24. 重配置序列流程下图显示了Nios II软件流程,包括对I2C master和HDMI source的控制。