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

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

4.2. HDCP Over HDMI设计示例体系结构

当数据在通过HDMI或其他受HDCP保护的数字接口连接的器件之间传输时,HDCP功能可保护这些数据。
受HDCP保护的系统包括三种类型的器件:
  • Sources (TX)
  • Sinks (RX)
  • Repeaters

此设计示例演示了中继器设中的HDCP系统,此系统接收数据,解密,然后重新加密数据,最后重新传输数据。中继器同时具有HDMI输入和输出。它例化FIFO缓冲器以在HDMI sink和source之间执行直接的HDMI视频流传递。它可以执行一些信号处理,例如通过将FIFO缓冲器替换为Video and Image Processing (VIP) Suite IP core来将视频转换为更高分辨率的格式。

图 29. HDCP Over HDMI设计示例结构图

以下关于设计示例架构的描述对应于HDCP over HDMI设计示例结构图。当SUPPORT FRL = 1或SUPPORT HDCP KEY MANAGEMENT = 1时,设计实例层次结构与图 29略有不同,但底层的HDCP功能保持不变。

  1. HDCP1x和HDCP2x是通过HDMI Intel® FPGA IP参数编辑器来使用的IP。在参数编辑器中配置HDMI IP时,您可以使能HDCP1x或HDCP2x或者这两个IP,并作为子系统的一部分将它们包括在内。在两个HDCP IP都使能的情况下,HDMI IP会在级联拓扑中进行自我配置,在此级联拓扑中,HDCP2x和HDCP1x IP背靠背连接的。
    • HDMI TX的HDCP出口(egress)接口发送未加密的音频视频数据。
    • 未加密的数据由活动的HDCP模块进行加密,并通过HDCP Ingress接口发送回HDMI TX,以便通过链路进行传输。
    • CPU子系统作为身份验证主控制器确保在任何给定时间只有一个HDCP TX IP处于主动状态,而另一个处于被动状态。
    • 同样,HDCP RX也解密通过链路从外部HDCP TX接收的数据。
  2. 您需要使用Digital Content Protection (DCP)发布的产品秘钥对HDCP IP进行编程。加载以下秘钥:
    表 52.  DCP发布的产品秘钥
    HDCP TX/RX 秘钥
    HDCP2x TX 16 bytes: Global Constant (lc128)
    RX
    • 16 bytes (same as TX): Global Constant (lc128)
    • 320 bytes: RSA Private Key (kprivrx)
    • 522 bytes: RSA Public Key Certificate (certrx)
    HDCP1x TX
    • 5 bytes: TX Key Selection Vector (Aksv)
    • 280 bytes: TX Private Device Keys (Akeys)
    RX
    • 5 bytes: RX Key Selection Vector (Bksv)
    • 280 bytes: RX Private Device Keys (Bkeys)

    设计示例将密钥存储器实现为简单双端口,双时钟同步RAM。对于诸如HDCP2x TX这样的小密钥尺寸,IP使用普通逻辑中的寄存器来实现密钥存储器。

    注: Intel在任何情况下都不会对HDCP产品秘钥提供设计示例或者Intel FPGA IP。如要使用HDCP IP或者设计示例,您必须成为一个HDCP采用者,直接从Digital Content Protection LLC (DCP)获得产品秘钥。

    如要运行设计示例,您可以在编译时编辑密钥存储器文件以包含产品密钥,或者实现逻辑模块以从外部存储器件安全读取产品密钥并在运行时将它们写入到密钥存储器中。

  3. 您可以使用高达200 MHz的任何频率为HDCP2x IP中实现的加密功能提供时钟。时钟的频率决定了HDCP2x认证运行的速度。您可以选择共享用于Nios II处理器的100 MHz时钟,但与使用200 MHz时钟相比,认证延迟会增加一倍。
  4. 那些必须在HDCP TX与HDCP RX之间交换的值是通过受HDCP保护的接口的HDMI DDC接口(I2C串行接口)进行通信的。HDCP RX必须为它支持的每个链路在I2C总线显示一个逻辑器件。I2C slave为HDCP端口复制,器件地址为0x74。它驱动HDCP2x和HDCP1x RX IP的HDCP寄存器端口(Avalon-MM)。
  5. HDMI TX使用I2C master从RX读取EDID,并将SCDC数据(HDMI 2.0操作所要求的)传输到RX。由Nios II处理器驱动的同一I2C master也用于在TX和RX之间传输HDCP消息。I2C master嵌入在CPU子系统中。
  6. Nios II处理器在认证协议中用作master,并驱动HDCP2x和HDCP1x TX IP的控制和状态寄存器(Avalon-MM)。软件驱动程序实现认证协议状态机,包括证书签名验证、主密钥交换、位置检查、会话密钥交换、配对、链路完整性检查(HDCP1x)和中继器认证,如拓扑信息传播和流管理信息传播。软件驱动程序不实现认证协议所需的任何加密功能。相反,HDCP IP硬件实现了所有加密功能,确保不会访问机密值。
  7. 在一个要求向上游传播拓扑信息的真正的中继器演示中,Nios II处理器驱动HDCP2x和HDCP1x RX IP的Repeater Message Port (Avalon-MM)。当Nios II处理器检测到连接的下游不支持HDCP 或没有连接下游时,Nios II处理器会将RX REPEATER比特清零。在没有下游连接的情况下,RX系统现在是一个端点接收器,而不是一个中继器。相反,Nios II处理器在检测到下游支持HDCP时,将REPEATER比特设置为1。