基于Nios II的DTMB單頻網(wǎng)適配器設計
作為地面數(shù)字電視的組網(wǎng)方式之一,單頻網(wǎng)(SingleFrequendy Network,SFN)具有節(jié)省頻率資源和能實現(xiàn)大范圍無線覆蓋的特點,在世界各地得到廣泛應用。組建單頻網(wǎng)要解決的一個難題是發(fā)射機的同步問題,為此單頻網(wǎng)引入了GPS接收機和單頻網(wǎng)適配器來實現(xiàn)全網(wǎng)的同步。
2006年8月具有自主知識產(chǎn)權(quán)的DTMB標準正式確定為中國地面數(shù)字廣播傳輸標準,該標準中,系統(tǒng)的信號幀與絕對時間同步,與DVB-T等標準相比,實現(xiàn)單頻網(wǎng)更具優(yōu)勢。
2 單頻網(wǎng)適配器總體實現(xiàn)方案
單頻網(wǎng)主要有中心發(fā)射站的單頻網(wǎng)適配器、GPS接收機、中轉(zhuǎn)站的同步系統(tǒng)以及支持單頻網(wǎng)模式的調(diào)制器組成。在中心發(fā)射站,單頻網(wǎng)適配器每隔一個兆幀就往MPEG-2碼流中插入一個MIP包(Mega-frame Initial-ization Packet)。MIP包中攜帶有傳輸參數(shù)信令(TPS)、同步時間標簽(STS)和最大延遲等重要參數(shù)。經(jīng)單頻網(wǎng)適配器處理的碼流通過初級分布網(wǎng)絡傳輸?shù)街修D(zhuǎn)站后,中轉(zhuǎn)站的同步系統(tǒng)從MIP中提取出TPS等重要信息后調(diào)整本地發(fā)射機的發(fā)射時間和頻率,從而實現(xiàn)網(wǎng)絡同步。
DTMB的單頻網(wǎng)適配器主要由FPGA實現(xiàn)的核心功能模塊和基于Nios II軟核CPU實現(xiàn)的控制模塊組成,如圖1所示。核心功能模塊即適配器模塊,主要實現(xiàn)MIP包計算和插入,可編程參考時鐘(PCR)校正,傳輸流速率適配以及DS3輸出接口的適配;控制模塊主要實現(xiàn)人機交互部分如鍵盤和LCD的控制以及適配器模塊工作方式的控制。
圖1中,F(xiàn)LASH,SRAM和SDRAM用來存儲FPGA的配置信息和系統(tǒng)控制程序,DDS模塊用來產(chǎn)生輸出碼流所需時鐘。通過鍵盤和LCD接口,用戶可設置系統(tǒng)的工作模式,了解系統(tǒng)的工作狀態(tài)。2路ASI碼流經(jīng)過專門的接口芯片后輸入到FPGA,適配器模塊根據(jù)用戶的設置在碼流中插入相應的MIP包,最終輸出為2路ASI接口的碼流,一路光纖接口的碼流,一路DS3接口的碼流。
適配器模塊作為自定義組件通過Avalon總線掛接在Nios II系統(tǒng)中,它與Nios II的接口如圖2所示。
Nios II通過設置適配器模塊(技術(shù)指標見表1)內(nèi)的控制寄存器來控制適配器模塊,通過讀其內(nèi)部的狀態(tài)寄存器了解工作狀態(tài),或通過中斷信號產(chǎn)生報警信息。
3 關(guān)鍵技術(shù)實現(xiàn)
適配器的設計難點在于自定義組件適配器模塊的實現(xiàn),具體包括硬件邏輯的實現(xiàn)以及驅(qū)動程序的編寫,下面主要討論難度較大的硬件邏輯實現(xiàn)。
1) 適配器模塊的實現(xiàn)
實現(xiàn)框圖見圖3,輸入的MPEG-2 TS流先要同步,找到TS流的包頭,去掉空包后輸入FIFO。包復用模塊按照時鐘產(chǎn)生模塊輸出數(shù)據(jù),同時插入MIP包。當FIFO中數(shù)據(jù)不足時,則插入空包模塊產(chǎn)生的空包。由于碼流重組和速率適配,導致各包在適配器中停留時間不一致,因此要進行PCR校正。本文PCR校正采用置入法,即在輸入碼流中檢測到PCR包后,將包中的PCR值減去系統(tǒng)27MHz時鐘當前的計數(shù)值;當輸出緩存中檢測到PCR包后,將包中已改過的PCR值加上系統(tǒng)27 MHz時鐘當前的計數(shù)值,這樣,用一套計數(shù)器就可完成PCR校正和更新。
2) MIP包的計算和插入
如圖4所示,根據(jù)GPS接收機收到的10 MHz和1 pulse/s信號算出STS值,同時根據(jù)Nios II的控制信息產(chǎn)生TPS和最大延時參數(shù),再生成32位的CRC校驗值并復合成MIP包。其中,CRC32用的校驗多項式為D32+D26+D23+D22+D16+D12+D11+D10+D8+D7+D5+D4+D2+D+1。由于CRC32校驗碼的實時性要求較高,因而采用并行算法--查表法。DTMB系統(tǒng)兆幀的持續(xù)時間正好為1 s,MIP中的STS值在理論上應不變,因此第M個MIP包中的STS可表示為第M個兆幀實際開始的時刻與其前面最近的1 pulse/s信號的時間間隔。同時,由于STS的值用GPS的10 MHz時鐘計數(shù),精度為100 ns。
3) DS3成幀模塊
為使中轉(zhuǎn)站通過SDH網(wǎng)絡接收碼流,DTMB單頻網(wǎng)適配器增加了DS3輸出接口。DS3是由復幀構(gòu)成的,一個復幀分為7個子幀,1個子幀分成8塊具有85 bit的比特塊,每塊的第一個比特是開銷比特,其他84 bit用于傳送凈荷。所以一個復幀有56個開銷比特。包復用模塊產(chǎn)生的碼流是MPEG-2的TS流,因此需要一個DS3成幀模塊以實現(xiàn)到SDH網(wǎng)絡的適配。DS3成幀模塊的實現(xiàn)框圖如圖5所示。在一個復幀的開銷比特中,除奇偶校驗比特外,其他開銷比特在特定的網(wǎng)絡環(huán)境中一般都是固定的,所以單獨計算奇偶校驗比特。復幀內(nèi)的各比特塊以及各比特的確定主要靠2個計數(shù)器來實現(xiàn),一個用來指示比特塊,范圍是0~55,一個用來指示比特塊內(nèi)的每個比特,范圍是0~84。通過這2個計數(shù)器可在適當位置插入開銷比特和凈荷數(shù)據(jù),從而完成到SDH網(wǎng)絡的適配。
系統(tǒng)軟件的設計主要完成人機交互程序,從按鍵式控制面板中獲得用戶提供的參數(shù)并提交給適配器模塊,同時控制LCD來提供系統(tǒng)的反饋信息和報警信息。系統(tǒng)控制部分的流程如圖6所示。
4 測試結(jié)果與結(jié)論
利用碼流發(fā)生器、DTMB調(diào)制器、數(shù)字機頂盒、電視機搭建了一套測試系統(tǒng)。碼流發(fā)生器產(chǎn)生的碼流首先輸入單頻網(wǎng)適配器,對輸入碼流進行MIP包插入等處理再送到DTMB調(diào)制器,輸出到接收機頂盒進行解調(diào)譯碼。測試結(jié)果表明,調(diào)制器能正確檢測出單頻網(wǎng)適配器插入的MIP包,能根據(jù)MIP包內(nèi)容調(diào)整工作模式,如FEC碼率、保護間隔和調(diào)制方式等。對DTMB的33種傳輸速率都進行了測試,表明單頻網(wǎng)適配器支持全部傳輸速率,調(diào)制器能識別所有工作模式。同時,機頂盒能正常接收解調(diào)并輸出視頻圖像,未見停滯、馬賽克等現(xiàn)象。對單頻網(wǎng)適配器輸出端碼流的PCR特性進行測試,表明碼流重組和PCR校正正確,完全滿足MPEG-2的接口規(guī)范。
本文介紹了一種基于Nios II的DTMB單頻網(wǎng)適配器的設計方案,實現(xiàn)了MIP包插入、傳輸速率適配和PCR校正等核心功能,支持DTMB標準的全部33種凈荷速率,對內(nèi)部算法擁有完全的自主知識產(chǎn)權(quán)。同時,設計時預留一個以太網(wǎng)接口,以方便用戶通過以太網(wǎng)口控制單頻網(wǎng)適配器的工作模式。
評論