インテルのみ表示可能 — GUID: dus1577428559546
Ixiasoft
インテルのみ表示可能 — GUID: dus1577428559546
Ixiasoft
6.4. HDCP 1.3 RX のアーキテクチャー
HDCP 1.3 RX コアは完全な自律型です。DisplayPort アプリケーションの場合、HDCP トランスミッターと HDCP レシーバーが AUX チャネルを介して HDCP レジスター値を通信します。Enable GPU control パラメーターをオンにし、 Nios® II プロセッサーを使用して、HDCP レジスターポート ( Avalon®メモリーマップド・インターフェイス) を介して HDCP 1.3 RX コアを駆動します。HDCP レジスターポートは公開されておらず、Support HDCP 1.3 パラメーターを有効にすると自動的に駆動されます。
HDCP 仕様の要件により、HDCP 1.3 RX コアを DCP 発行のプロダクション・キー、つまり Device Private Keys (Bkeys) と Key Selection Vector (Bksv) でプログラムする必要があります。IP は、HDCP Key ポート (rx_hdcp インターフェイス) を介してコアの外部にあるオンチップメモリーからキーを取得します。オンチップメモリーでは、次の表に示す配置でキーデータを格納する必要があります。
アドレス | コンテンツ |
---|---|
6'h28 | {16’d0, Bksv[39:0]} |
6'h27 | Bkeys39[55:0] |
6'h26 | Bkeys38[55:0] |
... | ... |
6'h01 | Bkeys01[55:0] |
6'h00 | Bkeys00[55:0] |
ビデオストリームおよびセカンダリー・データ・レイヤーでは、ビデオおよびセカンダリー・データ入力ポートを介してオーディオおよびビデオコンテンツを受信し、復号化操作を実行します。ビデオストリームおよびセカンダリー・レイヤーでは、DisplayPort IP によって提供される暗号化ステータス信号 (ESS) を検出し、フレームを復号化するタイミングを決定します。
HDCP 1.3 RX コアをリピーター・アップストリーム・インターフェイスとして実装するには、IP で特定の情報 (KSV リストや Bstatus など) をアップストリーム・トランスミッターに伝播し、SHA-1 ハッシュ・ダイジェストに使用する必要があります。リピーターのダウンストリーム・インターフェイス (TX) では、リピーター・メッセージ・ポート (rx_rpt_msg インターフェイス) を介して Avalon®メモリーマップド・インターフェイス 使用してこの情報を提供する必要があります。同じクロックソースを使用して、HDCP レジスターポートと (または DisplayPort Intel® FPGA IP のコントローラー・インターフェイス) およびリピーター・メッセージ・ポートのクロックを駆動することができます。
次の表で定義されている RX レジスターのマッピングは、HDCP 仕様で定義されている HDCP 1.3 レシーバーのアドレス空間に相当します。
アドレス | レジスター | R/W | リセット | Bit | ビット名 | 詳細 |
---|---|---|---|---|---|---|
0x00 | BKSV0 | RO | – | 7:0 | – | HDCPレシーバーKSVのビット [7:0] |
0x01 | BKSV1 | 7:0 | HDCPレシーバーKSVのビット [15:8] | |||
0x02 | BKSV2 | 7:0 | HDCPレシーバーKSVのビット [23:16] | |||
0x03 | BKSV3 | 7:0 | HDCPレシーバーKSVのビット [31:24] | |||
0x04 | BKSV4 | 7:0 | HDCPレシーバーKSVのビット [39:32] | |||
0x05 | RO_PRIME0 | RO | 0x00 | 7:0 | – | 認証応答。RO’のビット [7:0] |
0x06 | RO_PRIME1 | 7:0 | – | 認証応答。RO’のビット [15:8] | ||
0x07 | AKSV0 | WO | 0x00 | 7:0 | – | HDCPトランスミッターKSVのビット [7:0] |
0x08 | AKSV1 | 7:0 | HDCPトランスミッターKSVのビット [15:8] | |||
0x09 | AKSV2 | 7:0 | HDCPトランスミッターKSVのビット [23:16] | |||
0x0A | AKSV3 | 7:0 | HDCPトランスミッターKSVのビット [31:24] | |||
0x0B | AKSV4 | 7:0 | HDCPトランスミッターKSVのビット [39:32] | |||
0x0C | AN0 | WO | 0x00 | 7:0 | – | HDCPセッション乱数Anのビット [7:0] |
0x0D | AN1 | 7:0 | HDCPセッション乱数Anのビット [15:8] | |||
0x0E | AN2 | 7:0 | HDCPセッション乱数Anのビット [23:16] | |||
0x0F | AN3 | 7:0 | HDCPセッション乱数Anのビット [31:24] | |||
0x10 | AN4 | 7:0 | HDCPセッション乱数Anのビット [39:32] | |||
0x11 | AN5 | 7:0 | HDCPセッション乱数Anのビット [47:40] | |||
0x12 | AN6 | 7:0 | HDCPセッション乱数Anのビット [55:48] | |||
0x13 | AN7 | 7:0 | HDCPセッション乱数Anのビット [63:56] | |||
0x14 | V_PRIME_H0_0 | RO | 0x00 | 7:0 | – | SHA-1ハッシュ値のH0部分で、認証プロトコルHDCPリピーターで使用されます。H0値のビット [7:0]。 |
0x15 | V_PRIME_H0_1 | 7:0 | H0値のビット [15:8] | |||
0x16 | V_PRIME_H0_2 | 7:0 | H0値のビット [23:16] | |||
0x17 | V_PRIME_H0_3 | 7:0 | H0値のビット [31:24] | |||
0x18 | V_PRIME_H1_0 | RO | 0x00 | 7:0 | – | SHA-1ハッシュ値のH1部分で、認証プロトコルHDCPリピーターで使用されます。H1値のビット [7:0]。 |
0x19 | V_PRIME_H1_1 | 7:0 | H1値のビット [15:8] | |||
0x1A | V_PRIME_H1_2 | 7:0 | H1値のビット [23:16] | |||
0x1B | V_PRIME_H1_3 | 7:0 | H1値のビット [31:24] | |||
0x1C | V_PRIME_H2_0 | RO | 0x00 | 7:0 | – | SHA-1ハッシュ値のH2部分で、認証プロトコルHDCPリピーターで使用されます。H2値のビット [7:0]。 |
0x1D | V_PRIME_H2_1 | 7:0 | H2値のビット [15:8] | |||
0x1E | V_PRIME_H2_2 | 7:0 | H2値のビット [23:16] | |||
0x1F | V_PRIME_H2_3 | 7:0 | H2値のビット [31:24] | |||
0x20 | V_PRIME_H3_0 | RO | 0x00 | 7:0 | – | SHA-1ハッシュ値のH3部分で、認証プロトコルHDCPリピーターで使用されます。H3値のビット [7:0]。 |
0x21 | V_PRIME_H3_1 | 7:0 | H3値のビット [15:8] | |||
0x22 | V_PRIME_H3_2 | 7:0 | H3値のビット [23:16] | |||
0x23 | V_PRIME_H3_3 | 7:0 | H3値のビット [31:24] | |||
0x24 | V_PRIME_H4_0 | RO | 0x00 | 7:0 | – | SHA-1ハッシュ値のH4部分で、認証プロトコルHDCPリピーターで使用されます。H4値のビット [7:0]。 |
0x25 | V_PRIME_H4_1 | 7:0 | H4値のビット [15:8] | |||
0x26 | V_PRIME_H4_2 | 7:0 | H4値のビット [23:16] | |||
0x27 | V_PRIME_H4_3 | 7:0 | H4値のビット [31:24] | |||
0x28 | BCAPS | RO | 0x000 | 7:2 | Reserved | このビットは0として読み出されます。 |
1 | REPEATER | HDCPリピーター機能 0 = レシーバーはリピーターではない 1 = レシーバーはリピーターである |
||||
0 | HDCP_CAPABLE | このビットは1として読み出されます。 | ||||
0x29 | BSTATUS | RO | 0x00 | 7:4 | Reserved | このビットは0として読み出されます。 |
3 | REAUTHENTICATION_REQUEST | 詳細は、DisplayPort 仕様バージョン 1.3 の HDCP を参照してください。 | ||||
2 | LINK_INTEGRITY_FAILURE | |||||
1 | RO'_AVAILABLE | |||||
0 | READY | |||||
0x2A | BINFO0 | RO | 0x00 | 7 | MAX_DEVS_EXCEEDED | トポロジー・エラー・インジケーター。1 に設定すると、127 台以上のダウンストリーム・デバイスを接続することができます。 |
6:0 | DEVICE_COUNT | 接続されているダウンストリーム・デバイスの総数。HDCP レシーバーの場合は常にゼロです。この数には、HDCP リピーター自体は含まれず、HDCP リピーターのダウンストリーム・デバイスのみが含まれます。 | ||||
0x2B | BINFO1 | RO | 0x00 | 7:4 | Reserved | このビットは0として読み出されます。 |
3 | MAX_CASCADE_EXCEEDED | トポロジー・エラー・インジケーター。1 に設定すると、7 レベルを超えるビデオリピーターをカスケードすることができます。 | ||||
2:0 | DEPTH | 3 ビットのリピーターカスケード深度。この値は、接続トポロジーで接続されるレベル数を示します。 | ||||
0x2C | KSV_FIFO | RO | 0x00 | 7:0 | – | キー選択ベクター FIFO。自動インクリメント・アドレスを使用して HDCP リピーターからダウンストリーム KSV をプルするために使用されます。HDCP リピーターでない HDCP レシーバー (REPEATER=0) では全バイトが 0x00 として読み出されます。 |
0x3E | CTRL | WO | 0x00 | 31 | Reserved | 予約済み |
30 | CP_IRQ_DET | STATUS レジスターの CP_IRQ_STATUS フラグをリセットするには、1 に設定します。 | ||||
29 | KSV_FIFO_OFFSET_RST | KSV_FIFO レジスターのオフセットをリセットするには 1 に設定します。 | ||||
28 | EXIT_AUTH | 認証状態を終了します。 | ||||
27:0 | Reserved | 予約済み | ||||
0x3F | STATUS | RO | 0x00 | 31:20 | Reserved | 予約済み |
19 | AUTHENTICATED | 0: HDCP 1.3x イベントが認証されている状態です。 1: HDCP 1.3x イベントが認証されていない状態です。 |
||||
18 | CP_IRQ_STATUS | 0: HDCP 1.3 イベントはありません。 1: 1 つの HDCP 1.3 イベントが発生し、HPD 割り込みが発生しました。 |
||||
17:0 | Reserved | 予約済み |
アドレス | レジスター | R/W | リセット | Bit | ビット名 | 詳細 |
---|---|---|---|---|---|---|
0x00 | RPT_KSV_LIST | WO | 0x00000000 | 31:8 | Reserved | 予約済み |
7:0 | KSV_LIST | KSVリストのバイト書き込み (ビッグ・エンディアン順) | ||||
0x01 | RPT_BSTATUS | RW | 0x00000000 | 31:19 | Reserved | 予約済み |
18 | REQUEST | 読み取り専用。コアでアサートすることで、KSV_LIST と BSTATUS を要求します。これは通常、接続アップストリームで再認証がトリガーされると発生します。REQUEST がアサートされると、READY もアサートされることに注意してください。 | ||||
17 | READY | 読み取り専用。コアでアサートし、KSV_LIST および BSTATUS が処理されていることを示します。このビットのアサート後に、KSV_LIST および BSTATUS を書き込みます。 | ||||
16 | VALID | KSV_LIST および BSTATUS が書き込まれると1に設定されます。KSV_LIST および BSTATUS が読み出されると、コアによってセルフクリアされます。 | ||||
15:0 | BSTATUS | [15:12]: 予約済み [11]: MAX_CASCADE_EXCEEDED [10:8]: DEPTH [7]: MAX_DEVS_EXCEEDED [6:0]: DEVICE_COUNT |
||||
0x02 | RPT_MISC | RW | – | 31:1 | Reserved | 予約済み |
0 | REPEATER | ダウンストリームが接続されていない場合、または接続ダウンストリームが HDCP 1.3 に対応していない場合に 0 に設定されます。これは、レシーバー IP はエンドポイント・レシーバーであり、リピーターではないことを意味します。 接続ダウンストリームがHDCPに対応している場合は1に設定されます。 |