HDMI インテル® Arria 10 FPGA IPデザイン例のユーザーガイド

ID 683156
日付 5/12/2021
Public
ドキュメント目次

4.3. Nios IIプロセッサーのソフトウェア・フロー

Nios IIソフトウェアのフローチャートには、HDMIのアプリケーションを介したHDCPの認証制御が含まれます。

図 30. Nios IIプロセッサーのソフトウェアのフローチャート
  1. Nios IIソフトウェアは、HDMI TX PLL、TXトランシーバーPHY、I2Cマスター、外部TIリタイマーを初期化およびリセットします。
  2. Nios IIソフトウェアは、RXレート検出回路からの定期的なレート検出有効信号をポーリングし、ビデオ解像度が変更されており、TXのリコンフィグレーションが必要かを判断します。ソフトウェアはまた、TXホットプラグ検出信号をポーリングし、TXホットプラグ・イベントが発生したかを判断します。
  3. RXレート検出回路から有効な信号を受信すると、NiosIIソフトウェアはHDMI RXからSCDCとクロック深度の値を読み出し、検出されたレートに基づきクロック周波数バンドを取得して、HDMI TX PLLとトランシーバーPHYのリコンフィグレーションが必要かを判断します。TXのリコンフィグレーションが必要な場合は、NiosIIソフトウェアはI2Cにマスターに対して、SCDC値を外部RXに送信するように命令します。次に、HDMI TX PLLおよびTXトランシーバーPHYをリコンフィグレーションするように命令し、それにデバイスのリキャリブレーション、リセットシーケンスが続きます。レートが変更されない場合は、TXのリコンフィグレーションとHDCPの再認証はどちらも必要ありません。
  4. TXホットプラグ・イベントが発生すると、NiosIIソフトウェアはI2Cマスターに対して、SCDC値を外部RXに送信するように命令します。その後、RXからEDIDを読み出し、内部EDID RAMを更新します。ソフトウェアは次に、EDID情報をアップストリームに伝播します。
  5. Nios IIソフトウェアは、I2Cマスターに対して外部RXからオフセット0x50を読み出すように命令することで、HDCPアクティビティーを開始し、ダウンストリームがHDCPに対応しているかを検出します。
    • 返されたHDCP2Versionの値が1の場合、ダウンストリームはHDCP2xに対応しています。
    • 0x50読み出し全体の戻り値が0の場合、ダウンストリームはHDCP1xに対応しています。
    • 0x50読み出し全体の戻り値が1の場合、ダウンストリームはHDCPに対応していない、もしくは非アクティブです。
    • 以前はHDCP対応ではない、もしくは非アクティブなダウンストリームが現在はHDCPに対応している場合、ソフトウェアはアップストリームのリピーター (RX) のREPEATERビットを1に設定し、RXは現在リピーターであることを示します。
    • 以前はHDCPに対応していたダウンストリームが現在はHDCPに対応していない、または非アクティブな場合、ソフトウェアはREPEATERビットを0に設定し、RXが現在エンドポイント・レシーバーであることを示します。
  6. ソフトウェアは、HDCP2xの認証プロトコルを開始します。これには、RX証明書の署名検証、マスター鍵の交換、位置の確認、セッション鍵の交換、ペアリング、リピーターでの認証 (トポロジー情報の伝播など) が含まれます。
  7. 認証状態の際は、NiosIIソフトウェアはI2Cマスターに対して、RxStatusレジスターを外部RXからポーリングするように命令します。ソフトウェアでREAUTH_REQビットが設定されていることを検出すると、再認証が開始され、TXの暗号化が無効になります。
  8. ダウンストリームがリピーターで、RxStatusレジスターのREADYビットが1に設定されている場合は通常、ダウンストリームのトポロジーが変更されたことを示します。そのため、NiosIIソフトウェアはI2Cマスターに対して、ReceiverID_Listをダウンストリームから読み出し、リストを検証するように命令します。リストが有効で、トポロジーエラーが検出されない場合、ソフトウェアはコンテンツストリーム管理モジュールに進みます。それ以外の場合は、再認証を開始し、TXの暗号化を無効にします。
  9. Nios IIソフトウェアは、ReceiverID_ListRxInfoの値を準備し、アップストリームのリピーター (RX) のAvalon-MMリピーター・メッセージ・ポートに書き込みます。RXではその後、リストを外部TX (アップストリーム) に伝播します。
  10. この時点で認証は完了しています。ソフトウェアはTXの暗号化を有効にします。
  11. ソフトウェアは、HDCP1x認証プロトコルを開始します。これには、鍵の交換とリピーターでの認証が含まれます。
  12. Nios IIソフトウェアは、リンクの整合性チェックを実行します。これは、Ri’およびRiをそれぞれ外部RX (ダウンストリーム) およびHDCP1x TXから読み出し、比較することによって行います。値が一致しない場合は同期を失っていることを示しています。ソフトウェアは再認証を開始し、TXの暗号化を無効にします。
  13. ダウンストリームがリピーターで、BcapsレジスターのREADYビットが1に設定されている場合は通常、ダウンストリームのトポロジーが変更されたことを示します。そのため、NiosIIソフトウェアはI2Cマスターに対して、KSV listの値をダウンストリームから読み出し、リストを検証するように命令します。リストが有効で、トポロジーエラーが検出されない場合、ソフトウェアはKSV listBstatusの値を準備し、アップストリームのリピーター (RX) のAvalon-MMリピーター・メッセージ・ポートに書き込みます。RXではその後、リストを外部TX (アップストリーム) に伝播します。それ以外の場合は、再認証を開始し、TXの暗号化を無効にします。