王小穩(wěn)
摘? 要:現(xiàn)有技術(shù)中,通常用DSP芯片來對音頻進(jìn)行MP3壓縮處理。當(dāng)一片DSP芯片內(nèi)要同時運行多個壓縮程序來完成多路音頻同時壓縮時,由于內(nèi)部資源不夠,是無法實現(xiàn)的。但隨著廣播事業(yè)的發(fā)展,多通道音頻監(jiān)測的路數(shù)逐漸增多,面對多路音頻采集壓縮,采用一個芯片壓縮一路音頻的方法,會造成嚴(yán)重的資源浪費,增加設(shè)備的成本,同時,會增大電路的規(guī)模及設(shè)計難度。因此,亟待解決這個問題。是對DGN-32F數(shù)字音頻電平監(jiān)測系統(tǒng)[1]硬件設(shè)備的升級換代。
關(guān)鍵詞:多路音頻壓縮;音頻監(jiān)測;多路音頻采集;MP3壓縮
中圖分類號:TN912.3? ? ? ?文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號:2095-2945(2020)08-0096-03
Abstract: In the existing technology, DSP chip is usually used to compress audio with MP3. When multiple compression programs are run at the same time in a DSP chip to complete multi-channel audio compression at the same time, it can not be realized because of the lack of internal resources. However, with the development of broadcasting, the number of multi-channel audio monitoring is gradually increasing. In the face of multi-channel audio acquisition and compression, using one chip to compress one audio will cause a serious waste of resources, increase the cost of equipment, and at the same time, will increase the scale of the circuit and the difficulty of design. Therefore, it is urgent to solve this problem. It is the upgrading of the hardware equipment of the DGN-32F digital audio level monitoring system.
Keywords: multi-channel audio compression; audio monitoring; multi-channel audio acquisition; MP3 compression
前言
在廣播電視監(jiān)測領(lǐng)域,音頻信號監(jiān)測是必不可少的重要手段。從開始的音頻有無判斷到音頻幅度監(jiān)測,再到現(xiàn)在的音頻內(nèi)容監(jiān)測。隨著技術(shù)水平不斷的向智能化、自動化發(fā)展。這對音頻采集前端設(shè)備的要求也越來越高?,F(xiàn)在的多通道音頻采集前端設(shè)備要實現(xiàn)的功能不僅僅是判斷信號有無和幅度大小,還要將多路的音頻全部信息通過壓縮打包傳輸給計算機(jī)系統(tǒng)。本文介紹的設(shè)備即是把多路模擬音頻或者數(shù)字音頻AES 3接口標(biāo)準(zhǔn)[1]的數(shù)字音頻信號,經(jīng)過轉(zhuǎn)碼、MP3壓縮,經(jīng)過局域網(wǎng),發(fā)送到服務(wù)器。
1 設(shè)備工作原理簡述
模擬或數(shù)字音頻信號通過接口板衡輸入,使用專業(yè)音頻ADC芯片,將模擬或模擬音頻轉(zhuǎn)化為統(tǒng)一格式的信號發(fā)送給控制板。控制板采用4塊DSP和FPGA對信號進(jìn)行處理。采用3塊DSP分別壓縮。使用FPGA對信號進(jìn)行分配,平衡每塊DSP的負(fù)載。余下的第4塊DSP負(fù)責(zé)接收3塊DSP壓縮后的數(shù)據(jù)并控制網(wǎng)口將數(shù)據(jù)發(fā)送到服務(wù)器。壓縮算法采用MP3算法,可以最大限度的降低數(shù)據(jù)量,并且保證音質(zhì)。
2 設(shè)備的板卡功能介紹
設(shè)備的板卡按照功能塊劃分為五個電路板:
(1)液晶板:采用2.2寸HMI無觸摸串口智能屏,通過內(nèi)置單片機(jī)編程驅(qū)動。屏幕可顯示本機(jī)IP、本機(jī)端口、上位機(jī)IP、上位機(jī)端口、當(dāng)前監(jiān)聽通道以及通道總數(shù),完成友好的人機(jī)交互操作功能,方便用戶使用。
(2)電源板:結(jié)合兩塊開關(guān)電源,可以實現(xiàn)雙電源冗余供電,為其它板提供穩(wěn)定可靠的+15V、-15V、+5V電壓。
(3)模擬接口板:采用平衡差分輸入,使用專業(yè)音頻ADC芯片,使用48kHz抽樣率、24位精度將模擬音頻轉(zhuǎn)化為標(biāo)準(zhǔn)的IIS格式的串行數(shù)字信號發(fā)送給控制板。一塊模擬接口板,最多支持16路模擬音頻輸入,可根據(jù)用戶需求配置路數(shù)。
(4)數(shù)字接口板:其輸入信號為標(biāo)準(zhǔn)AES3數(shù)字音頻信號[2],經(jīng)過轉(zhuǎn)換專用芯片,轉(zhuǎn)換成同模擬接口板相同(IIS格式)的串行數(shù)字信號發(fā)送給控制板。一塊數(shù)字接口板最多支持8路立體聲數(shù)字音頻輸入,亦可以根據(jù)用戶需求配置。
(5)控制板:控制板基于嵌入式FPGA+DSP的架構(gòu)設(shè)計。使用高速DSP芯片對音頻PCM數(shù)據(jù)進(jìn)行實時壓縮編碼,在壓縮效率和音頻質(zhì)量方面取得較好的平衡;實時計算每路音頻的峰值,以便節(jié)約計算機(jī)資源。峰值數(shù)據(jù)和實時音頻通過網(wǎng)絡(luò)控制芯片上傳至服務(wù)器。網(wǎng)絡(luò)傳輸部分采用嵌入式FPGA和DSP芯片共同完成壓縮后音頻數(shù)據(jù)實時IP封裝和網(wǎng)絡(luò)協(xié)議控制。
3 控制板的設(shè)計
控制板的設(shè)計是本設(shè)備的技術(shù)難點,我們重點解決了:利用單顆DSP芯片實現(xiàn)6路音頻的復(fù)用編碼,使一個標(biāo)準(zhǔn)的MP3碼流中傳輸6路音頻節(jié)目。大幅降低硬件系統(tǒng)設(shè)計難度及設(shè)備硬件成本。
3.1 控制電路板硬件設(shè)計
控制板電路主要由FPGA、DSP、DAC、DC/DC等芯片組成。利用ADSP技術(shù)[2]實現(xiàn)多通道語音信號的MP3壓縮編碼,組幀后經(jīng)過以太網(wǎng)實現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸。設(shè)備具備成本低,單板實現(xiàn)多通道音頻數(shù)據(jù)傳遞。
處理板卡含4片低成本定點DSP處理器,包含1片主控DSP和3片壓縮編碼DSP處理器。其中每片壓縮編碼DSP處理器可完成6路數(shù)字音頻的MP3壓縮編碼,3片DSP實現(xiàn)18路數(shù)字音頻的壓縮編碼傳輸。主控DSP實現(xiàn)18路壓縮數(shù)據(jù)的組幀,網(wǎng)絡(luò)的傳輸控制,液晶顯示控制等功能。
控制板硬件模塊組成結(jié)構(gòu)如圖1所示。
3.2 FPGA芯片功能
FPGA主要功能為接收解碼板IIS數(shù)據(jù),完成串并轉(zhuǎn)換,并將18路音頻數(shù)據(jù)分成4組送3組DSP處理器完成壓縮編碼。FPGA對輸入的9個通道的IIS數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,計算出每路一段時間內(nèi)的峰值。FPGA接收壓縮編碼后數(shù)據(jù)組幀后送以太網(wǎng)上傳。FPGA通過I2C-FLASH實現(xiàn)系統(tǒng)配置信息的固態(tài)存儲。FPGA通過串口連接液晶顯示器,可以實現(xiàn)系統(tǒng)信息的顯示。FPGA可選擇18路音頻數(shù)據(jù)中的任意一路進(jìn)行DAC轉(zhuǎn)換后輸出,通過有源音箱可實現(xiàn)音頻數(shù)據(jù)的本地實時監(jiān)聽。
根據(jù)上述功能的需求,要求FPGA具備一定數(shù)據(jù)緩存功能和控制功能,可以采用嵌入式MicroBlaze處理器方式實現(xiàn)。為了控制成本,可以選用Xilinx公司的Spartan-6系列的FPGA。
3.3 DSP處理器主要功能
DSP處理器主要完成接收的音頻數(shù)據(jù)的MP3壓縮編碼處理,由于需要對18路信號進(jìn)行壓縮,考慮到算法的實時性和成熟性,擬采用ADI公司的BF533SBBZ500。考慮有一定的設(shè)計冗余,采用4片DSP,根據(jù)實測結(jié)果壓縮18路音頻需要3片DSP芯片。第四塊DSP芯片完成網(wǎng)絡(luò)數(shù)據(jù)打包功能,利用冗余算法解決通道間音頻串?dāng)_問題。
3.4 以太網(wǎng)模塊
以太網(wǎng)模塊主要完成編碼數(shù)據(jù)的上傳和接收控制、配置信息。擬采用高集成度的工業(yè)經(jīng)以太網(wǎng)芯片W5300,可實現(xiàn)UDP等網(wǎng)路傳輸協(xié)議,同時支持設(shè)備IP地址、端口號、目標(biāo)PC機(jī)IP地址、目標(biāo)PC機(jī)端口號等配置信息的修改。
3.5 數(shù)模轉(zhuǎn)換器模塊
數(shù)模轉(zhuǎn)換器模塊實現(xiàn)一路音頻數(shù)據(jù)的模擬轉(zhuǎn)換輸出??梢圆捎肁D1852等芯片直接實現(xiàn)IIC數(shù)據(jù)流的轉(zhuǎn)換輸出。AD1852支持24bit,48K的數(shù)據(jù)轉(zhuǎn)換輸出。
3.6 時鐘、電源模塊
控制電路板采用板內(nèi)晶體振蕩器為基準(zhǔn)時鐘源,送FPGA鎖相環(huán)路產(chǎn)生各個數(shù)字模塊所需的時鐘。
電源模塊為將控制板提供的各個芯片所需的電壓。由多種DC/DC芯片PTH08T240WAD組成。
4 控制板軟件設(shè)計
控制板的軟件設(shè)計包括FPGA和DSP兩部分,其中FPGA軟件主要包括IIS接口模塊、以太網(wǎng)接口控制模塊、I2C-FLASH控制模塊、FPGA-DSP接口控制模塊、數(shù)模轉(zhuǎn)換器接口控制模塊,串口液晶顯示接口模塊等。DSP軟件主要功能實現(xiàn)MP3壓縮編碼,接收FPGA提供的48K-24bit的原始音頻數(shù)據(jù),按照指定壓縮率實現(xiàn)MP3數(shù)據(jù)流,通過雙口RAM將壓縮數(shù)據(jù)流送FPGA,再經(jīng)過以太網(wǎng)送上位機(jī)等功能。
4.1 FPGA軟件
FPGA的IIS接口主要是提供3.072M位時鐘和48K幀時鐘到解碼子板,同時FPGA接收解碼芯片CS8416輸出的IIS碼流信號或?qū)I(yè)音頻ADC芯片輸出的IIS碼流信號。FPGA將16路串行IIS數(shù)據(jù)流進(jìn)行并行轉(zhuǎn)換后分別緩存在內(nèi)部雙口RAM中交換給DSP。同時FPGA將補碼格式的PCM碼流進(jìn)行求模運算,在規(guī)定計時周期內(nèi)(可通過軟件配置周期)比較緩存數(shù)據(jù)最大值。具體接口時序關(guān)系參考CS8416數(shù)據(jù)手冊。IIS的接口模塊還支持解析數(shù)字音頻用戶數(shù)據(jù)編碼器[3]插入的用戶信息的解析,可以用于音頻傳輸?shù)穆窂奖O(jiān)測和音頻內(nèi)容的甄別。
FPGA內(nèi)部構(gòu)建MicroBlaze處理器實現(xiàn)以太網(wǎng)的控制,包括以太網(wǎng)控制器的初始化、工作模式控制,數(shù)據(jù)接收、發(fā)送、組幀操作。MicroBlaze處理器讀取DSP處理器的編碼數(shù)據(jù)、16路PCM碼流緩存數(shù)據(jù)最大值,按照一定組幀格式(待定)組幀后以UDP方式向指定上位機(jī)傳輸。MicroBlaze處理器接收從以太網(wǎng)得到的配置信息,通過I2C接收將配置信息固化到I2C-FLASH,具體接口時序關(guān)系參考I2C-FLASH數(shù)據(jù)手冊。MicroBlaze處理器還可以通過串口實現(xiàn)液晶顯示器的控制,將系統(tǒng)所需顯示的信息輸出。串口速率一般為115200。FPGA-DSP接口采用雙口RAM實現(xiàn)數(shù)據(jù)交換,在FPGA內(nèi)實現(xiàn)總線接口時序。FPAG采用IIS接口輸出音頻數(shù)據(jù)到數(shù)模轉(zhuǎn)換器,具體時序圖參考AD1852器件手冊相關(guān)說明。
AES3模塊將串行雙聲道音頻數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),數(shù)據(jù)率為48K,16bit分辨率,一共18路。
DAC控制模塊可以根據(jù)設(shè)置選擇一路音頻數(shù)據(jù)送DAC轉(zhuǎn)換器,形成模擬音頻輸出。
DSP數(shù)據(jù)接口模塊采用雙端口RAM結(jié)構(gòu),實現(xiàn)18路數(shù)字音頻的數(shù)據(jù)緩存,將數(shù)據(jù)送DSP處理器。18路數(shù)字音頻分為3組,每組6路,分別送一個DSP處理器。由于MP3壓縮幀,一幀需要1152個采樣值,為了保證數(shù)據(jù)的一致性,設(shè)計雙端口RAM容量為2304,采用乒乓方式實現(xiàn)數(shù)據(jù)向DSP傳遞。
FPGA軟件構(gòu)建了MicroBlaze處理器實現(xiàn)液晶顯示的控制。液晶顯示器采用RS232協(xié)議。
4.2 DSP軟件設(shè)計
DSP軟件主要功能實現(xiàn)MP3壓縮編碼,接收FPGA提供的48K-24bit的原始音頻數(shù)據(jù),按照指定壓縮率實現(xiàn)MP3數(shù)據(jù)流,通過雙口RAM將壓縮數(shù)據(jù)流送FPGA,再經(jīng)過以太網(wǎng)送上位機(jī)。
重點是解決兩個問題:一是單顆DSP芯片實現(xiàn)多路音頻的壓縮,二是利用冗余數(shù)據(jù)形成保護(hù)間隔,有效的防止音頻通道間的混疊。
DSP處理器分為主控DSP處理器和壓縮編碼處理器。壓縮編碼處理器完成音頻數(shù)據(jù)流的MP3編碼。
一片DSP處理器可運行一路壓縮算法,MP3壓縮算法在碼率為32kbps以上時,是按照1152個原始音頻數(shù)據(jù)組幀壓縮。數(shù)據(jù)采樣率為48kHz,即數(shù)據(jù)幀周期為1152×(1/48000)=24ms。由于DSP處理器運行速度快,主頻可達(dá)到500MHz,完成一路壓縮所需時間小于1ms。如果一片DSP處理器只完成1路音頻數(shù)據(jù)壓縮,18路音頻壓縮則需要18片DSP處理器,會造成資源的浪費。由于一個DSP的存儲器資源不足,實際上是無法實現(xiàn)多個MP3壓縮程序同時運行的。
根據(jù)測試,可以將多路原始音頻數(shù)據(jù)按次序組成一組數(shù)據(jù)流,這樣理論上是可以實現(xiàn)用一塊DSP壓縮多路音頻的問題。但經(jīng)過實測發(fā)現(xiàn),簡單的將原始音頻數(shù)據(jù)按照次序組成數(shù)據(jù)流,進(jìn)行壓縮編碼,在經(jīng)過上位機(jī)的解碼后會出現(xiàn)通道間的聲音混疊。為了解決此問題我們又在相鄰兩個音頻數(shù)據(jù)幀之間增加數(shù)據(jù)保護(hù)間隔,在解碼時丟掉保護(hù)數(shù)據(jù)。這樣就可以用一片DSP處理器實現(xiàn)多路音頻無混疊的壓縮,具體組織格式如圖2所示。
即將6路原始需要壓縮的數(shù)據(jù)先按照1152個連續(xù)數(shù)據(jù)點組幀,每2路數(shù)據(jù)幀之間增加1152個0,一共6路原始數(shù)據(jù)按上圖方式組織成數(shù)據(jù)流。此數(shù)據(jù)流按照常規(guī)MP3壓縮算法進(jìn)行壓縮上傳,這樣一片DSP處理器就實現(xiàn)了6路原始數(shù)據(jù)的壓縮。
5 結(jié)束語
通過我們的技術(shù)創(chuàng)新,成功的解決了制約成本的關(guān)鍵技術(shù)難點,實現(xiàn)了低成本的多通道音頻采集設(shè)備的量產(chǎn)。為全國的廣播電視系統(tǒng)提供了性能優(yōu)越、網(wǎng)絡(luò)化的多通道音頻采集前端。配合上位機(jī)軟件和自主研發(fā)的音頻內(nèi)容比對算法,實現(xiàn)了發(fā)射機(jī)輸入輸出音頻內(nèi)容是否一致和音頻質(zhì)量好壞的“可視”化實時并行監(jiān)測。給臺站提供判斷播出音頻信號質(zhì)量的自臺監(jiān)測手段,結(jié)束了沒有自臺播出音頻質(zhì)量監(jiān)測手段的歷史,有效提高了各臺站的科學(xué)化、規(guī)范化、數(shù)字化管理水平,為臺站管理的科學(xué)決策提供了可靠依據(jù)。
參考文獻(xiàn):
[1]肖社生.多通道音頻電平監(jiān)測器的系統(tǒng)設(shè)計[J].有線電視技術(shù),2011(9):42.
[2]劉欣榮,肖社生,沈聰.數(shù)字音頻AES3接口標(biāo)準(zhǔn)——線性表示雙信道數(shù)字音頻數(shù)據(jù)的串行傳輸格式[J].有線電視技術(shù),2003(08):20-29.
[3]肖社生.數(shù)字音頻用戶數(shù)據(jù)位在廣電系統(tǒng)中的應(yīng)用[J].廣播電視信息,2011(11):65.