基于NiosII的DTMB單頻網(wǎng)適配器設計
1引言 作為地面數(shù)字電視的組網(wǎng)方式之一,單頻網(wǎng)(singlefrequendynetwork,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-frameinitial-izationpacket)。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)的核心功能模塊和基于niosii軟核cpu實現(xiàn)的控制模塊組成,如圖1所示。核心功能模塊即適配器模塊,主要實現(xiàn)mip包計算和插入,可編程參考時鐘(pcr)校正,傳輸流速率適配以及ds3輸出接口的適配;控制模塊主要實現(xiàn)人機交互部分如鍵盤和lcd的控制以及適配器模塊工作方式的控制。 圖1中,flash,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總線掛接在niosii系統(tǒng)中,它與niosii的接口如圖2所示。 niosii通過設置適配器模塊(技術(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-2ts流先要同步,找到ts流的包頭,去掉空包后輸入fifo。包復用模塊按照時鐘產(chǎn)生模塊輸出數(shù)據(jù),同時插入mip包。當fifo中數(shù)據(jù)不足時,則插入空包模塊產(chǎn)生的空包。由于碼流重組和速率適配,導致各包在適配器中停留時間不一致,因此要進行pcr校正。本文pcr校正采用置入法,即在輸入碼流中檢測到pcr包后,將包中的pcr值減去系統(tǒng)27mhz時鐘當前的計數(shù)值;當輸出緩存中檢測到pcr包后,將包中已改過的pcr值加上系統(tǒng)27mhz時鐘當前的計數(shù)值,這樣,用一套計數(shù)器就可完成pcr校正和更新。 2)mip包的計算和插入 根據(jù)gps接收機收到的10mhz和1pulse/s信號算出sts值,同時根據(jù)niosii的控制信息產(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ù)時間正好為1s,mip中的sts值在理論上應不變,因此第m個mip包中的sts可表示為第m個兆幀實際開始的時刻與其前面最近的1pulse/s信號的時間間隔。同時,由于sts的值用gps的10mhz時鐘計數(shù),精度為100ns。 3)ds3成幀模塊 為使中轉(zhuǎn)站通過sdh網(wǎng)絡接收碼流,dtmb單頻網(wǎng)適配器增加了ds3輸出接口。ds3是由復幀構(gòu)成的,一個復幀分為7個子幀,1個子幀分成8塊具有85bit的比特塊,每塊的第一個比特是開銷比特,其他84bit用于傳送凈荷。所以一個復幀有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所示。