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