2.1. HDMI 2.1 RX-TX Retransmitデザインのブロック図
2.2. RX専用またはTX専用のデザインの作成
2.3. ハードウェアおよびソフトウェアの要件
2.4. ディレクトリー構造
2.5. デザインのコンポーネント
2.6. Dynamic Range and Mastering (HDR) InfoFrameの挿入とフィルタリング
2.7. デザインのソフトウェア・フロー
2.8. 異なるFRLレートでのデザインの実行
2.9. クロックスキーム
2.10. インターフェイスの信号
2.11. RTLパラメーターの設計
2.12. ハードウェアの設定
2.13. シミュレーションのテストベンチ
2.14. デザインにおける制限
2.15. デバッグの機能
2.16. デザインのアップグレード
4.2. HDMIを介したHDCPのデザイン例のアーキテクチャー
HDCPの機能は、HDMIまたは他のHDCPで保護されているデジタル・インターフェイスを介して接続されるデバイス間でのデータの転送時に、データを保護します。
HDCPで保護されるシステムには、3つのタイプのデバイスが含まれます。
- ソース (TX)
- シンク (RX)
- リピーター
このデザイン例は、リピーターデバイス内のHDCPシステムを示しており、データを受け入れ複合化し、その後再度データを暗号化して、最後にデータを再送します。リピーターには、HDMIの入力と出力があります。FIFOバッファーをインスタンス化し、HDMIのシンクとソース間で直接HDMIビデオストリームのパススルーを行います。また、いくつかの信号処理を行うことができます。それには、FIFOバッファーをVideo and Image Processing (VIP) Suite IPコアに置き換えることで、ビデオをより解像度の高い形式に変換することなどが含まれます。
図 29. HDMIを介したHDCPのデザイン例のブロック図
次のデザイン例のアーキテクチャーに関する説明は、HDMIを介したHDCPのデザイン例のブロック図に対応するものです。SUPPORT FRL = 1またはSUPPORT HDCP KEY MANAGEMENT = 1の場合、デザイン例の階層は 図 29 とはわずかに異なりますが、基礎となるHDCPの機能は同じです。
- HDCP1xおよびHDCP2xはIPであり、HDMI Intel® FPGA IPのパラメーター・エディターを介して利用することができます。HDMI IPをパラメーター・エディターでコンフィグレーションすると、HDCP1xまたはHDCP2xの一方、もしくは両方のIPをサブシステムの一部として有効にして含めることができます。両方のHDCP IPが有効になっている場合、HDMI IPはカスケードトポロジーでコンフィグレーションされ、HDCP2x IPとHDCP1x IPは連続して接続されます。
- HDMI TXのHDCP出力インターフェイスは、暗号化されていないオーディオ・ビデオ・データを送信します。
- 暗号化されていないデータはアクティブなHDCPブロックによって暗号化され、HDCP入力インターフェイスを介してHDMI TXに戻され、リンクを介して送信されます。
- 認証マスター・コントローラーとしてのCPUサブシステムは、いかなる場合でもHDCP TX IPの一方のみがアクティブであり、別のIPはパッシブであることを保証します。
- 同様に、HDCP RXもまた、外部HDCP TXからリンクを介して受信したデータを複合化します。
- Digital Content Protection (DCP) 発行のプロダクション・キーを使用して、HDCP IPをプログラミングする必要があります。次のキーをロードします。
表 52. DCP発行のプロダクション・キー HDCP TX/RX キー HDCP2x TX 16バイト: グローバル定数 (lc128) RX - 16バイト (TXと同じ): グローバル定数 (lc128)
- 320バイト: RSA秘密鍵 (kprivrx)
- 522バイト: RSA公開鍵証明書 (certrx)
HDCP1x TX - 5バイト: TX鍵選択ベクトル (Aksv)
- 280バイト: TX秘密デバイス鍵 (Akeys)
RX - 5バイト: RX鍵選択ベクトル (Bksv)
- 280バイト: RX秘密デバイス鍵 (Bkeys)
デザイン例では、シンプル・デュアルポート、デュアルクロック同期RAMとしてキーメモリーを実装します。HDCP2x TXなどの小さな鍵長の場合、IPは通常のロジックのレジスターを使用してキーメモリーを実装します。
注: インテルでは、いかなる場合においても、デザイン例でHDCPのプロダクション・キーまたはインテル FPGA IPを提供することはありません。HDCP IPまたはデザイン例を使用するには、HDCPの利用者となり、Digital Content Protection LLC (DCP) から直接プロダクション・キーを取得する必要があります。デザイン例を実行するには、キー・メモリー・ファイルをコンパイル時に編集してプロダクション・キーを含める、もしくはロジックブロックを実装してランタイムに外部ストレージデバイスからプロダクション・キーを安全に読み出し、それらをキーメモリーに書き込む必要があります。
- HDCP2x IPに実装されている暗号化機能では、最大200MHzの周波数のクロックを使用することができます。このクロックの周波数により、HDCP2xの認証動作の速度が決まります。Nios IIプロセッサーに使用される100MHzのクロックを共有することもできますが、認証のレイテンシーは200MHzのクロックを使用している場合に比べて2倍になります。
- HDCP TXとHDCP RX間でやり取りする必要がある値は、HDCPで保護されているインターフェイスのHDMI DDCインターフェイス (I2Cシリアル・インターフェイス) を介して通信されます。HDCP RXでは、サポートするリンクごとにI2Cバスのロジカルデバイスを提供する必要があります。I2Cスレーブは、デバイスアドレス0x74でHDCPポートに複製されます。これは、HDCP2x RX IPとHDCP1x RX IPのHDCPレジスターポート (Avalon-MM) を駆動します。
- HDMI TXは、I2Cマスターを使用してEDIDをRXから読み出し、HDMI 2.0の動作に必要なSCDCデータをRXに転送します。また、Nios IIプロセッサーによって駆動される同じI2Cマスターを使用し、HDCPメッセージをTXとRX間で転送します。I2Cマスターは、CPUサブシステムに組み込まれています。
- Nios IIプロセッサーは認証プロトコルでマスターとして機能し、HDCP2xおよびHDCP1xの両方のTX IPのコントロールおよびステータスレジスター (Avalon-MM) を駆動します。 ソフトウェア・ドライバーは、認証プロトコルのステートマシンを実装します。これには証明書の署名検証、マスター鍵の交換、位置の確認、セッション鍵の交換、ペアリング、リンクの整合性チェック (HDCP1x)、リピーターでの認証 (トポロジー情報の伝播、ストリーム管理情報の伝播など) が含まれます。ソフトウェア・ドライバーは、認証プロトコルで必要な暗号化機能を実装しません。代わりに、HDCP IPハードウェアですべての暗号化機能を実装し、機密値にアクセスできないようにします。
- 真のリピーターのデモンストレーションでは、トポロジー情報をアップストリームに伝播する必要があります。その際に、Nios IIプロセッサーは、HDCP2xおよびHDCP1xの両方のRX IPのリピーター・メッセージ・ポート (Avalon-MM) を駆動します。Nios IIプロセッサーは、接続しているダウンストリームがHDCP対応ではないことを検出した場合、またはダウンストリームの接続がない場合に、RXのREPEATERビットを0にクリアします。ダウンストリームの接続がない場合は、RXシステムはリピーターではなくエンドポイントのレシーバーになります。逆に、ダウンストリームがHDCPに対応していることを検出すると、Nios IIプロセッサーはRXのREPEATERビットを1に設定します。