高帶寬數(shù)字內(nèi)容保護(hù)技術(shù)接收端的研究與設(shè)計(jì)[圖]

相關(guān)專(zhuān)題: 芯片

摘要:研究了高帶寬數(shù)字內(nèi)容保護(hù)技術(shù)的接收端設(shè)計(jì)。分析討論了HDCP接收端的基本結(jié)構(gòu)以及實(shí)現(xiàn)接收端的設(shè)計(jì)方法,其中包括數(shù)據(jù)加密、控制器、寄存器、I2C接口共4個(gè)子模塊的設(shè)計(jì)。HDCP是一個(gè)內(nèi)嵌在數(shù)字電視接口或高清晰度多媒體接口芯片中的IP核模塊。將HDCP集成在DVI\HDMI接口芯片中,可以保證視頻數(shù)據(jù)在視頻設(shè)備間傳輸?shù)暮戏ㄐ、保密性且不被竊取。

高清視頻信號(hào)是一種典型的可以從一個(gè)系統(tǒng)傳輸?shù)紻VI\HDMI接口的信號(hào)。這些接口能保證傳遞的視頻圖像保持原本的質(zhì)量,因此可以獲得更多的終端用戶,但對(duì)于企業(yè)來(lái)說(shuō),同時(shí)會(huì)出現(xiàn)更多沒(méi)有經(jīng)過(guò)授權(quán)和非法復(fù)制傳輸?shù)娘L(fēng)險(xiǎn)。

傳統(tǒng)的知識(shí)版權(quán)保護(hù)技術(shù)僅僅能夠保護(hù)已經(jīng)存儲(chǔ)在某種介質(zhì)上的數(shù)據(jù),但是高清視頻信號(hào)仍然能夠通過(guò)DVI\HDMI之類(lèi)的數(shù)字接口進(jìn)行傳輸,為了解決這個(gè)問(wèn)題,HDCP就應(yīng)運(yùn)而生。HDCP是一個(gè)基于數(shù)據(jù)加密和授權(quán)驗(yàn)證的內(nèi)容保護(hù)系統(tǒng)。圖1描述了HDCP在數(shù)字視頻信號(hào)的發(fā)射端和接收端系統(tǒng)中的角色。

圖1 視頻傳輸系統(tǒng)中的HDCP

為解決速度和功耗的問(wèn)題,使用最小差分信號(hào)傳輸(TransitiON Minimized Differential Signaling,TMDS)來(lái)傳輸信號(hào)。在DVI和HDMI里都有一個(gè)為控制在發(fā)送端與接收端信息交換的通道,這個(gè)通道類(lèi)似于顯示器數(shù)據(jù)通道(Display Data Channel,DDC)。

1 HDCP接收端的結(jié)構(gòu)

圖2描述了HDCP接收端的基本結(jié)構(gòu)。HDCP接收端有2個(gè)通信模塊:HDCP發(fā)送端位于HDMI\DVI接收端芯片的外部;而接收端位于HDMI\DVI接收端芯片的內(nèi)部。

圖2 HDCP接收端的結(jié)構(gòu)

HDCP發(fā)送端通過(guò)I2C總線發(fā)送授權(quán)認(rèn)證信號(hào)給接收端。HDMI接收端接口通過(guò)HDCP控制寄存器的更新來(lái)發(fā)出操作指令,從而控制HDCP接收端的狀態(tài),以及提供必要的信息HDCP接收端知道工作在視頻傳輸?shù)碾A段,從HDMI接口接收到解密信息并發(fā)送回去。

HDCP接收端由4個(gè)模塊組成:I2C從機(jī)接口,控制寄存器,HDCP控制器以及數(shù)據(jù)加密機(jī)。應(yīng)該注意圖2描述的是HDCP接收端的工作環(huán)境,不能把它理解成HDCP發(fā)送端和HDMI接收端輸入或輸出信號(hào)的最終傳輸示意圖。文中的最終目標(biāo)是設(shè)計(jì)一個(gè)同時(shí)能夠支持DVI和HDMI的HDCP接收端。

當(dāng)打包數(shù)據(jù)或視頻數(shù)據(jù)是邏輯高電平時(shí),數(shù)據(jù)從HDMI輸入到HDCP接收端的解密才有效。數(shù)據(jù)的輸入與輸出必須在2個(gè)時(shí)鐘周期內(nèi)完成。HD MI只有在這個(gè)時(shí)間內(nèi)才能夠接收到數(shù)據(jù)。圖3描述了數(shù)據(jù)輸入與輸出之間的時(shí)序關(guān)系。

圖3 數(shù)據(jù)輸入與輸出之間的時(shí)序圖

2 子模塊的設(shè)計(jì)

2.1 數(shù)據(jù)加密模塊

數(shù)據(jù)加密是為了將數(shù)字內(nèi)容進(jìn)行加密,防止不合法的傳輸和復(fù)制,它是內(nèi)容保護(hù)的核心邏輯模塊。

HDCP加密好的數(shù)據(jù)是由HDCP加密機(jī)產(chǎn)生的24位偽隨機(jī)數(shù)據(jù)流與HDCP保護(hù)內(nèi)容的數(shù)據(jù)按逐位異或的結(jié)果。HDCP加密是一種能同時(shí)為身份授權(quán)認(rèn)證和高速傳輸非壓縮視頻數(shù)據(jù)的特殊加密設(shè)計(jì)。

圖4 數(shù)據(jù)加密模塊

數(shù)據(jù)加密模塊采用流加密方法實(shí)現(xiàn),流加密的結(jié)構(gòu)如圖4所示,主要南3部分組成:

(1)線性反饋移位寄存器(Linear Feedback Shift RegiSTer,LFSR)模塊。包括4個(gè)不同長(zhǎng)度的線性反饋移位寄存器和一個(gè)混疊網(wǎng)絡(luò)。

(2)分組模塊。由2個(gè)結(jié)構(gòu)非常類(lèi)似的輪函數(shù)B和輪函數(shù)K模塊組成。

(3)輸出功能模塊。由基于異或的組合電路組成,在每個(gè)時(shí)鐘脈沖里產(chǎn)生一個(gè)24位的偽隨機(jī)數(shù)據(jù)。

HDCP控制器根據(jù)不同的數(shù)據(jù)流通方式,分為以下幾種不同加密的操作模式:hdcpBlockCipher,hdcp SteamCipher,hdcpRekeyCipher,HDCPRngCipher.在HDCP的協(xié)議中對(duì)上述幾種操作模式都有詳細(xì)的介紹。HDCPRngCipher操作模式僅為用在發(fā)送端中,所以在此不需要支持該種操作模式。

2.2 HDCP接收端控制器

HDCP控制模塊控制HDCP接收端的所有操作,它通過(guò)個(gè)狀態(tài)機(jī)來(lái)實(shí)現(xiàn)以下功能:

(1)HDCP接收端的狀態(tài)的控制。

(2)計(jì)算Km值,HDCP接收端把Key存儲(chǔ)到控制器中。

(3)接收端授權(quán)認(rèn)證狀態(tài)的轉(zhuǎn)換。

(4)HDCP加密狀態(tài)的轉(zhuǎn)換:OESS,EESS,兩種加密方式。

圖5描述了授權(quán)認(rèn)證的4個(gè)狀態(tài)之間的關(guān)系。狀態(tài)A0:未授權(quán)認(rèn)證狀態(tài);狀態(tài)A1:計(jì)算;狀態(tài)A2:授權(quán)認(rèn)證完成;狀態(tài)A3:更新Ri'的值。

圖5 授權(quán)認(rèn)證狀態(tài)圖

在Aksv更新信號(hào)獲得確認(rèn)后,HDCP控制器根據(jù)HDCP發(fā)送端的KSV值使用56位二進(jìn)制的加法來(lái)計(jì)算Km'值。

在一個(gè)時(shí)鐘內(nèi)進(jìn)行20次56位的加法操作可能會(huì)產(chǎn)生不能接受的延遲。為了解決這個(gè)問(wèn)題在此提出兩種方法來(lái)實(shí)現(xiàn)該操作。方法一:采用流水線結(jié)構(gòu),在每個(gè)周期里完成一次56位的加法操作,然后在20個(gè)周期里完成Km'的最終計(jì)算;方法二:使用節(jié)約加法器來(lái)壓縮從2~20的算子,然后執(zhí)行最終的加法操作。方法二比方法一具有更高的可執(zhí)行性,但是需要占用更多的資源;方法一相對(duì)能節(jié)約更多的資源但是延時(shí)大。

根據(jù)HDCP協(xié)議的要求HDCP接收端必須在100 ms內(nèi)完成Km'、Kb'、M0'、R0'值的計(jì)算并把有效的R0'值傳給HDCP的發(fā)送端,該過(guò)程是在HDCP發(fā)送端的讀操作到HDCP發(fā)送端完成把Aksv寫(xiě)到視頻接收端的操作之后進(jìn)行,這就意味著延遲在這不是問(wèn)題,所以在此選擇方法一來(lái)進(jìn)行計(jì)算Km'值。

接收端授權(quán)狀態(tài)機(jī)是控制器模塊的核心部分。其他所有的狀態(tài)機(jī)操作指令都是由這個(gè)狀態(tài)機(jī)發(fā)出的。

授權(quán)狀態(tài)的轉(zhuǎn)換是以Aksv完成接收為標(biāo)志,當(dāng)HDCP發(fā)送端完成把Aksv寫(xiě)到HDCP接收端寄存器0x14位置時(shí),控制寄存器模塊將產(chǎn)生這個(gè)標(biāo)志信號(hào)。

2.3 控制器寄存器

當(dāng)HDCP接收端是第一連接器件時(shí),控制寄存器根據(jù)HDCP協(xié)議中定義的,除了0x20~0x30,0x43地址位,這些是HDCP中繼器的控制寄存器;當(dāng)HDCP接收端是第二連接器件時(shí),僅僅是控制寄存器的子集才允許進(jìn)入的。I2C接口子模塊會(huì)發(fā)出一個(gè)從HDMI接收端接口連接到第一還是第二的指示信號(hào)。

所有的寄存器只有一個(gè)能進(jìn)行寫(xiě)操作的源信號(hào)。源信號(hào)可能來(lái)自3個(gè)地方:HDCP發(fā)送端,HDMI接口以及HDCP接收端。HDCP發(fā)送端能夠往寄存器中的0x10地址中寫(xiě)入Aksv,0x15地址中寫(xiě)入Ainfo,0x18地址中寫(xiě)入An;HDCP接收端能夠往寄存器中的0x08地址中寫(xiě)入Ri,在0x0A地址中寫(xiě)入pj;HDMI能夠往寄存器中的0x00地址中寫(xiě)入Bksv,0x40地址中寫(xiě)入Bcpas,0x41地址中寫(xiě)入Bstatus.寫(xiě)操作的時(shí)鐘信號(hào)不是系統(tǒng)時(shí)鐘而是像素時(shí)鐘。當(dāng)最后一位Aksv寫(xiě)入到寄存器的時(shí)候Aksv,Ainfo寄存器復(fù)位到零,用復(fù)寫(xiě)寄存器機(jī)制來(lái)實(shí)現(xiàn)。

2.4 I2C從機(jī)接口

Philips開(kāi)始開(kāi)發(fā)總線用來(lái)在器件內(nèi)部和電視設(shè)備進(jìn)行通信。HDCP里面定義I2C作為控制通道接口。有3種操作模式:讀(read)、寫(xiě)(write)和短讀(short read)。讀與短讀之間的區(qū)別是看讀取數(shù)據(jù)過(guò)程是在Start(S)還是Repeated Start(RS)條件下初始化的。在短讀模式中,在實(shí)際的讀操作前不需要寫(xiě)入寄存器的偏移地址。

在此HDCP接收端里面必須有一個(gè)能夠支持I2C總線的邏輯器件。I2C與第一連接器件的8位的二進(jìn)制的地址是0111 010x;或者是16進(jìn)制的0x74作為I2C地址,讀寫(xiě)位置零。與第二連接器件的地址是0x76.I2C從機(jī)接口邏輯在決定與控制寄存器的哪部分連接根據(jù)HDCP發(fā)送端指示的從機(jī)地址來(lái)確定。這個(gè)子模塊需注意以下幾點(diǎn):

(1)僅有4個(gè)寄存器支持該寫(xiě)操作即Aksv、Ainfo、An、dbg.

(2)必須有一個(gè)寫(xiě)操作先于Aksv到來(lái)。

(3)第一連接器件、第二連接器件與HDCP連接的端口不一樣。

(4)地址自動(dòng)增加必須由I2C接口實(shí)現(xiàn)。

(5)ksv FIFO讀操作行為地址的增加不同于其他地址增加方法。

(6)授權(quán)觸發(fā)條件:寄存器更新Aksv、Ainfo、An值,最后寫(xiě)入到寄存器中的0x14地址中用以觸發(fā)HDCP接收端的授權(quán)認(rèn)證序列。

在現(xiàn)代設(shè)計(jì)中,設(shè)計(jì)人員一直在尋求一種速度更快,面積更小的電路,以在提高可執(zhí)行性的同時(shí)能減少成本。目前物理層的設(shè)計(jì)是解決這一問(wèn)題的重要手段。用全定制設(shè)計(jì)方法來(lái)設(shè)計(jì)I2C從機(jī)接口可以達(dá)到減少芯片的面積和功耗。所有的邏輯門(mén)和時(shí)序元素,如鎖存器、D觸發(fā)器是使用靜態(tài)的方式來(lái)提高電路的可靠性。最常見(jiàn)的方式就是使用主從結(jié)構(gòu)的D觸發(fā)器設(shè)計(jì)I2C從機(jī)接口。

3 結(jié)束語(yǔ)

討論了HDCP接收端的結(jié)構(gòu),分析了具體的實(shí)現(xiàn)方法。其中包括I2C從機(jī)接口、控制寄存器、接收端控制器、加密機(jī)等子模塊的設(shè)計(jì)。此HDCP接收端根據(jù)HDCP協(xié)議設(shè)計(jì),符合HDCP協(xié)議的要求。

作者:蔣特林 陽(yáng)玉才 來(lái)源:《電子科技》


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書(shū)
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書(shū)-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無(wú)線接入網(wǎng)白皮書(shū)
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書(shū)》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書(shū)
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書(shū)
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息