基于高精度Σ-ΔADC和DSP的廣播級數(shù)字音頻延時器
M68HC05C8軟件主要由初始化程序和主程序等組成。在初始化程序中,完成CS4224的復(fù)位和初始化、MS320C32復(fù)位和引導(dǎo)。主程序主要是按鍵和顯示處理程序,完成各種按鍵的分析處理、刷新光柱和數(shù)碼管顯示,并將有關(guān)信息送至CS4224和TMS320C32。
首先,M68HC05C8復(fù)位CS4224,通過SPI接口初始化ADC、DAC和DSP端口模式控制寄存器,設(shè)置音頻輸入輸出格式,使音頻輸出靜音。
接著,M68HC05C8通過端口PC0~3,令MCBL/MP引腳為高電平,然后在RESET引腳給出復(fù)位脈沖,TMS320C32進入外部存儲器程序引導(dǎo),將FLASH存儲器中的程序裝入內(nèi)部RAM,并從目標地址開始執(zhí)行程序。
TMS320C32軟件由主程序、初始化程序和串行中服務(wù)程序等組成。初始化程序首先復(fù)位串口,并設(shè)置端口控制寄存器,令串口的所有引腳工作在串口方式,而非通用I/O口;設(shè)置串行口全局控制寄存器,數(shù)據(jù)長度設(shè)為24位,開放串口中斷,對串口信號進行極性控制;使用外部時鐘CLRX/R,并設(shè)置為低電平有效,其余信號均為高電平有效,以便與CS4224接口線相適應(yīng),然后啟動串口工作。
數(shù)據(jù)讀寫操作均在TMS320C32串口接收中斷服務(wù)程序中進行。24位音頻輸入數(shù)據(jù)從DR引腳全部左移進入接收移位寄存器RSR后,TMS320C32將RSR內(nèi)容寫入DRR接收寄存器,并產(chǎn)生串口接收中斷XINT。在串中接收中斷服務(wù)程序中,將DRR數(shù)據(jù)寫入SRAM,同時從SRAM中讀入需要輸出的音頻數(shù)據(jù),寫入發(fā)送寄存器DXR,等待下一個幀同步信號FSX有效后送入發(fā)送移位寄存器XSR,在移位脈沖CLKX作用下左移,從DX引腳輸出。
延時器有4種工作模式,即直通狀態(tài)(BYPASS)、緊急狀態(tài)(DUMP)、2秒模式(-2s)和咳嗽模式(COUGH)。直通狀態(tài)下,音頻輸入和輸出端通過繼電器直接連在一起,輸出不再通過延時器,延時器關(guān)機時也處于直通狀態(tài)。在延時狀態(tài)下,每按一次2秒模式鍵,刪除最新輸入延時器的2秒音頻數(shù)據(jù),避免剛讀錯的內(nèi)容被播出。按住咳嗽按鈕鍵,刪除按住該鍵時輸入的音頻數(shù)據(jù),可讓主持人打噴嚏、咳嗽或作短暫停頓而不被發(fā)現(xiàn)。延時時間1~10秒可調(diào),可以通過按鍵設(shè)定。按下START鍵進入延時狀態(tài),此時整個播出靜音或重放預(yù)先錄入的墊樂,直到正式進入延時狀態(tài)。按下EXIT鍵可退出延時狀態(tài)。在延時狀態(tài)時,如遇到惡意電話等緊急情況,可迅速按動DUMP鍵,此時設(shè)定延時時間內(nèi)的全部音頻數(shù)據(jù)被刪除,并切斷正常播出,播出處靜音狀態(tài)。
用戶通過按鍵選擇延時器的工作模式,M68HC05C8根據(jù)工作模式控制CS4224音頻輸出處于靜音或正常輸出狀態(tài),并在TMS320C32串口中斷服務(wù)程序中改變讀出或?qū)懭胍纛l數(shù)據(jù)的SRAM地址。M68HC05C8根據(jù)延時時間和采樣頻率,計算出音頻數(shù)據(jù)的寫入地址和讀出地址,通過接口線XF0/1進行串口通信,將地址傳送給TMS320C32。當讀出地址和寫入地址相同時,音頻輸入和輸出沒有延時。如果將寫入地址減去某一增量后作為讀出地址,則讀出內(nèi)容為一段延時時間前的音頻輸入,從而達到延時功能。
綜上所述,廣播級數(shù)字音頻延時器采用DSP和MCU的主從式結(jié)構(gòu)以及高精度∑-ΔADC芯片,能較為靈活地控制工作模式,具有較高的音頻性能指標,完全可以滿足電臺直播節(jié)目安全播出的需要。
評論