李 新,梁春明
(沈陽工業(yè)大學(xué),遼寧 沈陽 110870)
?
HDMI接收端的數(shù)據(jù)同步模塊設(shè)計(jì)
李 新,梁春明
(沈陽工業(yè)大學(xué),遼寧 沈陽 110870)
在分析HDMI協(xié)議以及數(shù)據(jù)并串、串并轉(zhuǎn)換過程中數(shù)據(jù)流的連續(xù)性的基礎(chǔ)上,針對HDMI接收端,提出了一種能同時完成數(shù)據(jù)邊界定位和不同通路數(shù)據(jù)對齊的數(shù)據(jù)同步模塊的設(shè)計(jì)方案。利用可綜合的Verilog語言完成電路的設(shè)計(jì),通過NC-Verilog仿真驗(yàn)證,并集成到HDMI的系統(tǒng)中。該數(shù)據(jù)同步模塊同時實(shí)現(xiàn)數(shù)據(jù)定位和數(shù)據(jù)對齊,可有效地提高HDMI接收端的數(shù)據(jù)處理能力。
HDMI;數(shù)據(jù)連續(xù)性;數(shù)據(jù)同步
在大數(shù)據(jù)量、高速傳輸?shù)募夹g(shù)需求下,高清數(shù)字媒體接口技術(shù)成為當(dāng)下消費(fèi)電子行業(yè)研發(fā)的重點(diǎn),各種各樣的數(shù)字傳輸接口也開始逐漸出現(xiàn)在人們的日常生活中,HDMI接口成為現(xiàn)代數(shù)字接口傳輸高清視頻的主要代表之一[1]。HDMI高清多媒體接口是由日立、松下、飛利浦、Silicon Image、索尼、湯姆遜、東芝7家公司共同推出的數(shù)字顯示接口標(biāo)準(zhǔn)。2002年12月9日,HDMI Founders推出HDMI 1.0版接口標(biāo)準(zhǔn),當(dāng)前最新版本為2013年9月發(fā)布的HDMI 2.0版接口標(biāo)準(zhǔn)[2]。
本文基于HDMI 1.4b版本,根據(jù)HDMI不同周期下數(shù)據(jù)編碼的特點(diǎn),以及串行輸出數(shù)據(jù)的要求,研究了數(shù)據(jù)串并轉(zhuǎn)換時數(shù)據(jù)流的連續(xù)性,采用可綜合的Verilog語言完成HDMI接收端的數(shù)據(jù)同步模塊設(shè)計(jì),并集成到HDMI系統(tǒng)中。
HDMI系統(tǒng)由HDMI發(fā)射端和HDMI接收端兩部分組成,兩者之間主要由4條TMDS通路連接,1條TMDS時鐘通路和3條TMDS數(shù)據(jù)通路,如圖1所示。3條數(shù)據(jù)通路主要用來傳輸編碼之后的視頻數(shù)據(jù)、音頻數(shù)據(jù)以及輔助信息和控制信息[3]。
圖1 TMDS系統(tǒng)結(jié)構(gòu)圖
HDMI有3種不同的傳輸周期,分別是視頻周期、數(shù)據(jù)島周期和控制周期,每種傳輸周期的數(shù)據(jù)都有其獨(dú)特的編碼方式。視頻周期數(shù)據(jù)采用TMDS編碼方式,將8 bit的數(shù)據(jù)編碼成10 bit的數(shù)據(jù);數(shù)據(jù)島周期傳輸音頻數(shù)據(jù)和輔助信息,采用TERC4編碼方式將4 bit數(shù)據(jù)編碼成10 bit數(shù)據(jù)[4];控制周期傳輸控制信號,用來指示下一周期是視頻周期還是音頻周期。3個通路的控制信號如表1所示,每個通路的2 bit數(shù)據(jù)的編碼方式如表2所示。
表1 控制信號
表2 控制信號編碼方式
在一個TMDS時鐘周期內(nèi),3個TMDS數(shù)據(jù)通路會各自串行輸出10 bit數(shù)據(jù)。在數(shù)據(jù)的傳輸過程中,最低位將被最先傳輸,最高位將被最后輸出[5]。
HDMI發(fā)送端把編碼之后的數(shù)據(jù)以串行的形式輸出,在經(jīng)過串并轉(zhuǎn)換作為接收端的輸入。以HDMI編碼之后的10 bit數(shù)據(jù)為例來分析并串、串并轉(zhuǎn)換后對數(shù)據(jù)連續(xù)性的影響。
數(shù)據(jù)的串行輸出不外乎兩種情況,高位先出和低位先出。在理想的情況下,高位先出和低位先出的串行數(shù)據(jù)經(jīng)過串并轉(zhuǎn)換之后得到的數(shù)據(jù)是相同的,都是串行轉(zhuǎn)換之前的HDMI編碼數(shù)據(jù)。在實(shí)際的HDMI系統(tǒng)中,由于時序原因,從數(shù)據(jù)輸入HDMI發(fā)送端到串行輸出需要一定數(shù)量的時鐘周期。在編碼數(shù)據(jù)到來之前,并串轉(zhuǎn)換模塊已經(jīng)開始工作,產(chǎn)生一系列的“無效數(shù)據(jù)”,這些“無效數(shù)據(jù)”在串并轉(zhuǎn)換時就會對數(shù)據(jù)的連續(xù)性有一定的影響。
高位先出的情況:由于在串行的編碼數(shù)據(jù)之前會有不確定數(shù)量的“無效數(shù)據(jù)”,這里用“0”表示,假定有2個“0”,那么在串并轉(zhuǎn)換的時候這2個“0”也會參與其中,并占據(jù)并行數(shù)據(jù)的高位,如圖2所示。這就會導(dǎo)致還原回來的每組10 bit數(shù)據(jù)不再是串行之前的HDMI編碼數(shù)據(jù)。但從總體上看,在數(shù)據(jù)邊界定位時,并沒有破壞數(shù)據(jù)的連續(xù)性,相對于理想情況,變化的只有數(shù)據(jù)的相對位置。
圖2 高位先出示意圖
低位先出的情況:與高位先出的情況相同,在串行的編碼數(shù)據(jù)之前也同樣會有不確定數(shù)量的“0”,同樣也假定“0”的數(shù)量為2,那么在串并轉(zhuǎn)換的時候,這2個“0”就會占據(jù)并行數(shù)據(jù)的低位,后面的數(shù)據(jù)依次排列,如圖3所示。這同樣會導(dǎo)致還原回來的每組10 bit數(shù)據(jù)不再是原有的HDMI編碼數(shù)據(jù)。與高位先出情況不同,在數(shù)據(jù)邊界定位時,數(shù)據(jù)的連續(xù)性被破壞。
圖3 低位先出示意圖
數(shù)據(jù)同步需要特定的可識別序列,在HDMI的編碼數(shù)據(jù)中,視頻周期的數(shù)據(jù)不具備這一特點(diǎn),數(shù)據(jù)島周期的編碼數(shù)據(jù)雖然有一定的特征,但是一共有16種情況,數(shù)量較多,如表3所示??刂浦芷诘木幋a數(shù)據(jù)在前面已經(jīng)提到過,其編碼方式簡單,序列特征明顯,并且只有4種編碼,因此用于各通道的數(shù)據(jù)同步。
表3 數(shù)據(jù)島周期編碼
3.1 數(shù)據(jù)連續(xù)性處理
HDMI的編碼數(shù)據(jù)在串行輸出的過程中最低位將被最先傳輸,最高位將被最后輸出。由上面對并串轉(zhuǎn)換中低位先出情況的分析可知,HDMI接收端接收到的并行數(shù)據(jù)已經(jīng)失去了原有數(shù)據(jù)的連續(xù)性,如圖3所示。但是要進(jìn)行數(shù)據(jù)同步必須保持?jǐn)?shù)據(jù)整體的連續(xù)性。數(shù)據(jù)的連續(xù)性是由于低位先出而被破壞的,此時如果對圖3中的數(shù)據(jù)進(jìn)行低位先出的串行變化,那么數(shù)據(jù)還是連續(xù)的。為了保證數(shù)據(jù)整體的連續(xù)性,要對輸入的并行10 bit數(shù)據(jù)進(jìn)行翻轉(zhuǎn),即原本的A7~0,B7~A8變?yōu)?~A7,A8~B7,如圖4所示,這樣就保持了數(shù)據(jù)的連續(xù)性。
圖4 數(shù)據(jù)處理示意圖
3.2 檢測序列長度分析
HDMI接收端的輸入數(shù)據(jù)為并行的10 bit數(shù)據(jù),經(jīng)過翻轉(zhuǎn)的處理之后保持了數(shù)據(jù)整體的連續(xù)性。數(shù)據(jù)這樣處理之后,控制周期原有的編碼方式將不再適用。為了能使數(shù)據(jù)同步,控制周期的編碼方式也要有所變化,只需將原控制周期編碼之后的數(shù)據(jù)進(jìn)行翻轉(zhuǎn)即可,新的編碼方式如表4所示,可以與表2進(jìn)行對比。
表4 控制周期新編碼方式
由于在數(shù)據(jù)串行傳輸?shù)倪^程中真正的數(shù)據(jù)前有不確定數(shù)量的“0”,因此經(jīng)過倒置的10 bit數(shù)據(jù)的每一位都有可能是控制周期新編碼序列的首位。最理想的情況下,當(dāng)前10 bit數(shù)據(jù)的首位即為新編碼序列的首位,那么這10 bit數(shù)據(jù)就為新的編碼序列;另一種情況下,當(dāng)前10 bit數(shù)據(jù)的末尾是新編碼序列的首位,那就需要接下來的9 bit數(shù)據(jù);最壞的情況下,當(dāng)前10 bit數(shù)據(jù)不含新編碼序列的首位,那么就需要接下來的10 bit數(shù)據(jù)。由以上可知,想要準(zhǔn)確地鑒別出控制周期序列需要20 bit的數(shù)據(jù),因此檢測序列的最短長度為20 bit。
3.3 數(shù)據(jù)同步與通路對齊
數(shù)據(jù)同步只需要找到特定的同步字符,在上面已經(jīng)確定基本的方案。HDMI發(fā)送端和HDMI接收端之間有3條TMDS通路,但是由于不可能保證PCB的布線長度完全一致,噪聲等對3條通路的影響完全相同,因此3條數(shù)據(jù)通路會有不同程度上的相對延時。通路對齊就是為了在HDMI接收端的內(nèi)部消除3條數(shù)據(jù)通路的相對延時,對齊之后的數(shù)據(jù)用于HDMI數(shù)據(jù)解碼。將數(shù)據(jù)的同步與通路數(shù)據(jù)對齊在同一模塊中完成,電路的結(jié)構(gòu)如圖5所示。
圖5 數(shù)據(jù)同步模塊電路結(jié)構(gòu)
控制周期新編碼方式如表4所示,編碼之后的數(shù)據(jù)有這樣的特點(diǎn):第9位和第8位是相同的;從第8位到第1位每相鄰的任意兩位都不同。根據(jù)這個特點(diǎn)可以更為簡便地判斷特征序列,不用再去與表4中的序列直接比較,只需按照上述序列特點(diǎn)進(jìn)行相鄰數(shù)位的比較,就可以識別出來特征序列。特征序列識別出來之后,就要進(jìn)行不同通路的數(shù)據(jù)對齊。
由上述可知,每條通路的同步序列中的特征序列的位置不同,即特征序列的首位可能出現(xiàn)的位置是不確定的,這是3條通路相對延時的表現(xiàn),如圖6所示。為了能夠在20 bit的同步序列中定位特征序列,同步序列的每一組連續(xù)的10 bit序列都要進(jìn)行相鄰數(shù)位的比較。為了實(shí)現(xiàn)上面的描述,采用for循環(huán)結(jié)構(gòu),有限次數(shù)的for循環(huán)是可以綜合的。用“n”來指示同步序列的每組連續(xù)10 bit序列的首位,其余位依次為n+1,n+2,n+3,…,n+8,n+9,n值的不同決定了特征序列的位置。在圖6中,由上到下分別為3條通路的同步序列。每條通路的10 bit特征序列在同步序列中的位置是不同的,在圖6中依次為2 bit,7 bit和3 bit,因此每條通路的n值分別為2,7,3。當(dāng)n值確定之后,要對n值進(jìn)行鎖定,然后20 bit的同步序列根據(jù)n值向右移位,得到移位數(shù)據(jù),如圖7所示,將移位之后數(shù)據(jù)的高10位輸出。這樣既完成了對數(shù)據(jù)的同步,同時也完成了對不同通路的數(shù)據(jù)對齊,消除了后續(xù)模塊中不同通路的相對延時。
圖6 同步序列示意圖
圖7 對齊之后的序列
為了對數(shù)據(jù)同步模塊進(jìn)行驗(yàn)證,采用了如圖8所示的仿真平臺,仿真工具采用Cadence NC-Verilog。仿真平臺由HDMI_Tx,HDMI_Rx,Serializer,Recovery,prbs_gen和prbs_checker組成。HDMI_Tx,HDMI_Rx為測試平臺的核心部分,數(shù)據(jù)同步模塊包含在HDMI_Rx中,為主要的驗(yàn)證對象。Prbs_gen和prbs_checker用來驗(yàn)證主體數(shù)據(jù)的正確性。Serializer和Recovery模塊用來實(shí)現(xiàn)數(shù)據(jù)的并串轉(zhuǎn)換和串并轉(zhuǎn)換。由于仿真平臺為數(shù)字系統(tǒng),為了模擬真實(shí)情況,在這兩個模塊之間的每條通路都做了不同的延時處理,在圖8中沒有體現(xiàn)。
圖8 仿真平臺示意圖
3條通路的視頻數(shù)據(jù)都是由prbs_gen產(chǎn)生,完全相同。這樣便對不同通路的數(shù)據(jù)進(jìn)行分析驗(yàn)證。數(shù)據(jù)經(jīng)過并串、串并轉(zhuǎn)換之后,在經(jīng)過數(shù)據(jù)同步模塊,3條通路應(yīng)得到完全相同的10 bit視頻數(shù)據(jù)。圖9為數(shù)據(jù)同步模塊相關(guān)數(shù)據(jù)的仿真結(jié)果,圖中的shift值為同步序列移位的n值。由圖可知,不同通路的移位是不同的,分別為8位、3位和6位;data_out是移位之后的10 bit輸出。仿真結(jié)果顯示,數(shù)據(jù)同步模塊的3條通路輸出的視頻數(shù)據(jù)是完全相同的,這與用同一個prbs_gen產(chǎn)生數(shù)據(jù)相吻合。因此說明該模塊實(shí)現(xiàn)了預(yù)期的功能。
圖9 數(shù)據(jù)同步模塊的仿真波形(截圖)
完整的數(shù)據(jù)流驗(yàn)證是由prbs_checker完成的。Prbs_gen產(chǎn)生12 bit的視頻數(shù)據(jù),在HDMI_Tx中經(jīng)過色深編碼、數(shù)據(jù)編碼;在HDMI_Rx中經(jīng)過數(shù)據(jù)解碼、深色解碼,輸出12 bit的數(shù)據(jù)。3條數(shù)據(jù)通路的視頻數(shù)據(jù)是完全相同的,因此只對一條通路進(jìn)行檢測。prbs_checker的檢測結(jié)果如圖10所示,圖中same信號用來指示數(shù)據(jù)是否匹配,same信號呈現(xiàn)周期性的變化。視頻數(shù)據(jù)是由prbs_gen產(chǎn)生的,因此在視頻周期same的值為高電平,表示數(shù)據(jù)正確。在非視頻周期,傳輸相對固定的數(shù)據(jù),不是prbs序列,因此same信號為低電平。same信號的周期性變化是合理的,驗(yàn)證了數(shù)據(jù)通路的正確性,說明數(shù)據(jù)同步模塊完全適用于HDMI系統(tǒng)。
圖10 prbs_checker的仿真波形(截圖)
依據(jù)HDMI協(xié)議不同周期的編碼特點(diǎn)以及數(shù)據(jù)傳輸連續(xù)性的特點(diǎn),采用可綜合的Verilog語言完成了數(shù)據(jù)同步模塊的設(shè)計(jì)。采用NC-Verilog仿真工具,在同步模塊和HDMI系統(tǒng)兩個層次上進(jìn)行驗(yàn)證。驗(yàn)證結(jié)果表明,設(shè)計(jì)的數(shù)據(jù)同步模塊實(shí)現(xiàn)了預(yù)期功能,同時也適用于HDMI系統(tǒng),能有效地提高HDMI接收端數(shù)據(jù)處理的能力。
[1]郭名坤.基于FPGA光纖與1_4標(biāo)準(zhǔn)HDMI接口轉(zhuǎn)換方法[D].沈陽:沈陽工業(yè)大學(xué),2014.
[2]馮傳崗.HDMI_4K時代的高性價比視音頻信號接口[J].?dāng)?shù)碼影像時代,2014(3):100-107.
[3]High-definition multimedia interface specification version 1.4b[S].2011.
[4]劉文杰.HDMI接口編解碼傳輸模塊ASIC設(shè)計(jì)[J].微電子學(xué),2014(12):763-766.
[5]陳文娟.HDMI標(biāo)準(zhǔn)在高清視頻編碼SoC設(shè)計(jì)中的應(yīng)用[J].電視技術(shù),2008,32(8):74-75.
李 新(1974— ),博士后,副教授,主要從事微電子技術(shù)研究;
梁春明(1991— ),碩士生,主研集成電路設(shè)計(jì)。
責(zé)任編輯:閆雯雯
Design of data synchronization module in HDMI receiver
LI Xin, LIANG Chunming
(ShenyangUniversityofTechnology,Shenyang110870,China)
Based on the analysis of HDMI protocol and the continuity of the data flow in the data parallel/serial,serial/parallel conversion,a solution is proposed to find the data boundary location and align different data paths at the same time for HDMI receiver. Designed with synthesized Verilog and verified the functionality by NC-Verilog and integrated to HDMI system. The data synchronization module achieves data location and data alignment,which can effectively improve data processing capabilities for HDMI receiver.
HDMI;continuity of data;data synchronization
李新,梁春明. HDMI接收端的數(shù)據(jù)同步模塊設(shè)計(jì)[J].電視技術(shù),2016,40(11):30-34. LI X, LIANG C M. Design of data synchronization module in HDMI receiver[J]. Video engineering,2016,40(11):30-34.
TN919.3
A
10.16280/j.videoe.2016.11.006
2016-04-20