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

ID 683701
日期 11/12/2021
Public
文档目录

4.2. Nios II处理器软件流程

Nios II软件流程图包括对HDMI应用程序的HDCP认证控制。

图 30. Nios II处理器软件流程图
  1. Nios II软件初始化并复位HDMI TX PLL,TX transceiver PHY,I2C master和外部TI retimer。
  2. Nios II软件轮询来自RX速率检测电路的周期性速率检测有效信号,以确定视频分辨率是否发生变化以及是否需要重新配置TX。此软件还会轮询TX热插拔检测信号以确定是否发生了TX热插拔事件。
  3. 当接收到来自RX速率检测电路的有效信号时,Nios II软件从HDMI RX读取SCDC和时钟深度值,并根据检测到的速率检索时钟频段,以确定是否需要HDMI TX PLL和收发器PHY重配置。如果需要TX重配置,那么Nios II软件会命令I2C master将SCDC值发送到外部RX。然后命令重配置HDMI TX PLL和TX收发器PHY,然后是器件重新校准和复位序列。如果速率不变,那么不需要TX重配置和HDCP重新认证。
  4. 当发生TX热插拔事件时,Nios II软件会命令I2C master将SCDC值发送到外部RX,然后从RX读取EDID并更新内部EDID RAM。此软件然后将EDID信息传播到上游。
  5. Nios II软件通过命令I2C master从外部RX读取offset 0x50来检测下游是否支持HDCP来启动HDCP活动,否则:
    • 如果返回的HDCP2Version值为1,那么下游支持HDCP2x。
    • 如果整个0x50 read的返回值为0’s,那么下游支持HDCP1x。
    • 如果整个0x50 read的返回值为1’s,那么下游要么不支持HDCP,要么是未激活的。
    • 如果下游之前不支持HDCP或者是未激活的,但当前支持HDCP,那么此软件会将repeater upstream (RX)的REPEATER比特设为1以指示RX现在是一个中继器(repeater)。
    • 如果下游之前支持HDCP,但当前不支持HDCP或者是未激活的,那么此软件会将REPEATER比特设为0以指示RX现在是一个端点接收器(endpoint receiver)。
  6. 此软件启动HDCP2x认证协议,包括RX证书签名验证、主密钥交换、位置检查、会话密钥交换、配对、中继器认证等拓扑信息传播。
  7. 当处于认证状态时,Nios II软件会命令I2C master从外部RX轮询RxStatus寄存器,如果软件检测到REAUTH_REQ比特被设置,那么它会启动重新认证并禁止TX加密。
  8. 当下游是一个中继器并且RxStatus寄存器的READY比特设为1,那么这通常表明下游拓扑已更改。因此,Nios II软件命令I2C master从下游读取 ReceiverID_List并验证列表。如果此列表有效并且未检测到拓扑错误,那么此软件继续到 Content Stream Management模块。否则,它会启动重新认证并禁止TX加密。
  9. Nios II软件准备ReceiverID_ListRxInfo值,然后写入到repeater upstream (RX)的Avalon-MM Repeater Message端口。RX然后将此列表传播到外部TX(上游)。
  10. 至此,认证完成。此软件使能TX加密。
  11. 此软件启动HDCP1x认证协议,包括与中继器的密钥交换和认证。
  12. Nios II软件通过分别读取和比较外部RX (downstream)和HDCP1x TX的Ri’和Ri来执行链路完整性检查。如果值不匹配,则表示失去同步,软件将启动重新认证并禁止TX加密。
  13. 如果下游是一个中继器并且Bcaps寄存器的READY比特设为1,那么这通常表明下游拓扑已更改。因此,Nios II软件会命令I2C master从下游读取KSV list值并验证列表。如果此列表有效并且未检测到拓扑错误,那么此软件准备KSV listBstatus值并写入到repeater upstream (RX)的Avalon-MM Repeater Message端口。RX然后将此列表传播到外部TX(上游)。否则,它将启动重新认证并禁止TX加密。