新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 解析ADSP-BF531的數(shù)字音頻選擇系統(tǒng)的應(yīng)用

解析ADSP-BF531的數(shù)字音頻選擇系統(tǒng)的應(yīng)用

作者: 時(shí)間:2012-01-05 來(lái)源:網(wǎng)絡(luò) 收藏

1 引言

本文引用地址:http://butianyuan.cn/article/149873.htm

隨著電路廣泛,廣播中的信號(hào)逐步取代傳統(tǒng)的模擬信號(hào)。隨著媒體技術(shù)的發(fā)展,存儲(chǔ)技術(shù)在數(shù)字媒體領(lǐng)域也得到了廣泛。特別是數(shù)字技術(shù)的迅猛變革,使存儲(chǔ)數(shù)字媒體的技術(shù)手段也發(fā)生很大變化。在媒體爆炸性增長(zhǎng)的同時(shí),廣電界十分關(guān)心數(shù)字技術(shù)的未來(lái)發(fā)展,同時(shí)也更加關(guān)心數(shù)字媒體資產(chǎn)的管理、使用和存儲(chǔ)。本設(shè)計(jì)采用和EMP7128實(shí)現(xiàn)了廣播常用的AES3數(shù)字信號(hào)實(shí)時(shí)檢測(cè)和動(dòng)態(tài)分配功能。

2 功能簡(jiǎn)介

數(shù)字是由母板、控制板和分配板組成。AES3信號(hào)分為10組,每組3路信號(hào)是由機(jī)箱直接輸入母板,母板再將每組信號(hào)分別送入10塊分配板。分配板對(duì)輸入信號(hào)進(jìn)行,再根據(jù)用戶的要求符合要求的信號(hào)輸出,并顯示當(dāng)前各路信號(hào)的質(zhì)量。

數(shù)字系統(tǒng)原理:接收3路AES3廣播信號(hào),A路為主路,無(wú)特殊情況時(shí)為輸出信號(hào)。若A路出現(xiàn)無(wú)信號(hào)或信號(hào)電平過(guò)低等情況,系統(tǒng)將自動(dòng)切換至B路。若B路有問(wèn)題,切換至C路。若3路輸入信號(hào)均有問(wèn)題,則輸出應(yīng)急信號(hào)。應(yīng)急信號(hào)由上位機(jī)提供。

本系統(tǒng)是由信號(hào)分配模塊、控制模塊、上位機(jī)組成,如圖1所示。

本系統(tǒng)同時(shí)輸入10組30路信號(hào),分別由10塊分配板卡完成信號(hào)分選。1塊控制板卡控制10塊分配板卡,并檢測(cè)其狀態(tài),實(shí)現(xiàn)各分配板卡與上位機(jī)通信。

3 AES3信號(hào)分析

AES3信號(hào)作為一種數(shù)字音頻基帶信號(hào),可在一定程度上防范非法的插播。即使沒有配備AES3輸入口的發(fā)射設(shè)備,其模擬輸入口也往往是平衡式的,意在保障盡可能高的信號(hào)源質(zhì)量,減輕傳輸中的干擾。AES/EBU數(shù)字音頻接口標(biāo)準(zhǔn)采用一個(gè)雙相標(biāo)識(shí)(Biphase mark)的調(diào)頻通道編碼調(diào)制串行數(shù)據(jù),使之無(wú)直流(DC-Free)和自同步(Self-clocking)。調(diào)頻編碼中,每一個(gè)數(shù)據(jù)碼轉(zhuǎn)換為兩位通道碼,一位通道碼1引起傳輸信號(hào)的一次變化。未經(jīng)加工的串行數(shù)據(jù)不能直接通過(guò)電纜傳輸,必須調(diào)制(編碼)使之成為一種含有與碼值無(wú)關(guān)的時(shí)鐘信號(hào)波形。AES3的幀格式如圖2所示。

4系統(tǒng)硬件設(shè)計(jì)

4.1分配板卡

分配板主要包括CS8420、MAX3095、以及CPLD等器件,CPLD(Complex Programmable Logic Device)復(fù)雜可編程邏輯器件,是從PAL和GAL器件發(fā)展出來(lái)的器件,相對(duì)而言規(guī)模大,結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍。是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計(jì)方法是借助集成開發(fā)軟件平臺(tái),用原理圖、硬件描述語(yǔ)言等方法,生成相應(yīng)的目標(biāo)文件,通過(guò)下載電纜(在系統(tǒng)編程)將代碼傳送到目標(biāo)芯片中,實(shí)現(xiàn)設(shè)計(jì)的數(shù)字系統(tǒng)。分配板卡信號(hào)電路連接如圖3所示。

輸入信號(hào)進(jìn)入板卡后,首先進(jìn)入數(shù)字音頻采樣率轉(zhuǎn)換器CS8420.CS8420不但町以在不影響信號(hào)流的情況下提取AES3信號(hào),而且能夠改變信號(hào)采樣速率。CS8420需要由從SPI接口通過(guò)CPLD進(jìn)行初始化,其片內(nèi)有128個(gè)控制寄存器和數(shù)據(jù)寄存器,前14個(gè)為控制寄存器。CS8420必須在系統(tǒng)上電后初始化才能正常工作。CS8420內(nèi)部寄存器時(shí)序有很大不同,如圖4所示,讀取CS8420寄存器時(shí),1個(gè)SPI周期需接收16位數(shù)據(jù)即可讀取CS8420內(nèi)部寄存器數(shù)據(jù)。完全與ADSP-BF531的SPI接口相匹配。在寫入CS8420寄存器時(shí),1個(gè)SPI周期需接收24位數(shù)據(jù)才能寫入數(shù)據(jù)。而ADSP-BF531的SPI接口1個(gè)周期最多發(fā)送16位數(shù)據(jù),因此對(duì)于CS8420的寫操作,ADSP-BF531必須發(fā)送兩次數(shù)據(jù)。CPLD修正其片選信號(hào),才能完成寫操作。CS8420初始化后,開始對(duì)輸入信號(hào)解碼??赏ㄟ^(guò)兩種方式輸出解碼信號(hào),即SPI接口和同步串口輸出方式。SPI(Serial Peripheral Interface--串行外設(shè)接口)總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。SPI有三個(gè)寄存器分別為:控制寄存器SPCR,狀態(tài)寄存器SPSR,數(shù)據(jù)寄存器SPDR.外圍設(shè)置FlashRAM、網(wǎng)絡(luò)控制器、LCD顯示驅(qū)動(dòng)器、A/D轉(zhuǎn)換器和MCU等。SPI總線系統(tǒng)可直接與各個(gè)廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口,該接口一般使用4條線:串行時(shí)鐘線(SCLK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線SS(有的SPI接口芯片帶有中斷信號(hào)線INT、有的SPI接口芯片沒有主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI)。這里采用后者輸出解碼信號(hào),再輸入CPLD,并進(jìn)入ADSP-BF531.由于存在3路輸入音頻信號(hào),所以需要3片CS8420.這些CS8420分別將解碼信號(hào)送人CPLD,再由CPLD分時(shí)送入ADSP-BF531的SPORT端口。

系統(tǒng)的數(shù)據(jù)處理采用Blackfin531.Blackfin531處理器內(nèi)核包含2個(gè)16位乘法器,2個(gè)40位的累加器,2個(gè)40位的ALU,4個(gè)視頻ALU和1個(gè)40位移位器。DSP內(nèi)核時(shí)鐘(CCLK)和系統(tǒng)外設(shè)時(shí)鐘(SCLK)可由輸入時(shí)鐘(CLKIN)信號(hào)獲得。內(nèi)核時(shí)鐘最高可達(dá)300 MHz,系統(tǒng)外設(shè)時(shí)鐘最高可達(dá)133 MHz,為了達(dá)到實(shí)時(shí)性,系統(tǒng)把內(nèi)核時(shí)鐘倍頻至300 MHz.

系統(tǒng)中ADSP-BF531所使用資源包括2個(gè)定時(shí)器、UART、SPI端口、SPORT端口。系統(tǒng)初始化后,ADSP-BF531首先設(shè)置PLL,倍頻輸入時(shí)鐘。產(chǎn)生內(nèi)核時(shí)鐘和系統(tǒng)外設(shè)時(shí)鐘。然后初始化內(nèi)部總線、SPI端口、UART、SPORT端口、設(shè)置中斷。ADSP-BF531擁有16個(gè)功能強(qiáng)大的PF引腳,既可作為I/O引腳,也可作為中斷。由于系統(tǒng)涉及到控制信號(hào),所以采用PF作為控制引腳。對(duì)CPLD中數(shù)據(jù)分時(shí)提取,控制信號(hào)分選。

ADSP-BF531需要完成以下功能:

(1)通過(guò)同步串口采集由CPLD輸出的音頻信號(hào),并對(duì)其電平比較。由SPORT端口分時(shí)接收CPLD送來(lái)的3路信號(hào)的質(zhì)量數(shù)據(jù),并在定時(shí)器設(shè)置的時(shí)間內(nèi)存儲(chǔ)最大值,即音頻信號(hào)的最大電平。

(2)由電平比較后的結(jié)果和各開關(guān)的狀態(tài)決定選擇相應(yīng)的通道作為輸出,同時(shí)記錄狀態(tài),并將其輸入CPLD.從CPLD讀取外部控制開關(guān)狀態(tài)。觸發(fā)定時(shí)器1,檢測(cè)存儲(chǔ)的最大電平是否達(dá)到外部開關(guān)標(biāo)準(zhǔn),如果沒有達(dá)到,當(dāng)前通道點(diǎn)亮報(bào)警燈,并通過(guò)UART向控制板發(fā)送報(bào)警信號(hào)。同時(shí)觸發(fā)定時(shí)器2,設(shè)置報(bào)警時(shí)間。如果在觸發(fā)定時(shí)器2之前,信號(hào)達(dá)到要求,則關(guān)閉報(bào)警燈,恢復(fù)報(bào)警前狀態(tài);如果信號(hào)電平低于所需電平,根據(jù)控制開關(guān),將輸出切換到另一路信號(hào),同時(shí)點(diǎn)亮該路信號(hào)指示燈。

(3)通過(guò)UART與控制板通信,及時(shí)應(yīng)答控制板查詢,上報(bào)當(dāng)前狀態(tài)。為防止沖突,信號(hào)分配板只能應(yīng)答控制板發(fā)送的信號(hào),而不能向控制板發(fā)送數(shù)據(jù)。

系統(tǒng)采用AT49BV163作為ADSP-BF531的加載器件。該Flash具有1 M×16的內(nèi)存空間,系統(tǒng)上電時(shí)為ADSP-BF531提供加載程序。

系統(tǒng)選取Alter公司的MAX7000S系列的EPM7128,實(shí)現(xiàn)音頻數(shù)據(jù)分時(shí)提取、信號(hào)、分選、讀取控制開關(guān)信息、控制指示燈。系統(tǒng)控制開關(guān)和指示燈的讀取、控制由ADSP-BF531的數(shù)據(jù)總線控制。由于MAX3095可同時(shí)將4路差分信號(hào)轉(zhuǎn)換成普通信號(hào),因此,系統(tǒng)將3路輸入的音頻差分信號(hào)轉(zhuǎn)化成普通信號(hào),再送入CPLD EPM7128.分配板卡由外部電源提供5 V直流電源,通過(guò)電源轉(zhuǎn)換器將5 V轉(zhuǎn)換成3.3 V和1.2 V電壓,分別為ADSP-BF531和Flash AT49BV163供電。

4.2控制板卡

控制板卡有1路音頻輸入,為應(yīng)急信號(hào)。將應(yīng)急信號(hào)輸出至各分配板卡。當(dāng)分配板卡的3路信號(hào)均達(dá)不到要求時(shí),輸出應(yīng)急信號(hào)。控制板卡信號(hào)電路連接如圖5所示。

控制板卡除了監(jiān)視應(yīng)急音頻狀態(tài),實(shí)現(xiàn)與上位機(jī)和各分配板卡的通信。音頻信號(hào)處理部分與分配板卡類似。因此采用ADSP-BF531的UART與上位機(jī)通信。UART:Universal Asynchronous Receiver/Transmitter,通用異步接收/發(fā)送裝置,UART是一個(gè)并行輸入成為串行輸出的芯片,通常集成在主板上,多數(shù)是16550AFN芯片。因?yàn)橛?jì)算機(jī)內(nèi)部采用并行數(shù)據(jù),不能直接把數(shù)據(jù)發(fā)到Modem,必須經(jīng)過(guò)UART整理才能進(jìn)行異步傳輸,其過(guò)程為:CPU先把準(zhǔn)備寫入串行設(shè)備的數(shù)據(jù)放到UART的寄存器(臨時(shí)內(nèi)存塊)中,再通過(guò)FIFO(First Input First Output,先入先出隊(duì)列)傳送到串行設(shè)備,若是沒有FIFO,信息將變得雜亂無(wú)章,不可能傳送到Modem. 而用數(shù)據(jù)總線在CPLD中進(jìn)行并口與串口轉(zhuǎn)換,實(shí)現(xiàn)與各分配板卡的通信。

CPLD實(shí)現(xiàn)控制板卡與分配板卡的通信。并口轉(zhuǎn)換串口時(shí),每次通信ADSP-BF531向CPLD發(fā)送16位并行數(shù)據(jù),低8位為串口數(shù)據(jù),通過(guò)觸發(fā)器發(fā)送數(shù)據(jù);高8位的低4位決定發(fā)送到具體的分配板,由此判斷選通信號(hào),并按一定波特率將串口數(shù)據(jù)發(fā)送至相應(yīng)通道。串口轉(zhuǎn)換并口時(shí),首先模擬相應(yīng)波特率時(shí)鐘,以此時(shí)鐘對(duì)引腳采樣,當(dāng)檢測(cè)到串口起始位時(shí),存儲(chǔ)采樣數(shù)據(jù),將數(shù)據(jù)及通道狀態(tài)送人與ADSP-BF531并口相連的引腳。并對(duì)ADSP-BF531的PF相連的引腳置位,觸發(fā)ADSP-BF531中斷,讀取并口數(shù)據(jù)。

4.3DSP程序

ADSP-BF531程序初始化后,主程序隨時(shí)接收由SPORT端口送人的解碼音頻信號(hào),并存儲(chǔ)最大電平值,同時(shí)打開UART中斷和、TIMER0中斷。在TIMER0中斷中(本系統(tǒng)初始化設(shè)置為10 ms),處理存儲(chǔ)數(shù)據(jù)并提取狀態(tài),如不滿足要求則打開TIMER1中斷(本系統(tǒng)初始化設(shè)置為6 s),跳回主程序繼續(xù)檢測(cè),如在相應(yīng)TIMER1中斷時(shí)還不滿足要求,則進(jìn)行切換。

各子程序模塊功能介紹:主程序模塊main()初始化系統(tǒng)與各種接口,檢測(cè)記錄電平,監(jiān)控狀態(tài),等待中斷發(fā)生。Timer0中斷子程序模塊EX_INTERRUPT_HANDLER(Timer0_ISR)用于處理存儲(chǔ)數(shù)據(jù)并提取狀態(tài)功能。Timer1中斷子程序模塊EX_INTERRUPT_HANDLER(Timer1_ISR)完成在設(shè)定的延時(shí)中,檢測(cè)電平判斷是否切換功能。

5 結(jié)束語(yǔ)

本系統(tǒng)采用先進(jìn)的音頻多速率轉(zhuǎn)換器CS8420以及高性能嵌入式處理器ADS-BF531,實(shí)現(xiàn)多路數(shù)字音頻信號(hào)的自動(dòng)檢測(cè)和選取。本系統(tǒng)已在試用,結(jié)果表明,該系統(tǒng)分析準(zhǔn)確,轉(zhuǎn)換速度快,工作穩(wěn)定,適用于廣播發(fā)射臺(tái)。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉