王衛(wèi)華,黃海波
(湖北汽車工業(yè)學(xué)院 電氣與信息工程學(xué)院,湖北 十堰 442002)
我國的數(shù)字電視主要由有線數(shù)字電視、地面數(shù)字電視、衛(wèi)星數(shù)字電視、IPTV網(wǎng)絡(luò)電視4類通道構(gòu)成,由于國內(nèi)目前是有線數(shù)字電視為主體的發(fā)展方向,所以在有線數(shù)字電視正處于高速發(fā)展之中,數(shù)字電視的高速發(fā)展主要依靠有線數(shù)字通信拉動(dòng)。目前我國的數(shù)字電視產(chǎn)業(yè)仍處于起步階段,我國的國情決定了中國電視系統(tǒng)的數(shù)字化不可能一步到位,只能是有選擇分階段進(jìn)行[1]。從數(shù)字電視的發(fā)展趨勢來看,中國數(shù)字電視發(fā)展將經(jīng)歷3個(gè)階段:機(jī)頂盒、標(biāo)準(zhǔn)清晰度數(shù)字電視SDTV和高清晰度數(shù)字電視HDTV,這三者將在一個(gè)很長的時(shí)期內(nèi)并存[2]。
機(jī)頂盒開發(fā)過程中,一般將帶傳輸流(TS)輸出的工程機(jī)作為數(shù)字電視接收的前端系統(tǒng)[3]。數(shù)字電視接收機(jī)能夠輸出TS流作為原始的碼流數(shù)據(jù),這就為后續(xù)TS流分析或者機(jī)頂盒軟件的開發(fā)提供了便利[4-5]。 其次,如果設(shè)計(jì)專用集成電路(ASIC)來開發(fā)數(shù)字電視接收工程機(jī)勢必加大研發(fā)成本。因此,利用一種簡單且低成本的途徑來實(shí)現(xiàn)數(shù)字電視接收機(jī)具有重大的意義?;诖?,本系統(tǒng)建立了一套基于單片機(jī)和FPGA的通用數(shù)字電視接收機(jī),并通過測試驗(yàn)證了本系統(tǒng)的可行性。
簡易數(shù)字電視接收機(jī)的系統(tǒng)功能框圖如圖1所示:視頻信號(hào)處理模塊Tuner將收到的信號(hào)進(jìn)行處理,輸出中頻信號(hào)fIF等于調(diào)諧頻率fOSC減去圖像載頻fp;信息流處理模塊Demodulator將接收的中頻信號(hào)處理成國際標(biāo)準(zhǔn)協(xié)議定義的一種數(shù)據(jù)流(TS流);FPGA轉(zhuǎn)換TS流為ASI接口數(shù)據(jù)發(fā)送模塊;單片機(jī)驅(qū)動(dòng)控制模塊,并接收PC上位機(jī)的控制命令。
首先是Tuner接收通過有線電纜傳輸?shù)纳漕l信號(hào)。在Tuner中進(jìn)行高頻放大,與本地振蕩信號(hào)(簡稱本振)混頻,輸出中心頻率固定的中頻信號(hào)。中頻信號(hào)再經(jīng)過A/D轉(zhuǎn)換,轉(zhuǎn)換為數(shù)字信號(hào)。然后進(jìn)行QAM解調(diào),解調(diào)后再進(jìn)行信道解碼(包括解交織、RS解碼、解擾),即可輸出MPEG傳輸流(TS)。隨著大規(guī)模集成電路工藝的發(fā)展,圖1中的解調(diào)芯片(Demodulator)已經(jīng)集成了A/D轉(zhuǎn)換 、解調(diào)、信道解碼、鎖相環(huán)(PLL)和AGC(自動(dòng)增益控制)電路等模塊?,F(xiàn)有的有線數(shù)字電視信號(hào)使用正交幅度調(diào)制(QAM),故有線數(shù)字電視機(jī)頂盒的解調(diào)部分是解調(diào)QAM信號(hào)。機(jī)頂盒工作原理見圖2。
調(diào)諧器(Tuner)接收射頻信號(hào)并下變頻為中頻信號(hào),再經(jīng)過A/D轉(zhuǎn)換,轉(zhuǎn)換為數(shù)字信號(hào),然后進(jìn)入解調(diào)模塊進(jìn)行解調(diào),輸出MPEG流,從中可以抽出一個(gè)節(jié)目的PES(打包基本流)數(shù)據(jù),包括視頻PES、音頻PES、數(shù)據(jù)PES,解復(fù)用模塊中包含一個(gè)解擾引擎,可對(duì)于加擾的信號(hào)進(jìn)行解擾,此時(shí)輸出的信號(hào)就是解擾的PES。視頻PES送入視頻解碼模塊,取出MPEG視頻數(shù)據(jù),并對(duì)MPEG視頻數(shù)據(jù)進(jìn)行解碼,然后輸出到PAL/NTSC編碼器,編碼成模擬視頻信號(hào),再經(jīng)過視頻輸出電路輸出;音頻PES處理過程與視頻類似,最后輸出PCM(脈沖編碼調(diào)制)音頻數(shù)據(jù)到PCM解碼器,PCM解碼器輸出立體模擬音頻信號(hào),經(jīng)音頻輸出電路輸出。簡易數(shù)字電視接收機(jī)設(shè)計(jì)的主要目的是將射頻信號(hào)降頻、解調(diào)、信道解碼輸出TS流信號(hào),經(jīng)過FPGA數(shù)據(jù)轉(zhuǎn)換后輸出速率恒定的ASI流信號(hào)。
圍繞圖1所示的數(shù)字電視接收機(jī)框圖,采用STC89C52單片機(jī)和Altera公司的FPGA芯片為核心,配置相應(yīng)的外圍電路設(shè)計(jì)了一款簡易的數(shù)字電視解調(diào)接收系統(tǒng)。限于篇幅,只對(duì)單片機(jī)核心電路、Tunner解調(diào)電路和調(diào)諧振蕩電路進(jìn)行設(shè)計(jì)分析。
單片機(jī)核心電路具有晶振和復(fù)位電路。晶振電路為單片機(jī)執(zhí)行指令提供時(shí)鐘信號(hào),復(fù)位電路保證單片機(jī)上電后能夠正常復(fù)位。單片機(jī)使用TTL電平,上位機(jī)PC則是RS232電平,因此單片機(jī)與串口進(jìn)行通信的時(shí)候必須進(jìn)行電平轉(zhuǎn)換。
由于前端輸出的TS流為27 MHz的并行數(shù)據(jù),而通過處理后的ASI接口數(shù)據(jù)為270MHz串行數(shù)據(jù),對(duì)所輸入的大量數(shù)據(jù)完成相當(dāng)復(fù)雜的運(yùn)算,并輸出處理結(jié)果,這時(shí)如果僅僅使用通用的微處理器,即使是專用于信號(hào)處理的微處理器,也無法滿足實(shí)時(shí)響應(yīng)的要求,因此不得不設(shè)計(jì)專用的高速硬線邏輯來完成這樣的運(yùn)算。本次使用的是Altera公司的CycloneIV系列EP4CE6E22C8芯片。
有線電纜傳送的射頻RF信號(hào)頻率范圍很寬,必須通過Tuner模塊進(jìn)行射頻放大和調(diào)諧。這里選擇菲利普公司生產(chǎn)的集成模塊TD1616LF-3來實(shí)現(xiàn)。TD1616LF-3主要用于數(shù)字﹑模擬及混合信號(hào)的調(diào)諧應(yīng)用,主要功能包括高頻信號(hào)放大﹑變頻和頻道選擇,還具有中頻信號(hào)放大功能,但不能進(jìn)行信號(hào)的解調(diào)。它能夠處理的高頻信號(hào)頻率范圍為51~858MHz,輸出的中頻信號(hào)頻率為36.13 MHz,SAW濾波器的帶寬為8MHz。本系統(tǒng)采用的設(shè)計(jì)電路如圖3所示。
解調(diào)模塊的電路如圖4所示,中頻信號(hào)以差分信號(hào)的形式輸入給TDA10024。為了使射頻信號(hào)和中頻信號(hào)的自動(dòng)增益控制(AGC)有效,保證幅度穩(wěn)定,將TDA10024兩個(gè)AGC電路的輸出接到TD1616LF-3的2腳和9腳,分別構(gòu)成射頻輸入和中頻輸出的自動(dòng)增益控制環(huán)。
上位機(jī)PC通過串口向單片機(jī)發(fā)送命令,單片機(jī)將收到的命令轉(zhuǎn)化為I2C數(shù)據(jù),完成Tuner和Demodulator的初始化,配置寄存器的功能,從而實(shí)現(xiàn)設(shè)置頻率、符號(hào)率和鎖臺(tái)。另外,單片機(jī)可以根據(jù)上位機(jī)的命令讀取Tuner和Demodulator中寄存器的數(shù)據(jù),并傳回給上位機(jī),實(shí)現(xiàn)信號(hào)質(zhì)量和信號(hào)強(qiáng)度實(shí)時(shí)顯示。FPGA是為了將前端輸出的多路27 MHz的并行數(shù)據(jù)經(jīng)過復(fù)雜的復(fù)用處理轉(zhuǎn)化為270MHz符號(hào)率恒定的ASI接口數(shù)據(jù)。由于單片機(jī)主要完成系統(tǒng)配置和與PC機(jī)之間的通信,功能相對(duì)簡單,這里只對(duì)FPGA的軟件設(shè)計(jì)進(jìn)行說明。
對(duì)接收到的多路TS流進(jìn)行傳輸,通用的辦法就是把多路TS數(shù)據(jù)進(jìn)行復(fù)用處理變成一路串行的ASI數(shù)據(jù)。如圖5所示,首先復(fù)用預(yù)處理對(duì)多路TS流的節(jié)目特殊信息(PSI)進(jìn)行提取和修改,并根據(jù)修改后的PSI信息生產(chǎn)新的PSI表;輸入部分完成對(duì)預(yù)處理后的多路不同符號(hào)率的TS數(shù)據(jù)流進(jìn)行緩存,并將緩存器的半滿信號(hào)提供給后續(xù)的復(fù)用部分;復(fù)用部分完成多路TS流的數(shù)據(jù)復(fù)接并轉(zhuǎn)換成一路串行ASI數(shù)據(jù)流,根據(jù)需用可以插入一些空包和其他業(yè)務(wù)信息。
對(duì)多路TS流進(jìn)行復(fù)用的軟件設(shè)計(jì)流程如圖6所示。首先預(yù)處理完成同步檢測、PSI提取和PSI修改等功能。在輸入部分對(duì)多路TS流進(jìn)行包類型檢測,檢測每個(gè)包的PID,判斷是否空包或者PAT包,如果是空包或PAT包就丟棄,如果不是空包或PAT包則檢測是否有PCR數(shù)據(jù)段,如果有PCR數(shù)據(jù)段則記錄,并將包寫入輸入的緩存器FIFO中。
當(dāng)輸入部分的緩存FIFO半滿后,向復(fù)用部分發(fā)送半滿信號(hào),復(fù)用控制部分根據(jù)半滿信號(hào)來源通知復(fù)用部分發(fā)出讀使能信號(hào),從半滿的緩存FIFO中讀取數(shù)據(jù)并發(fā)送到輸出緩存FIFO中。當(dāng)各路TS輸入緩存FIFO都沒半滿,復(fù)用控制邏輯則通知復(fù)用部分將空包填入到輸出FIFO中。根據(jù)需要,復(fù)用控制部分以一定的時(shí)間間隔向輸出FIFO中插入特殊信息PAT包。
對(duì)傳輸線的信號(hào)進(jìn)行測試如圖7所示的Tuner接收到的射頻信號(hào)。根據(jù)數(shù)據(jù)流向,對(duì)經(jīng)過高頻頭出來的中頻信號(hào)進(jìn)行檢測解調(diào),如圖8所示。最后對(duì)通過Demodulator模塊解調(diào)的數(shù)據(jù)進(jìn)行提取和處理,數(shù)據(jù)使能與同步信號(hào)如圖9所示,最終系統(tǒng)成功鎖臺(tái)并輸出8路并行TS流,圖10為其中一路TS流,圖11為設(shè)置頻率和鎖臺(tái)成功示意圖。
本文提供了一種簡單、低成本的基于單片機(jī)和FPGA實(shí)現(xiàn)數(shù)字電視接收機(jī)的方案。單片機(jī)通過串口接收上位機(jī)的命令,控制調(diào)諧器和解調(diào)模塊,也通過I2C總線讀取解調(diào)模塊寄存器的數(shù)據(jù),并返回給上位機(jī)進(jìn)行實(shí)時(shí)顯示。經(jīng)過現(xiàn)場測試,各個(gè)功能模塊的時(shí)序和數(shù)據(jù)均正確無誤,達(dá)到設(shè)計(jì)要求,系統(tǒng)工作正常,對(duì)設(shè)計(jì)通用數(shù)字電視接收機(jī)具有較強(qiáng)的借鑒意義。
[1] 秦雷,朱秀昌,胡棟.數(shù)字電視傳輸技術(shù)新進(jìn)展及展望[J].電視技術(shù),2011,35(10):14-17.
[2] 李相偉,呂月娥.電視接收技術(shù)[M].北京:國防工業(yè)出版社,2008.
[3] 趙堅(jiān).數(shù)字電視技術(shù)[M].西安:西安電子科技大學(xué)出版社,2005.
[4]楊華,余松煜.標(biāo)準(zhǔn)清晰度數(shù)字電視音頻編碼器系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2002,28(12):25-26+29.
[5]胡宏平.基于數(shù)字電視機(jī)頂盒的入式linux操作系統(tǒng)的設(shè)計(jì)[J].電視技術(shù),2005(8):52-57.