インテルのみ表示可能 — GUID: rtd1577432074013
Ixiasoft
インテルのみ表示可能 — GUID: rtd1577432074013
Ixiasoft
6.5. HDCP 2.3 RX のアーキテクチャー
HDCP 2.3 RX コアは完全な自律型です。DisplayPort アプリケーションの場合、HDCP トランスミッターと HDCP レシーバーが AUX チャネルを介して HDCP レジスター値を通信します。Enable GPU control パラメーターをオンにし、 Nios® II プロセッサーを使用して、HDCP レジスターポート ( Avalon®メモリーマップド・インターフェイス) を介して HDCP 2.3 RX コアを駆動します。HDCP レジスターポートは公開されておらず、Support HDCP 2.3 パラメーターを有効にすると自動的に駆動されます。
HDCP 仕様の要件により、HDCP 2.3 RX コアを DCP 発行のプロダクション・キー、つまり Global Constant (lc128)、RSA private key (kprivrx)、および RSA Public Key Certificate (certrx) でプログラムする必要があります。IP は、HDCP Key ポート (rx_hdcp インターフェイス) を介してコアの外部にあるオンチップメモリーからキーを取得します。オンチップメモリーでは、次の表に示す配置でキーデータを格納する必要があります。
アドレス | コンテンツ |
---|---|
8'hE3 | lc128[127:96] |
8'hE2 | lc128[95:64] |
8'hE1 | lc128[63:32] |
8'hE0 | lc128[31:0] |
8'hDF | kprivrx_p[511:480] |
... | ... |
8'hD0 | kprivrx_p[31:0] |
8'hCF | kprivrx_q[511:480] |
... | ... |
8'hC0 | kprivrx_q[31:0] |
8'hBF | kprivrx_dp[511:480] |
... | ... |
8'hB0 | kprivrx_dp[31:0] |
8'hAF | kprivrx_dq[511:480] |
... | ... |
8'hA0 | kprivrx_dq[31:0] |
8'h9F | kprivrx_qinv[511:480] |
... | ... |
8'h90 | kprivrx_qinv[31:0] |
8'h83–8'h8F | 予約済み |
8'h82 | {16’d0, certrx[4175:4160]} |
8'h81 | certrx[4159:4128] |
... | ... |
8'h01 | certrx[63:32] |
8'h00 | certrx[31:0] |
ビデオストリームおよびセカンダリー・データ・レイヤーでは、ビデオおよびセカンダリー・データ入力ポートを介してオーディオおよびビデオコンテンツを受信し、復号化操作を実行します。ビデオストリームおよびセカンダリー・レイヤーでは、DisplayPort IP によって提供される暗号化ステータス信号 (ESS) を検出し、フレームを復号化するタイミングを決定します。
HDCP 2.3 RX コアをリピーター・アップストリーム・インターフェイスとして実装するには、IP で特定の情報 (ReceiverID List や RxInfo など) をアップストリーム・トランスミッターに伝播し、HMAC の計算に使用する必要があります。リピーターのダウンストリーム・インターフェイス (TX) では、リピーター・メッセージ・ポート (rx_rpt_msg インターフェイス) を介して Avalon®メモリーマップド・インターフェイス 使用してこの情報を提供する必要があります。同じクロックソースを使用して、HDCP レジスターポートと (または DisplayPort Intel® FPGA IP のコントローラー・インターフェイス) およびリピーター・メッセージ・ポートのクロックを駆動することができます。
以下の表に RX レジスター と RX リピーターレジスターのマッピングを定義します。
アドレス | レジスター | R/W | リセット | Bit | ビット名 | 詳細 |
---|---|---|---|---|---|---|
0x40 | CTRL | RW | 0x00000000 | 31 | Reserved | 予約済み |
30 | CP_IRQ_DET | 書き込み専用。RXSTATUS レジスターの CP_IRQ_STATUS フラグをリセットするには 1 に設定します。 | ||||
29 | STOP_DET | 書き込み専用。HDCP メッセージの終了を示すには 1 に設定します。 | ||||
28:1 | Reserved | 予約済み | ||||
0 | TYPE | 0: タイプ 0 のコンテンツストリーム。
1: タイプ 1 のコンテンツストリーム。
注: Non-Repeater モードにのみ適用されます。
|
||||
0x41 | RXSTATUS | RO | 0x00000000 | 31:19 | Reserved | 予約済み |
18 | CP_IRQ_STATUS | 0: HDCP 2.3 イベントはありません。 1: 1 つの HDCP 2.3 イベントが発生し、HPD 割り込みが発生しました。 |
||||
17:5 | Reserved | 予約済み | ||||
4 | LINK_INTEGRITY_FAILURE | RxStatus[4:0]。 詳細は、DisplayPort 仕様バージョン 2.3 の HDCP を参照してください。 |
||||
3 | REAUTH_IRQ | |||||
2 | PAIRING_AVAILABLE | |||||
1 | HPRIME_AVAILABLE | |||||
0 | READY | |||||
0x42 | MESSAGES | RW | 0x00000000 | 31:8 | Reserved | 予約済み |
7:0 | MESSAGES | バーストモードで IP へまたは IP からのメッセージ (バイト単位) の書き込みまたは読み出し。 | ||||
0x43 | RXCAPS | RO | 0x00020002 | 31:24 | Reserved | 予約済み |
23:16 | VERSION | デフォルト値は 0x02 です。 | ||||
15:2 | RECEIVER_CAPABILITY_MASK | 予約済み。0 として読み出されます。 | ||||
1 | HDCP_CAPABLE | デフォルト値は 0x01 です。RX は HDCP 2.3 対応であること示します。 | ||||
0 | REPEATER | 0: RX がエンドポイント・レシーバーであることを示します。 1: RX がダウンストリーム接続をサポートするリピーターであることを示します。 |
||||
0x44 | STRMTYP_L | RW | 0x00000000 | 31:0 | STRMTYP_L | リピーターモード以外で動作している場合は使用されません。 MSTモードで動作する場合、ビット 1 からビット 31 は、タイムスロット 1 からタイムスロット 31 のストリーム・コンテンツ・タイプを表します。ビット 0 は未使用です。 SST モードで動作する場合、ビット 0 はストリーム・コンテンツ・タイプを表します。ビット 1 からビット 31 は未使用です。 |
0x45 | STRMTYP_H | RW | 0x00000000 | 31:0 | STRMTYP_H | リピーターモード以外で動作している場合は使用されません。 MSTモードで動作する場合、ビット0からビット31は、タイムスロット32からタイムスロット63からタイムスロット63のストリーム・コンテンツ・タイプを表します。 SSTモードで動作する場合、すべてのビットは未使用です。 |
アドレス | レジスター | R/W | リセット | Bit | ビット名 | 詳細 |
---|---|---|---|---|---|---|
0x00 | RPT_RCVDID_LIST | WO | 0x00000000 | 31:8 | Reserved | 予約済み |
7:0 | RCVDID_LIST | ReceiverID_List のバイト書き込み (ビッグ・エンディアン順) | ||||
0x01 | RPT_RXINFO | RW | 0x00000000 | 31:19 | Reserved | 予約済み |
18 | REQUEST | 読み取り専用。コアでアサートすることで、RCVDID_LIST と RXINFO を要求します。これは通常、接続アップストリームで再認証がトリガーされると発生します。REQUEST がアサートされると、READY もアサートされることに注意してください。 | ||||
17 | READY | 読み取り専用。コアでアサートし、RCVDID_LIST および RXINFO が処理されていることを示します。このビットのアサート後に、RCVDID_LIST および RXINFO を書き込みます。 | ||||
16 | VALID | RCVDID_LIST および RXINFO が書き込まれると1に設定されます。RCVDID_LIST および RXINFO が読み出されると、コアによってセルフクリアされます。 | ||||
15:0 | RXINFO | [15:12]: 予約済み [11:9]: DEPTH [8:4]: DEVICE_COUNT [3]: MAX_DEVS_EXCEEDED [2]: MAX_CASCADE_EXCEEDED [1]: HDCP2_REPEATER_DOWNSTREAM [0]: HDCP1_DEVICE_DOWNSTREAM |
||||
0x02 | RPT_TYPE | RO | 0x00000000 | 31:9 | Reserved | 予約済み |
8 | VALID | コアでアサートされ、コンテンツのストリームの TYPE が有効なことを示します。TYPE が読み出されるとコアによってセルフクリアされます。 | ||||
7:0 | TYPE | 0x00: タイプ0のコンテンツストリーム 0x01: タイプ1のコンテンツストリーム 0x02-0xFF: 予約済み。タイプ1のコンテンツストリームとして扱われます。 |
||||
0x03 | RPT_MISC | RW | 0x00000000 | 31:1 | Reserved | 予約済み |
0 | REPEATER | ダウンストリームが接続されていない場合、または接続ダウンストリームが HDCP 2.3 に対応していない場合に 0 に設定されます。これは、レシーバー IP はエンドポイント・レシーバーであり、リピーターではないことを意味します。 接続ダウンストリームがHDCPに対応している場合は1に設定されます。 |