謝 鋒(廣西廣播電視技術(shù)中心)
?
基于FPGA的多通道音視頻解碼器設(shè)計(jì)與實(shí)現(xiàn)
謝 鋒
(廣西廣播電視技術(shù)中心)
[摘 要]廣播電視信源傳輸鏈路穩(wěn)定可靠是保障安全播出的重要環(huán)節(jié),結(jié)合目前我區(qū)村村通廣播電視無(wú)線覆蓋工程的實(shí)際情況,綜合考慮臺(tái)站實(shí)際應(yīng)用需求,研究了多通道信源解析處理、FPGA解復(fù)用、TS流解碼的關(guān)鍵技術(shù),并在實(shí)踐中檢驗(yàn)。實(shí)踐證明,采用新技術(shù)研發(fā)的基于FPGA的多通道音視頻解碼器,在全區(qū)鄉(xiāng)鎮(zhèn)無(wú)線覆蓋建設(shè)中起到了積極的推動(dòng)作用。
[關(guān)鍵詞]FPGA解TS流復(fù)用;DTMB/DVB-S射頻調(diào)諧與解調(diào);TS流解碼
一直以來(lái),廣西壯族自治區(qū)新聞出版廣電局積極推進(jìn)廣播電視農(nóng)村公共服務(wù)平臺(tái)建設(shè),特別是2013年開(kāi)始大力開(kāi)展鄉(xiāng)鎮(zhèn)無(wú)線發(fā)射臺(tái)站建設(shè)。目前,鄉(xiāng)鎮(zhèn)調(diào)頻前端信源系統(tǒng)采用有線電視機(jī)頂盒解碼出音頻信號(hào)送至FM調(diào)制器,將信號(hào)調(diào)制到所需頻率后利用原農(nóng)村有線電視網(wǎng)通過(guò)光纖傳輸至鄉(xiāng)鎮(zhèn)發(fā)射臺(tái)站進(jìn)行發(fā)射覆蓋。此種方式存在以下問(wèn)題:
(1)有線電視機(jī)頂盒為民用產(chǎn)品,功能及接口單一,工作穩(wěn)定性不佳,長(zhǎng)時(shí)間工作容易出現(xiàn)死機(jī)等現(xiàn)象,作為鏈路信源不可靠。
(2)有線電視機(jī)頂盒無(wú)遠(yuǎn)程監(jiān)控功能,遠(yuǎn)程不可控,且無(wú)法得知其工作狀態(tài)。
(3)一個(gè)有線電視機(jī)頂盒目前只能解碼出一個(gè)音視頻節(jié)目,多套節(jié)目必須得多個(gè)機(jī)頂盒同時(shí)工作,數(shù)量多,維護(hù)不便,不能滿足臺(tái)站實(shí)際使用需求。
前端信號(hào)源系統(tǒng)的建設(shè),關(guān)乎安全播出,必須足夠穩(wěn)定可靠。因此自主研發(fā)多通道音視頻解碼器,采用多通道輸入、多路音視頻輸出的方式,解決前端信源問(wèn)題尤為重要。
目前我區(qū)廣播電視無(wú)線覆蓋村村通工程中信號(hào)源采用共源方式的信號(hào)源系統(tǒng),多通道音視頻解碼器輸出多路信號(hào)作為信源提供給調(diào)頻調(diào)制器。FM調(diào)制器對(duì)信號(hào)進(jìn)行調(diào)制后通過(guò)光纖傳輸?shù)姆绞剿椭拎l(xiāng)鎮(zhèn)調(diào)頻發(fā)射臺(tái)站發(fā)射機(jī)進(jìn)行功率放大并上天線發(fā)射覆蓋。
其應(yīng)用方案如圖1所示。

圖1 多通道音視頻解碼器在鄉(xiāng)鎮(zhèn)無(wú)線覆蓋信號(hào)源前端的應(yīng)用
多通道音視頻解碼器具備四種信號(hào)輸入方式,分別是DTMB射頻信號(hào)輸入(RF_1)、衛(wèi)星射頻信號(hào)輸入(RF_2)、MPEG-2格式TS流輸入,以及IP幀格式TS流輸入。四種輸入方式均可實(shí)現(xiàn)數(shù)據(jù)碼流的解復(fù)用、解析和解碼,最終還原音視頻信號(hào),以多路的方式輸出,每一路音視頻信號(hào)對(duì)應(yīng)一個(gè)用戶已選擇解碼的節(jié)目。信號(hào)輸入方式的多樣性,使得多通道音視頻解碼器適用范圍更廣,應(yīng)用更加靈活,滿足多方面用戶需求。

圖2 多通道音視頻解碼器電源接口、信號(hào)輸入輸出接口
多通道音視頻解碼器的硬件設(shè)計(jì),主要分為核心主板和OLED液晶顯示及按鍵板,單一+5V/2A開(kāi)關(guān)電源供電,2U標(biāo)準(zhǔn)機(jī)箱,設(shè)備所有輸入輸出信號(hào)均由核心主板連接至機(jī)箱后面板相關(guān)接口。核心主板接口如圖2所示,核心主板原理框圖如圖3所示。

圖3 多通道音視頻解碼器主板原理框圖

圖4 信道調(diào)諧及解調(diào)
多通道音視頻解碼器主要由DTMB射頻信道調(diào)諧解調(diào)電路、衛(wèi)星射頻信道調(diào)諧解調(diào)電路、以太網(wǎng)IP幀格式TS流轉(zhuǎn)SPI總線傳輸電路、MEPG-2格式TS流串行轉(zhuǎn)并行電路、FPGA解析解復(fù)用電路、ARM單片機(jī)控制電路、音視頻解碼電路、以太網(wǎng)通信電路、音視頻驅(qū)動(dòng)及濾波電路構(gòu)成。
設(shè)計(jì)原理:信道調(diào)諧解調(diào)電路具有兩種模式,DTMB射頻信號(hào)輸入方式,衛(wèi)星信號(hào)輸入方式,均實(shí)現(xiàn)數(shù)字電視射頻信號(hào)轉(zhuǎn)換為標(biāo)準(zhǔn)8位并行MEPG-2格式TS流數(shù)據(jù)。以太網(wǎng)IP幀格式TS流收發(fā)電路通過(guò)DM9161AEP芯片實(shí)現(xiàn)接收以IP幀格式傳輸?shù)腡S流數(shù)據(jù),并通過(guò)SPI總線的方式送至FPGA。MEPG-2 TS流串行轉(zhuǎn)并行電路實(shí)現(xiàn)TS流由異步串行傳輸方式轉(zhuǎn)換為8位并行傳輸方式。FPGA對(duì)此四種方式輸入的TS流進(jìn)行解析解復(fù)用處理,每個(gè)節(jié)目流以其在TS包中的PID字段來(lái)區(qū)分。FPGA將接收到的每一個(gè)TS包(188字節(jié)與204字節(jié)自適應(yīng))先送入一個(gè)由FPGA內(nèi)置RAM組成的緩沖區(qū),然后進(jìn)行解包,解析出每一個(gè)包的PID號(hào)、PAT表、PMT表等信息進(jìn)行存儲(chǔ)并傳送給ARM單片機(jī)主控處理,F(xiàn)PGA再通過(guò)比較判別算法提取用戶想要輸出的TS包送至FPGA指定的端口輸出,未被選擇的TS包將被拋棄。多通道多路音視頻解碼器對(duì)每一路輸入的TS流數(shù)據(jù)進(jìn)行解壓縮、解包,解出原始音視頻PES流及其它同步控制和數(shù)據(jù)信息,存儲(chǔ)到外部DDR3 SDRAM存儲(chǔ)器上。解碼芯片通過(guò)MEPG-2硬解碼再將各種數(shù)據(jù)信息還原成完整的視頻和伴音信號(hào)。視頻信號(hào)經(jīng)過(guò)視頻編碼,濾波電路調(diào)整,輸出復(fù)合視頻信號(hào)(CVBS)。數(shù)字音頻信號(hào)經(jīng)過(guò)解碼芯片內(nèi)置高精度D/A模塊轉(zhuǎn)換和外置功放放大后輸出左右聲道音頻信號(hào)。多通道音視頻解碼器目前設(shè)計(jì)為九路音視頻信號(hào)的獨(dú)立解碼,四種輸入方式中任意一種均可實(shí)現(xiàn)獨(dú)立的九路解碼輸出,完全滿足臺(tái)站實(shí)際使用需求。
2.1DTMB射頻信道調(diào)諧及解調(diào)
數(shù)字電視射頻信號(hào)的調(diào)諧及解調(diào)電路主要由MXL5007調(diào)諧芯片和ATBM8869解調(diào)芯片組成,輸入主板RF接口的射頻信號(hào)經(jīng)過(guò)MXL5007硅調(diào)諧器將射頻進(jìn)行下變頻至零頻或中頻頻率信號(hào),解調(diào)器ATBM8869芯片接收MXL5007硅調(diào)諧器輸出的已調(diào)諧信號(hào)進(jìn)行解調(diào)并輸出標(biāo)準(zhǔn)TS流信號(hào)。如圖4所示。
ARM主控單片機(jī)通過(guò)IIC總線完成對(duì)調(diào)諧及解調(diào)的通信和控制。調(diào)諧器MXL5007調(diào)諧范圍為44 MHz至885MHz,內(nèi)部集成頻點(diǎn)濾波器,具有片上94dB增益,3dB環(huán)回輸出,能適應(yīng)幾乎所有具有可兼容IIC數(shù)字總線控制接口的解調(diào)芯片。ARM主控單片機(jī)主控程序首先對(duì)MXL5007進(jìn)行軟件復(fù)位,初始化MXL5007,包括選擇需要調(diào)諧的電視標(biāo)準(zhǔn)模式、設(shè)置輸出中頻頻率、設(shè)置內(nèi)置PLL參考時(shí)鐘頻率、設(shè)置輸入的射頻調(diào)諧頻率、設(shè)置8MHz的帶寬間隔、將射頻頻率轉(zhuǎn)換成16bits格式寫(xiě)入MXL5007相應(yīng)的寄存器,等待芯片調(diào)諧成功后才能輸出已調(diào)諧的信號(hào)送至ATBM8869進(jìn)行解調(diào)。
ATBM8869是用于DTMB國(guó)標(biāo)地面數(shù)字電視的一款數(shù)字解調(diào)芯片,具有穩(wěn)定可靠的解調(diào)算法。ARM單片機(jī)主控程序首先初始化ATBM8869的IIC接口,設(shè)置輸入信號(hào)頻率,設(shè)置調(diào)諧器類(lèi)型,設(shè)置TS流輸出格式,初始化寄存器內(nèi)容,按照芯片數(shù)據(jù)手冊(cè)要求在相應(yīng)寄存器寫(xiě)入初始數(shù)值,然后設(shè)置解調(diào)芯片工作模式,自動(dòng)循環(huán)檢測(cè)解調(diào),查詢接收狀態(tài)寄存器的數(shù)值,如果該數(shù)值是0x78或者0x79,表示載波和時(shí)間已經(jīng)鎖定,均衡器工作正常,其它值則說(shuō)明芯片還沒(méi)處在穩(wěn)定狀態(tài),還需繼續(xù)均衡。如果寄存器0x000D的數(shù)值是0x78或者0x79,并且0x0005寄存器數(shù)值的最低位是1,說(shuō)明信道解調(diào)成功,如果是0則不成功,需要循環(huán)檢測(cè)。射頻調(diào)諧及解調(diào)流程如圖5所示。
最后ATBM8869輸出并行8位TS流數(shù)據(jù)到下一個(gè)FPGA解析、解碼流復(fù)用模塊進(jìn)行進(jìn)一步處理。
2.2FPGA信號(hào)解析、解碼流復(fù)用
多通道音視頻解碼器采用高性能FPGA實(shí)現(xiàn)信號(hào)的解析、解復(fù)用。使用片上RAM創(chuàng)建一個(gè)FIFO接收模塊。此模塊為FIFO緩沖區(qū),包括兩個(gè)4字節(jié)的緩沖區(qū),用于取出信息包的PID號(hào)并將取得的PID號(hào)送入PID表控制模塊,以便FPGA將其與用戶選中的PID號(hào)相比較,根據(jù)情況以決定存儲(chǔ)或丟棄。
使用FPGA實(shí)現(xiàn)傳輸流解復(fù)用器。FPGA內(nèi)部模塊有信道接口、信道FIFO、PID處理器、PID后處理器、內(nèi)部音視頻接口和節(jié)目時(shí)鐘提取電路等組成。其中信道接口提供自動(dòng)傳輸包同步字節(jié)檢測(cè),及實(shí)現(xiàn)同步鎖定與未鎖定的具有可編程延遲時(shí)間的滯后機(jī)構(gòu)。一旦建立同步,信道接口就通過(guò)信道FIFO將完整的傳輸包傳輸?shù)絇ID處理器。信道接口還檢查傳輸包的完整性,指示傳輸錯(cuò)誤等。最終輸出九路經(jīng)過(guò)分離和篩選的TS流,送至下一個(gè)解碼模塊。

圖5 調(diào)諧及解調(diào)程序流程
2.3TS流解碼
多通道音視頻解碼器采用楊智DTMB芯片M3381T實(shí)現(xiàn)TS流的解碼,自適應(yīng)MPEG-2、H.264、AVS編碼格式的TS流。M3381T集成嵌入式CPU,集成數(shù)據(jù)控制單元、編碼器、輸出接口、RGB處理器和DA轉(zhuǎn)換器等部分,TS流經(jīng)過(guò)解碼器芯片后輸出CVBS格式復(fù)合視頻信號(hào)。對(duì)于音頻處理部分,M3381T集成了一個(gè)音頻DA轉(zhuǎn)換器,是一種具有可編程鎖相環(huán)(PLL)的立體聲數(shù)模轉(zhuǎn)換器,其作用是將由音視解碼器輸出的PCM音頻數(shù)據(jù)轉(zhuǎn)換成具有左、右聲道的模擬立體聲音頻信號(hào),再經(jīng)過(guò)放大后輸出。
多通道音視頻解碼器采用一片32位的ARM單片機(jī)STM32F103VET6作為整個(gè)設(shè)備的控制、數(shù)據(jù)采集和通信處理核心。控制程序使用小型UCOS嵌入式操作系統(tǒng),可以實(shí)現(xiàn)程序并行運(yùn)行、實(shí)時(shí)處理各個(gè)任務(wù)的請(qǐng)求,程序流程如圖6所示。
程序啟動(dòng)經(jīng)初始化后,并行執(zhí)行流程圖6中各項(xiàng)任務(wù)。操作界面可以通過(guò)面板按鍵和OLED液晶顯示屏來(lái)操作。OLED液晶顯示眾多菜單和功能列表,其包含的主要功能為:整機(jī)參數(shù)設(shè)置、參數(shù)讀取、功能配置以及設(shè)備運(yùn)行狀態(tài)的實(shí)時(shí)讀取。此外還可以通過(guò)以太網(wǎng)接口連接上位機(jī)客戶端來(lái)實(shí)現(xiàn)本地控制,通過(guò)以太網(wǎng)接口接到網(wǎng)絡(luò)以實(shí)現(xiàn)遠(yuǎn)程通信和控制,設(shè)備所有的參數(shù)及狀態(tài)都可以通過(guò)以太網(wǎng)接口來(lái)和用戶進(jìn)行交互。
多通道音視頻解碼器從項(xiàng)目立項(xiàng)到樣機(jī)生產(chǎn)并測(cè)試,所測(cè)音視頻指標(biāo)均符合項(xiàng)目預(yù)期要求。在實(shí)際環(huán)境應(yīng)用中運(yùn)行狀況良好,多種通道輸入的設(shè)計(jì)方式應(yīng)用更加廣泛靈活,實(shí)用效果明顯。
廣播電視無(wú)線覆蓋網(wǎng)建設(shè)的快速發(fā)展和推進(jìn),不僅給廣電發(fā)展帶來(lái)了巨大挑戰(zhàn)和機(jī)遇,還滿足了廣大農(nóng)村邊遠(yuǎn)地區(qū)人民群眾收聽(tīng)收看廣播電視的迫切期望和需求。自主研發(fā)的多通道音視頻解碼器對(duì)全區(qū)廣大鄉(xiāng)鎮(zhèn)實(shí)現(xiàn)無(wú)線無(wú)縫覆蓋起到了安全播出保障作用,產(chǎn)生了積極的社會(huì)效益,具有良好的應(yīng)用前景和推廣價(jià)值。

圖6 ARM單片機(jī)控制程序流程圖
參考文獻(xiàn)
[1]周潤(rùn)景,圖雅,張麗敏.基于Quartus II的FPGA/ CPLD數(shù)字系統(tǒng)設(shè)計(jì)實(shí)例[M].北京:電子工業(yè)出版社,2007,39-348.
[2]郭里婷,蘇凱雄.DVB-S接收系統(tǒng)的結(jié)構(gòu)及其性能分析[J].福州大學(xué)學(xué)報(bào)(自然科學(xué)版),1996,6.
[3]GB/T 26686-2011.地面數(shù)字電視接收機(jī)通用規(guī)范[S].2001.
[4]張楚等.H.264片上高速可變長(zhǎng)解碼器設(shè)計(jì)[J].電子測(cè)量技術(shù),2007年30卷10期:7-10,32.
[5]畢厚杰.視頻壓縮編碼標(biāo)準(zhǔn)——H.264/AVC[M].北京:人民郵電出版社,2005.