《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ARM和FPGA的DVB-S2數(shù)據(jù)分類系統(tǒng)研究
基于ARM和FPGA的DVB-S2數(shù)據(jù)分類系統(tǒng)研究
郭 通,黃 焱,張白愚
解放軍信息工程大學(xué),河南 鄭州450002
摘要: 研究了基于PSI分析的衛(wèi)星DVB數(shù)據(jù)分類方法中存在的問題,設(shè)計并實現(xiàn)了一種基于ARM和FPGA的DVB-S2數(shù)據(jù)分類系統(tǒng),解決了對接收到的DVB-S2承載的數(shù)據(jù)進行自動識別分類的問題。
Abstract:
Key words :

摘  要: 研究了基于PSI分析的衛(wèi)星DVB數(shù)據(jù)分類方法中存在的問題,設(shè)計并實現(xiàn)了一種基于ARMFPGADVB-S2數(shù)據(jù)分類系統(tǒng),解決了對接收到的DVB-S2承載的數(shù)據(jù)進行自動識別分類的問題。
關(guān)鍵詞: DVB-S2;數(shù)據(jù)分類;PSI分析;ARM;FPGA

  廣播電視數(shù)字化帶來了節(jié)目與數(shù)據(jù)業(yè)務(wù)在傳輸流程上的統(tǒng)一,新的數(shù)字衛(wèi)星廣播標(biāo)準(zhǔn)不再局限于廣播電視領(lǐng)域,而是面向更廣闊的業(yè)務(wù)領(lǐng)域。準(zhǔn)確地說,DVB-S2是服務(wù)于寬帶衛(wèi)星應(yīng)用的新一代DVB系統(tǒng),服務(wù)范圍包括廣播業(yè)務(wù)(BS)、數(shù)字新聞采集(DSNG)、數(shù)據(jù)分配/中繼以及Internet接入等交互式業(yè)務(wù)[1]。盡管目前市場上已有部分DVB-S2信號接收設(shè)備投入使用,但針對DVB-S2承載的各種數(shù)據(jù)進行識別分類的相關(guān)技術(shù)的研究還處于初級階段。本文研究了使用基于節(jié)目專用信息(PSI)分析法進行數(shù)據(jù)分類時出現(xiàn)的一些問題,并提出了改進措施;在此基礎(chǔ)上設(shè)計并實現(xiàn)了一種基于ARM和FPGA的DVB-S2數(shù)據(jù)分類系統(tǒng),解決了對接收到的DVB-S2承載的各種數(shù)據(jù)自動識別分類的問題,為后續(xù)數(shù)據(jù)的進一步處理打下基礎(chǔ)。
1 DVB-S2傳輸系統(tǒng)復(fù)用概述
  研究DVB-S2傳輸系統(tǒng)復(fù)用方式及技術(shù)特點,有助于對接收到的各種數(shù)據(jù)進行識別、分類,為后續(xù)的相應(yīng)數(shù)據(jù)處理工作奠定基礎(chǔ)。
  通過傳輸流包多路復(fù)用,DVB-S2可以兼容采用MPEG-2和MPEG-4編碼業(yè)務(wù)。由于大量的DVB-S收發(fā)設(shè)備尚在使用中,在很長一段時期內(nèi)需要采用后向兼容模式[2],新的DVB-S2接收機需要兼容接收DVB-S和DVB-S2兩種信號??紤]到設(shè)備更新?lián)Q代的成本和復(fù)雜性,DVB-S2傳輸系統(tǒng)采用在MPEG-2傳輸流中攜帶MPEG-2 碼流或MPEG-4碼流的方式來傳輸數(shù)據(jù),在傳統(tǒng)的接收設(shè)備中,解復(fù)用器將丟棄這些數(shù)據(jù),這使得攜帶MPEG-4數(shù)據(jù)的比特流向后完全兼容。在接收機中,從解復(fù)用器輸出的MPEG-2或MPEG-4碼流分別送到相應(yīng)的解碼器中,按MPEG-2/ MPEG-4語法恢復(fù)出視頻和音頻信息[3]。可見,DVB-S2傳輸系統(tǒng)在傳輸層協(xié)議上遵從MPEG-2標(biāo)準(zhǔn),只是在應(yīng)用層上采用了MPEG-2與MPEG-4兩種不同的編碼方式而已。
  MPEG-2系統(tǒng)是將視頻、音頻及其他數(shù)據(jù)基本流組合成一個或多個適宜于存儲或傳輸?shù)臄?shù)據(jù)流的規(guī)范,系統(tǒng)框圖如圖1所示。MPEG-2系統(tǒng)中PES(Packetized Elementary Stream)不允許直接傳輸,只允許傳輸PS(Program Stream)包和TS(Transport Stream)。PES只是PS轉(zhuǎn)換為TS或TS轉(zhuǎn)換為PS的中間步驟或橋梁,是MPEG數(shù)據(jù)流互換的邏輯結(jié)構(gòu),本身不能參與交換和互操作[4]。

  PS包長度比較長且可變,用于無誤碼環(huán)境,適合于節(jié)目信息的軟件處理及交互多媒體應(yīng)用。TS是面向數(shù)字化分配媒介(如有線、衛(wèi)星、地面網(wǎng))的傳輸層接口。衛(wèi)星信道是較容易發(fā)生錯誤的環(huán)境,需著重研究TS數(shù)據(jù)結(jié)構(gòu)。MPEG-2通過使用節(jié)目專用信息(PSI)描述并傳遞多路視頻、音頻和其他數(shù)據(jù)與相應(yīng)節(jié)目的從屬關(guān)系。
2 基于PSI的DVB數(shù)據(jù)分類方法
  根據(jù)MPEG-2多路復(fù)用的原理,TS包具有分層復(fù)用的特點。目前,對衛(wèi)星上傳送的DVB的各種業(yè)務(wù)數(shù)據(jù)進行識別、分類都是從對傳輸流的PSI分析入手。根據(jù)這種分層復(fù)用的特點,可以得到一種基于PSI的數(shù)據(jù)分類。
2.1 傳輸流數(shù)據(jù)檢驗
  由于在實際使用中常常出現(xiàn)傳輸流數(shù)據(jù)錯誤的現(xiàn)象,因此,在進行傳輸流數(shù)據(jù)處理時首先要確認(rèn)傳輸流是否符合MPEG-2標(biāo)準(zhǔn)。
  傳輸流數(shù)據(jù)包具有固定結(jié)構(gòu),其長度固定為188 B,可以分為包頭和有效負(fù)載。傳輸流包頭長度4 B,具有特定的結(jié)構(gòu),限于篇幅,本文不作詳細(xì)介紹。具體來說,包頭對TS包具有同步、識別、檢錯及加密指示功能。針對包頭數(shù)據(jù),可通過同步丟失錯誤、同步字節(jié)錯誤、連續(xù)計數(shù)錯誤、數(shù)據(jù)傳輸錯誤的檢查判斷傳輸流是否符合MPEG-2標(biāo)準(zhǔn)[5]。
2.2 PAT、PMT的提取和解析
  MPEG-2通過使用節(jié)目專用信息(PSI)描述并傳遞多路視頻、音頻和其他數(shù)據(jù)與相應(yīng)節(jié)目的從屬關(guān)系。接收端通過PSI提取、解析,獲取解復(fù)用必需的信息。PSI 包括4個表單:節(jié)目關(guān)聯(lián)表(PAT)、節(jié)目映射表(PMT)、條件接收表(CAT)、網(wǎng)絡(luò)信息表(NIT)[6]。其中,PAT列出了傳輸流中存在的節(jié)目流,指定了所有節(jié)目映射表(PMT)數(shù)據(jù)包的PID,而其本身具有特定的PID(0x0000);PMT用于說明每個節(jié)目,即將每個節(jié)目的各個基本流ES(Elementary Stream)及其對應(yīng)的PID信息、數(shù)據(jù)的性質(zhì)、數(shù)據(jù)流之間關(guān)系列在一個表里[7]。實際上,有了PAT及PMT兩種表,接收端就可以根據(jù)PID將TS上從不同的ES來的TS包分辨出來,并明確ES的業(yè)務(wù)類型。
2.3 實際操作中存在的問題
  根據(jù)PAT、PMT的解析獲取業(yè)務(wù)數(shù)據(jù)相關(guān)信息,方法簡單易行。對大部分?jǐn)?shù)據(jù)而言,使用該方法可以得到較好的處理結(jié)果。然而,在實際操作中會發(fā)現(xiàn)很多特殊現(xiàn)象,本文通過對采集到的332個衛(wèi)星DVB數(shù)據(jù)樣本進行分析處理,將其中出現(xiàn)的特殊現(xiàn)象總結(jié)歸納為7個問題:PSI插入周期偏長、PSI表單偏長、適應(yīng)字段影響、多個PMT使用同一PID、PAT、PMT數(shù)據(jù)錯誤、PSI內(nèi)容與傳輸流數(shù)據(jù)不一致、無PSI。
2.4 解決方案
  針對上述問題,提出以下改進措施:對于第一個問題,在進行數(shù)據(jù)實時分析時,需要適當(dāng)放寬PAT、PMT檢索時間。對于第二個問題,可通過分段信息描述表中的長度來判斷該分段信息能否由一個傳輸流數(shù)據(jù)包封裝,若可以則直接正常處理,否則將數(shù)據(jù)緩存,繼續(xù)檢索,直至把所有后續(xù)數(shù)據(jù)都提取完畢,然后進行解析。對于第三個問題,則只需在解析時加入適應(yīng)字段的處理即可。對于第四個問題,則需要在處理PMT數(shù)據(jù)時,處理完P(guān)MT中長度字段所描述的長度后,繼續(xù)檢查后面的數(shù)據(jù)是否為另一個PMT分段,直至檢查到填充字段0xFF 0xFF 0xFF 0xFF。對于第五個問題,考慮到PAT、PMT數(shù)據(jù)為周期發(fā)送的,可以通過多組數(shù)據(jù)的對比發(fā)現(xiàn)并避免偶發(fā)干擾造成的錯誤。所以,以上5個問題都可通過對PSI解析法的改進實現(xiàn)業(yè)務(wù)數(shù)據(jù)的有效分類。然而,對于第6、第7個問題,僅僅通過原有方法上的改進是無法對數(shù)據(jù)實施有效分類,可考慮使用其他方法進行處理。
3 DVB-S2數(shù)據(jù)分類系統(tǒng)
   以上針對傳統(tǒng)PSI分析法中存在的問題提出了改進后的PSI分析法。在此基礎(chǔ)上,提出使用由ARM、FPGA、一體化調(diào)諧解調(diào)器以及PC機構(gòu)建的DVB-S2接收處理系統(tǒng)來實現(xiàn)DVB-S2數(shù)據(jù)的分類,其系統(tǒng)構(gòu)成框圖如圖2所示。


3.1 系統(tǒng)各部分的工作機制
 系統(tǒng)主要由接收模塊、過濾模塊、控制與處理模塊三部分構(gòu)成。下面介紹系統(tǒng)各部分的工作機制。
3.1.1 接收模塊
  接收模塊主要由一體化調(diào)諧解調(diào)器構(gòu)成,用以完成對DVB-S2信號的接收,并輸出TS流。本系統(tǒng)選用LG公司生產(chǎn)的型號為TDQR-C005F的一體化調(diào)諧解調(diào)器。該型號一體化調(diào)諧解調(diào)器可對DVB-S2信號進行解調(diào)解碼,具體調(diào)諧解調(diào)器情況請參見相關(guān)資料[8]。
3.1.2 過濾模塊
  過濾模塊主要由FPGA構(gòu)成,其主要功能是對接收模塊輸出的TS流進行過濾。通過對PSI分析法的詳細(xì)描述,可以得知PSI分析法實際上是對節(jié)目關(guān)聯(lián)表(PAT)與節(jié)目映射表(PMT)的解析,通過對這兩種表的解析獲取承載的各種DVB-S2數(shù)據(jù)的類型信息。PAT數(shù)據(jù)包與PMT數(shù)據(jù)包在整個TS流中占的比重比較小,若是全碼流通過則會占用大量系統(tǒng)資源,這對于PSI分析工作毫無必要,而FPGA的任務(wù)正是提取出碼流中PAT、PMT及用戶感興趣的數(shù)據(jù)包。
  接收模塊傳遞給過濾模塊字節(jié)型數(shù)據(jù)流,以及與數(shù)據(jù)滿足一定時序關(guān)系的時鐘信號CLK、同步信號START、有效數(shù)據(jù)信號VALID等。并行數(shù)據(jù)與時鐘信號、START信號和VALID信號之間存在圖3所示時序關(guān)系。

   數(shù)據(jù)變化為時鐘下降沿有效,時鐘在校驗字段一直輸出,即整個TS包204個字節(jié)都有時鐘輸出。
 START信號在每個TS包的同步字節(jié)的位置對應(yīng)輸出一個高脈沖,指示一個TS包的開始。
  VALID信號在有效數(shù)據(jù)輸出的188個時鐘周期內(nèi)保持高電平,16個校驗數(shù)據(jù)字節(jié)輸出時保持低電平。
 在時鐘上升沿時刻數(shù)據(jù)輸出最穩(wěn)定,START指示一個傳送包的起始位置,VALID信號在有效數(shù)據(jù)輸出期間保持高電平。因此,實際過濾過程并不需要控制TS數(shù)據(jù)通過與否,而只需控制指示數(shù)據(jù)包有效載荷的VALID信號。數(shù)據(jù)、時鐘和包頭指示信號仍是按照原來的方式通過,但是VALID信號并不是全部通過。對于不需要的PID包,則在該包傳遞期間將VALID信號保持在0電平。在FPGA內(nèi)設(shè)置的存儲單元中,用數(shù)據(jù)的VALID信號來控制FIFO的寫信號。若VALID為高電平,則將整個TS包188 B寫入緩存區(qū);反之則不將該包的數(shù)據(jù)寫入緩存??刂颇K最終從FIFO讀取TS數(shù)據(jù)??梢姡ㄟ^對VALID信號的控制,符合條件的PID包數(shù)據(jù)被保留,用戶不關(guān)心的數(shù)據(jù)被濾除掉。
3.1.3 控制與處理模塊
  ARM作為控制與處理模塊核心,主要任務(wù)有:通過串口與主機通信以獲取用戶設(shè)置的各種參數(shù)信息,將分析結(jié)果通過串口傳遞給主機;通過I2C總線控制一體化調(diào)諧解調(diào)器對指定DVB信號進行鎖定;設(shè)置需要過濾的TS包的PID值;通過對濾出的PAT、PMT包進行解析來獲取整個PSI信息。
3.2 基于ARM和FPGA的PSI分析法的實現(xiàn)
   以上對改進的PSI分析法及系統(tǒng)各部分的工作機制進行了說明。根據(jù)以上說明,通過4步進行數(shù)據(jù)分類:(1)設(shè)定載波參數(shù);(2)濾出PAT包并對其分析;(3)濾出PMT包并對其分析;(4)將分析結(jié)果通過串口傳給主機。具體流程見圖4。

  ARM通過串口獲取用戶設(shè)定的載波參數(shù)信息并控制一體化調(diào)諧解調(diào)器對載波進行鎖定。若不能鎖定需要重新設(shè)定參數(shù),反之則將PAT的PID(0x0000)設(shè)置到過濾模塊。ETR 290建議PAT、PMT插入周期小于0.5 s,便于接收端快速提取和解析。但實際上,常常存在PAT、PMT插入周期較長的問題。因此在實際操作中應(yīng)根據(jù)信號的符碼率值設(shè)定不同的搜索時間。若在搜索時間內(nèi)可以搜索到PAT包,則對其進行解析并統(tǒng)計出PMT總數(shù)及各個PMT的PID;若沒有搜索到PAT包,則應(yīng)通過串口給出提示。在得到所有PMT的PID后,選定一個PMT的PID并設(shè)置到過濾模塊,濾出PMT包后對其進行解析,解析完畢后將解析結(jié)果(數(shù)據(jù)的類型及其PID)通過串口傳給主機。依照此過程,分多次循環(huán)完成對所有PMT的解析,在解析完所有PMT后應(yīng)通過串口給出提示。
  以上就是PSI分析法的實現(xiàn)方法,在實際操作中應(yīng)注意以下3個問題:首先,在得到PAT或PMT包后應(yīng)先進行數(shù)據(jù)預(yù)處理,數(shù)據(jù)預(yù)處理包括:通過檢查濾出的TS包的傳輸誤碼指示位是否為“1”,判斷有無傳輸錯誤;通過檢查濾出的TS包的傳輸加密指示器,判斷數(shù)據(jù)是否加密,當(dāng)加密數(shù)據(jù)無法進一步分類,可給出提示;檢查濾出的TS包的適應(yīng)字段指示,無則繼續(xù),有則從TS包載荷中剔出適應(yīng)字段并繼續(xù);其次,在對PMT進行解析時,需考慮2.3節(jié)中問題4;再次,在FPGA中所設(shè)置的FIFO大小應(yīng)合適,若FIFO設(shè)置太大將會影響分析速度。
4 系統(tǒng)性能測試
   為了便于人機交互,編寫了PSI信息分析界面,如圖5所示。

  該界面具有以下功能:允許用戶設(shè)置載波的相關(guān)參數(shù);在載波鎖定后,顯示ARM通過串口發(fā)至主機的PSI分析結(jié)果;顯示TS流中PID統(tǒng)計結(jié)果;允許用戶設(shè)置需要過濾的TS包的PID值,最多可同時過濾8種PID的TS包。
  在實現(xiàn)系統(tǒng)所有功能后,對系統(tǒng)整體性能進行測試。針對5顆衛(wèi)星上12個不同的載波承載的DVB-S2數(shù)據(jù),作者使用本系統(tǒng)進行分類處理:從其中11個載波中識別出25個PID分別承載視、音頻數(shù)據(jù)及多協(xié)議封裝IP數(shù)據(jù),其余載波承載的傳輸流(TS)數(shù)據(jù)中因為沒有傳送PSI而無法對其進行識別分類。檢測結(jié)果匯總參見表1。

  通過數(shù)據(jù)分類的結(jié)果可以看出:視、音頻業(yè)務(wù)目前在DVB-S2業(yè)務(wù)中所占份額最多(超過86%),且設(shè)備的實現(xiàn)和使用相當(dāng)符合規(guī)范(PSI符合標(biāo)準(zhǔn)的占絕大多數(shù));數(shù)據(jù)傳輸業(yè)務(wù)中又以多協(xié)議封裝IP形式為主(占總數(shù)的10%,其他形式不超過2%),這一現(xiàn)象說明DVB-S2信道承載數(shù)據(jù)業(yè)務(wù)的方法相當(dāng)靈活,表現(xiàn)形式多樣化。
  實驗結(jié)果表明,使用基于PSI分析法的數(shù)據(jù)分類系統(tǒng)能有效地對DVB-S2數(shù)據(jù)進行分類。
  本文討論了目前使用PSI分析法進行衛(wèi)星DVB數(shù)據(jù)分類工作中存在的一些問題,并針對這些問題提出了相應(yīng)的改進措施,在此基礎(chǔ)上設(shè)計并實現(xiàn)了一種基于ARM和FPGA的DVB-S2數(shù)據(jù)分類系統(tǒng)。通過對不同DVB承載的DVB-S2信號數(shù)據(jù)進行實驗并對實驗結(jié)果分析,證明使用該系統(tǒng)能對DVB-S2數(shù)據(jù)有效地分類。
參考文獻
[1] Draft ETSI EN 302 307,Second generation framing struc ture,channel coding and modulation systems for broadcasting,interactive services,news gathering and other broadband satellite applications[S].2004.
[2] 劉修文.衛(wèi)星數(shù)字電視直播接收技術(shù)[M].北京:機械工業(yè) 出版社,2006.
[3] 余兆明,李曉飛,陳來春.MPEG標(biāo)準(zhǔn)及其應(yīng)用[M].北京:北京郵電大學(xué)出版社,2002.
[4] 鐘玉琢.運動圖像及其伴音通用編碼國際標(biāo)準(zhǔn)-MPEG-2標(biāo)準(zhǔn)[M].北京:清華大學(xué)出版社,1997.
[5] ISO/IEC 13818-1-1996.Generic coding of moving pictures  and associated audio,MPEG-2 International Standard[S].
[6] EN 300 421 V.1.1.2-1993.Digital Video Broadcasting(DVB)    Framing structure,channel coding and modulation for 11/ 12 GHz satellite services[S].
[7] TR 101 290 V 1.2.1-2001,Digital Video Broadcasting  (DVB);Measurement guidelines for DVB systems[S].
[8] CONEXANT CX24116 databook Advanced Modulation DVB-S2 Demodulator and FEC Decoder.CONEXANT 2006.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。