??? 摘? 要: 介紹了T-DMB技術(shù)的參數(shù),設(shè)計并實現(xiàn)了一種具有USB接口的T-DMB便攜接收機(jī)。該接收機(jī)支持VHF-III波段和L波段的信號接收;支持TS數(shù)據(jù)流的錄制以及T-DMB視頻業(yè)務(wù)的播放。?
??? 關(guān)鍵詞: T-DMB; 接收機(jī); 軟硬件設(shè)計; USB接口; ARM
?
??? 移動多媒體廣播目前已經(jīng)成為發(fā)展熱點。T-DMB(Terrestrial-Digital Multimedia Broadcast)是移動多媒體廣播標(biāo)準(zhǔn)中應(yīng)用十分廣泛的一種,我國北京、上海、廣東三地已經(jīng)在地面數(shù)字聲音廣播網(wǎng)的基礎(chǔ)上開展了T-DMB業(yè)務(wù)。T-DMB在技術(shù)上仍沿用歐洲尤里卡DAB(Digital Audio Broadcast)的整個系統(tǒng),只是在DAB的MSC(Main Service Channel)中劃分出了一個獨立的子信道用于視頻業(yè)務(wù)。T-DMB采用的關(guān)鍵技術(shù)為H.264 Baseline Profile視頻編碼、MPEG-4 ER-BSAC或MPEG-4 HE AAC V2音頻編碼、COFDM信道編碼和調(diào)制、單頻同步網(wǎng)、RS(204,188)外碼、DAB流模式傳輸。?
??? 根據(jù)ETSI EN 300 401規(guī)定,DAB有4種傳輸模式,分別應(yīng)用于不同的工作頻率,其主要參數(shù)如表1所示。目前在北京、上海、廣州已建成的T-DMB商用網(wǎng)絡(luò)中,北京和廣東采用的是中國VHF-III波段(168 MHz~240 MHz),對應(yīng)DAB的模式I; 上海采用的是L波段(1 452 MHz~1 492 MHz),對應(yīng)DAB的模式Ⅲ。DAB在VHF-Ⅲ波段中包含41個信道,標(biāo)記號為5A、5B~13F;L波段中包含23個信道,標(biāo)記號為LA~LW;每個信道的典型間隔均為1.712 MHz,信號帶寬均為1.536 MHz[1]。?
?
?
??? 傳統(tǒng)的便攜設(shè)備一般屏幕較小,長時間觀看時用戶易疲勞。吸取英國和韓國的市場發(fā)展經(jīng)驗,移動多媒體廣播接收的終端應(yīng)該多樣化,本文設(shè)計了一種具有USB接口的T-DMB便攜設(shè)備,可以使用戶在移動PC機(jī)終端上使用大屏幕來接收T-DMB信息。?
1系統(tǒng)設(shè)計?
??? 該接收機(jī)總體設(shè)計上將盡可能依托PC機(jī)完成數(shù)據(jù)處理,邏輯上分為硬件、固件設(shè)計、軟件和用戶界面4個模塊,如圖1所示。設(shè)計要求接收機(jī)支持VHF-III波段和L波段,外部的數(shù)據(jù)接口需支持USB2.0協(xié)議,能夠正確解碼多媒體廣播的音視頻信息。?
?
?
2 硬件和固件設(shè)計?
??? 硬件設(shè)計要綜合考慮不同芯片間的性能需求:射頻處理芯片應(yīng)具有較高的接收靈敏度并支持信號的跟蹤和鎖定;ADC應(yīng)具有較高的帶寬和精度;解調(diào)芯片能同時處理的信號帶寬越大越好,但是性能較高的芯片往往價格較高,在芯片選擇上需要綜合考慮性價比[2]。同時選取的MCU芯片應(yīng)支持前段RF芯片和解調(diào)芯片的通信總線[3]。選取的天線應(yīng)該在增益和尺寸上取得均衡。?
??? 便攜設(shè)備一般采取USB接口直接取電,設(shè)計時,尤其要注意USB接口能提供的最大電流僅為500 mA(需要響應(yīng)USB總線的配置,一般模式下僅提供100 mA電流),這對硬件的總體功耗提出了明確的要求。?
??? 在本方案的硬件設(shè)計中,選用輸入阻抗為50 Ω的SMA0.062天線,其增益約3 dB,采取MAX2170ETL作為RF芯片,采用MAX1191ETI作為ADC,ID200Q48作為解調(diào)芯片,AT91SAM7S64作為MCU和USB接口控制器,其設(shè)計框圖如圖2所示。?
?
?
??? MAX2170ETL芯片是美信公司專門針對T-DMB設(shè)計的接收芯片,工作電壓3.3 V,支持FM波段,并能夠接收VHF-III和L波段的信號轉(zhuǎn)換為2.048 MHz的低中頻I、Q信號,其接收精度為-100 dbm;通過I2C總線設(shè)置片內(nèi)寄存器后改變Vturn引腳電壓來實現(xiàn)頻段的選擇;MAX2170ETI芯片依靠外部的24.576 MHz晶振提供時鐘。?
??? MAX1191ETI是一款雙通道ADC,對OFDM信號的I、Q分量分別進(jìn)行8位的采樣。?
??? ISISIP ID200芯片是西安西芯微公司的基帶處理芯片,支持最大至512 kb/s的COFDM解調(diào),功率消耗僅為30 mW;提供RFpwd輸出,配合MAX2170的使能輸入,可作為RF的電源管理;同時還為ADC芯片提供增益控制信號和電源管理信號。ISISIPID200芯片通過SPI接口與AT91SAM7S64芯片連接,完成解調(diào)后根據(jù)內(nèi)容,向AT91SAM7S64發(fā)送中斷請求,并傳輸EPG、FIC和DATA數(shù)據(jù)。在SPI接口中,AT91SAM7S64芯片是主機(jī),ISISIPID200芯片是從機(jī)。?
??? AT91SAM7S64芯片中使用ARM7TDMI內(nèi)核,支持通過JTAF/ICE接口的數(shù)據(jù)錄入和通過DBGU接口的數(shù)據(jù)調(diào)試。通過對內(nèi)部PIOA復(fù)用控制,可提供USB、I2C、SPI等多種接口,本設(shè)計方案配置如圖3所示,引腳16、21、22、27、28配置為SPI總線,引腳36、43配置為I2C總線,引腳56、57為USB數(shù)據(jù)總線。?
?
?
??? 在AT91SAM7S64芯片提供的USB接口解決方案中,不僅支持USB2.0的全速12 Mb/s設(shè)備,而且集成了USB控制器;USB接口通過先分頻再倍頻并利用外部時鐘產(chǎn)生48 MHz時鐘;同時該芯片具有USB接口的基礎(chǔ)包(ADS的at6124BasicUSB開發(fā)包),在驅(qū)動開發(fā)上比較有利。設(shè)計中需要特別注意的是:要控制好數(shù)據(jù)的“實時”讀取,在該芯片接收到基帶芯片的中斷請求后,會先將數(shù)據(jù)存入片上收發(fā)器,然后通過USB協(xié)議將數(shù)據(jù)輸出至外部PC機(jī),在數(shù)據(jù)傳輸?shù)倪壿嬁刂粕弦獓?yán)格設(shè)計邏輯,這也是硬件設(shè)計中的難點。?
3 軟件設(shè)計?
3.1 軟件處理流程?
??? T-DMB對視頻業(yè)務(wù)的處理流程如圖4所示。?
?
?
3.2 RS解碼和時間解交織?
??? 因基帶解碼芯片未包含RS解碼器和內(nèi)部解交織器,所以在PC機(jī)端接收到每幀204 B數(shù)據(jù)后,由于解碼時解交織的延遲(一般為384 ms)、編碼端的延遲和網(wǎng)絡(luò)傳輸延時,在轉(zhuǎn)播現(xiàn)有電視節(jié)目時,移動多媒體廣播最大有3 s的延時,因此,需要進(jìn)行RS(204,188)解碼,并對RS解碼后的數(shù)據(jù)進(jìn)行深度為12的解交織[4]。?
??? RS解碼可調(diào)用MATLAB中的rsdec(msg,n,k)函數(shù),其中,msg為待解碼信息,n取204,k取188。需要注意的是:在調(diào)用該函數(shù)前,需要將msg信息轉(zhuǎn)換為GF域類型。?
3.3 解復(fù)用?
??? T-DMB傳輸流中包含了MPEG-2的傳輸層、MPEG-4的同步層、H.264的NAL頭以及相關(guān)的配置信息,傳輸流的解復(fù)用是軟件設(shè)計的難點所在。?
??? 對每幀的傳輸比特流,通過解復(fù)用器分為同步信道、快速業(yè)務(wù)信道、主業(yè)務(wù)信道,并根據(jù)快速信道中的復(fù)用配置信息(MCI),將主信道分為每個子信道的邏輯幀。一般一個子信道上承載一路音頻、視頻或數(shù)據(jù)業(yè)務(wù)。每一路節(jié)目的解復(fù)用可按照下述流程處理[5]:?
??? (1)在傳輸流中依據(jù)PID=0x00 00搜索PAT,并從PAT信息中獲取PMT信息。?
??? (2)在傳輸流中依據(jù)PMT的PID搜索PMT。?
??? (3)在PMT信息中搜索IOD描述符,獲取IOD信息。?
??? (4)根據(jù)(3)中獲取的IOD信息中,搜索ES描述符,并獲取場景和對象描述信息。?
??? (5)根據(jù)(4)中獲取的ES描述符信息,獲取ES_IDs,并在PMT的描述循環(huán)中獲取與每個ES_IDs對應(yīng)的基本流信息。?
??? (6)根據(jù)(5)中獲取的基本流信息,獲取與每個ES_IDs對應(yīng)的PID和流類型信息;然后傳輸流中依據(jù)PID信息,搜索各自的傳輸包。?
??? (7)根據(jù)(4)中場景描述符信息,獲取對象描述符標(biāo)識,并從對象描述流中獲取與之對應(yīng)的對象描述符。?
??? (8)根據(jù)ES_ID中的對象描述符和PID的對應(yīng)關(guān)系,識別流類型,并重建場景,依據(jù)OD中的同步信息,設(shè)置緩沖區(qū)。?
??? 在進(jìn)行文件處理時,從ES描述符中,獲取時間戳精度和傳輸碼率,從OD的解碼特殊信息中獲取音視頻解碼的配置信息,形成音頻文件頭和視頻文件頭。?
??? (9)獲取場景描述信息。?
3.4 音視頻解碼和同步?
??? 在解復(fù)用后可獲得某一路中的音視頻數(shù)據(jù),視頻信息符合ITU-T H.264 Baseline Profile規(guī)范,圖像格式一般為CIF(Common Intermediate Format,352×288像素),支持的最大幀率為30fps。音頻信息符合MPEG-4 ER-BSAC(Error-Reliance Bit-Sliced Arithmetic Coding)規(guī)范或符合MPEG-4 HE AAC V2規(guī)范;在音視頻的同步上,音頻流中含有CTS(Composition Time Stamp)和OCR(Object Clock Reference),視頻流中含有PTS(Position Time Stamp),時間戳的語義符合13818-1[3]規(guī)范;依據(jù)CTS、PTS和OCR的同步方法符合14496-1[4]規(guī)范。?
??? 在視頻音頻解碼的處理中,采用微軟的DirectShow框架,在注冊H.264解碼器后,只需將解復(fù)用后的數(shù)據(jù)傳遞給對應(yīng)的Filter即可[6]。?
??? 例如,視頻解碼器的注冊在Dlg類中的OnButtonPlay( )函數(shù)中實現(xiàn):?
??? char path[20]='h264dec.ax';?
??? if(RegisterFilter(path) == FALSE)?
??? ??????? {?
??????? ??????? AfxMessageBox('解碼器缺失!');?
??? ??????? }?
??? if (mFilterGraph)?
??? ????? {?
??? ??? ? mFilterGraph->Run();?
??? ??? ? if (mSliderTimer == 0)?
??? ??? ? {?
??? ??? ? mSliderTimer=SetTimer(SLIDER_TIMER,100,NULL);?
????? }?
??? }?
??? 本文設(shè)計了一種具有USB接口的T-DMB接收機(jī),其USB接口增強了便攜性和易用性,為人們在接收信息時帶來更大的便利。在實際開發(fā)過程中,硬件部分的難點是USB接口設(shè)計和接收機(jī)的小型化,軟件部分的難點是T-DMB碼流的解復(fù)用和Direct Show應(yīng)用框架的設(shè)計。?
參考文獻(xiàn)?
[1]?ETSI EN 300 401 V1.3.3. Radio broadcasting systems;digital audio broadcasting (DAB) to mobile,portable and?fixed receivers. 2001-05.?
[2]?宋偉. 基于T-DMB的手機(jī)電視軟硬件設(shè)計. 電子設(shè)計與應(yīng)用,2007(11).?
[3]?USBDMB_EV_Chinese. 西安西芯微公司網(wǎng)站.www.isisip.com.2008.?
[4] ETSI TS 102 427 V1.1.1. Digital audio broadcasting(DAB);data broadcasting-MPEG-2 TS streaming.2005-07.?
[5] ETSI TS 102 428 V1.1.1. Digital audio broadcasting(DAB); DMB video service; User Application Specification.2005-06.?
[6]?陸其明. DirectShow實務(wù)精選.北京:科學(xué)出版社,2004.