DisplayPort 英特尔® Stratix® 10 FPGA IP设计实例用户指南

ID 683887
日期 9/14/2022
Public
文档目录

3.3. Nios II处理器软件流程

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

图 13. Nios II处理器软件流程图
  1. VESA DisplayPort Standard v1.4支持四种链路速率(1.62 Gbps、2.7 Gbps、5.4 Gbps和8.1 Gbps)。您可以动态地从一种数据速率切换到另一种数据速率。需要收发器重新配置以支持动态链路速率切换。DisplayPort IP设计实例采用预校准方法以减少收发器重新配置持续时间。在上电或按钮复位时,DisplayPort重配置模块启动收发器重新配置以扫描所有支持的链路速率和所有通道数。在每个数据速率完成重新配置后,每个数据速率都会重新校准。每个数据速率的校准完成后,将根据相应的数据速率存储预定义的校准寄存器。
  2. 当预校准步骤完成时,重配置模块已准备好开始DisplayPort链路训练。每当DisplayPort IP发送新的链路速率请求或热插拔事件时,重配置模块都会启动对收发器的重配置。重新配置流程包括检索与链路速率相对应的校准寄存器偏移值,并将该值重新配置到收发器。无需重新校准。重配置完成后,收发器已准备好接收链路速率,并且可以启动HDCP认证。
  3. Nios® II软件开启HDCP有效性,首先需要通过命令DisplayPort AUX控制器从外部RX读取RxCaps以及Bcaps来检测下游器件是否支持HDCP,否则:
    • 如果返回的RxCaps的HDCP_CAPABLE比特为1,则下游器件支持HDCP2x。
    • 如果返回的Bcaps的HDCP_CAPABLE比特为1,则下游器件支持HDCP1x。
    • 如果返回的RxCaps和Bcaps的HDCP_CAPABLE比特都为0,则下游器件要么不支持HDCP,要么无效。
    • 如果下游器件之前不支持HDCP或者无效,但当前支持HDCP,那么此软件会将repeater upstream (RX)的REPEATER比特设为1以指示RX现在是一个中继器(repeater)。
    • 如果下游器件之前支持HDCP,但当前不支持HDCP或者为无效,那么此软件会将REPEATER比特设为0以指示RX现在是一个端点接收器(endpoint receiver)。
  4. 此软件启动HDCP2x认证协议,包括RX证书签名验证、主密钥交换、位置检查、会话密钥交换、配对、中继器认证等拓扑信息传播。
  5. 当处于认证状态时, Nios® II软件会处理令CP_IRQ中断(如有),并且从外部RX读取RxStatus寄存器。如果软件检测到REAUTH_REQ比特被设置,它就会启动重新认证并禁用TX加密。
  6. 当下游器件是一个中继器并且RxStatus寄存器的READY比特设为1,那么这通常表明下游器件拓扑已更改。因此,Nios II软件命令AUX从下游器件读取ReceiverID_List并验证该列表。如果此列表有效并且未检测到拓扑错误,则此软件继续处理到Content Stream Management模块。否则,它会启动重新认证并禁用TX加密。
  7. Nios® II软件准备ReceiverID_ListRxInfo值,然后写入到repeater upstream (RX)的 Avalon® MM Memory-mapped Repeater Message端口。然后RX将此列表传播到外部TX(上游)。
  8. 至此,认证完成。此软件使能TX加密。
  9. 此软件启动HDCP1x认证协议,包括与中继器的密钥交换和认证。
  10. Nios® II软件遇到CP_IRQ中断时,通过分别从外部RX (downstream)和HDCP1x TX读取并比较Ri’和Ri来执行链路完整性检查。如果值不匹配,则表示失去同步,软件将启动重新认证并禁用TX加密。
  11. 如果下游器件是一个中继器并且Bcaps寄存器的READY比特设为1,该情况通常表明下游器件拓扑已更改。因此, Nios® II软件会命令AUX控制器从下游器件读取KSV list值并验证列表。如果此列表有效并且未检测到拓扑错误,那么此软件准备KSV listBstatus值并写入repeater upstream (RX)的 Avalon® Memory-mapped Repeater Message端口。RX然后将此列表传播到外部TX(上游)。否则,它将启动重新认证并禁用TX加密。