基于ADSP-BF531的數字音頻選擇系統
1 引言
本文引用地址:http://www.104case.com/article/104154.htm隨著數字電路廣泛應用,廣播中的數字信號逐步取代傳統的模擬信號。本系統設計采用ADSP-BF531和EMP7128實現了廣播常用的AES3數字信號實時檢測和動態分配功能。
2系統功能簡介
音頻數字選擇系統是由母板、控制板和分配板組成。AES3信號分為10組,每組3路信號是由機箱直接輸入母板,母板再將每組信號分別送入10塊分配板。分配板對輸入信號進行解析,再根據用戶的要求選擇符合要求的信號輸出,并顯示當前各路信號的質量。控制板與上位機相連,控制上位機各組信號輸出。
音頻數字選擇系統原理:接收3路AES3廣播信號,A路為主路,無特殊情況時為輸出信號。若A路出現無信號或信號電平過低等情況,系統將自動切換至B路。若B路有問題,切換至C路。若3路輸入信號均有問題,則輸出應急信號。應急信號由上位機提供。同時,上位機將實時監控各路信號,并隨時切換。
本系統是由音頻信號分配模塊、控制模塊、上位機組成,如圖1所示。

本系統同時輸入10組30路信號,分別由10塊分配板卡完成信號分選。1塊控制板卡控制10塊分配板卡,并檢測其狀態,實現各分配板卡與上位機通信。
3 AES3信號分析
AES/EBU數字音頻接口標準采用一個雙相標識(Biphase mark)的調頻通道編碼調制串行數據,使之無直流(DC-Free)和自同步(Self-clocking)。調頻編碼中,每一個數據碼轉換為兩位通道碼,一位通道碼1引起傳輸信號的一次變化。未經加工的串行數據不能直接通過電纜傳輸,必須調制(編碼)使之成為一種含有與碼值無關的時鐘信號波形。在接收器中,數據分離器電路能將傳輸信號鎖定在內置時鐘并分離上音頻數字信號。AES3的幀格式如圖2所示。

4系統硬件設計
4.1分配板卡
分配板主要包括CS8420、MAX3095、ADSP-BF531以及CPLD等器件,分配板卡信號電路連接如圖3所示。

輸入信號進入板卡后,首先進入數字音頻采樣率轉換器CS8420。CS8420不但町以在不影響信號流的情況下提取AES3信號,而且能夠改變信號采樣速率。CS8420需要由ADSP-BF531從SPI接口通過CPLD進行初始化,其片內有128個控制寄存器和數據寄存器,前14個為控制寄存器。CS8420必須在系統上電后初始化才能正常工作。CS8420內部寄存器時序有很大不同,如圖4所示,讀取CS8420寄存器時,1個SPI周期需接收16位數據即可讀取CS8420內部寄存器數據。完全與ADSP-BF531的SPI接口相匹配。在寫入CS8420寄存器時,1個SPI周期需接收24位數據才能寫入數據。而ADSP-BF531的SPI接口1個周期最多發送16位數據,因此對于CS8420的寫操作,ADSP-BF531必須發送兩次數據。CPLD修正其片選信號,才能完成寫操作。CS8420初始化后,開始對輸入信號解碼。可通過兩種方式輸出解碼信號,即SPI接口和同步串口輸出方式。這里采用后者輸出解碼信號,再輸入CPLD,并進入ADSP-BF531。由于存在3路輸入音頻信號,所以需要3片CS8420。這些CS8420分別將解碼信號送人CPLD,再由CPLD分時送入ADSP-BF531的SPORT端口。
系統的數據處理采用Blackfin531。Blackfin531處理器內核包含2個16位乘法器,2個40位的累加器,2個40位的ALU,4個視頻ALU和1個40位移位器。DSP內核時鐘(CCLK)和系統外設時鐘(SCLK)可由輸入時鐘(CLKIN)信號獲得。用戶編程的倍頻因子,可使片上PLL倍頻CLKIN信號。內核時鐘最高可達300 MHz,系統外設時鐘最高可達133 MHz,為了達到實時性,系統把內核時鐘倍頻至300 MHz。
系統中ADSP-BF531所使用資源包括2個定時器、UART、SPI端口、SPORT端口。系統初始化后,ADSP-BF531首先設置PLL,倍頻輸入時鐘.產生內核時鐘和系統外設時鐘。然后初始化內部總線、SPI端口、UART、SPORT端口、設置中斷。接著通過SPI端口初始化CS8420。然后控制CPLD選通主路,進入信號檢測、分選狀態。ADSP-BF531擁有16個功能強大的PF引腳,既可作為I/O引腳,也可作為中斷。由于系統涉及到控制信號,所以采用PF作為控制引腳。對CPLD中數據分時提取,控制信號分選。
ADSP-BF531需要完成以下功能:
(1)通過同步串口采集由CPLD輸出的音頻信號,并對其電平比較。由SPORT端口分時接收CPLD送來的3路信號的質量數據,并在定時器設置的時間內存儲最大值,即音頻信號的最大電平。
(2)由電平比較后的結果和各開關的狀態決定選擇相應的通道作為輸出,同時記錄狀態,并將其輸入CPLD。從CPLD讀取外部控制開關狀態。觸發定時器1,檢測存儲的最大電平是否達到外部開關標準,如果沒有達到,當前通道點亮報警燈,并通過UART向控制板發送報警信號。同時觸發定時器2,設置報警時間。如果在觸發定時器2之前,信號達到要求,則關閉報警燈,恢復報警前狀態;如果信號電平低于所需電平,根據控制開關,將輸出切換到另一路信號,同時點亮該路信號指示燈。
(3)通過UART與控制板通信,及時應答控制板查詢,上報當前狀態。ADSP-BF531通過UART與控制板通信,便于用戶查詢和控制。為防止沖突,信號分配板只能應答控制板發送的信號,而不能向控制板發送數據。
系統采用AT49BV163作為ADSP-BF531的加載器件。該Flash具有1 M×16的內存空間,系統上電時為ADSP-BF531提供加載程序。
系統選取Alter公司的MAX7000S系列的EPM7128,實現音頻數據分時提取、信號、分選、讀取控制開關信息、控制指示燈。系統控制開關和指示燈的讀取、控制由ADSP-BF531的數據總線控制。由于MAX3095可同時將4路差分信號轉換成普通信號,因此,系統將3路輸入的音頻差分信號轉化成普通信號,再送入CPLD EPM7128。分配板卡由外部電源提供5 V直流電源,通過電源轉換器將5 V轉換成3.3 V和1.2 V電壓,分別為ADSP-BF531和Flash AT49BV163供電。

4.2控制板卡
控制板卡有1路音頻輸入,為應急信號。將應急信號輸出至各分配板卡。當分配板卡的3路信號均達不到要求時,輸出應急信號。控制板卡信號電路連接如圖5所示。

控制板卡除了監視應急音頻狀態,實現與上位機和各分配板卡的通信。音頻信號處理部分與分配板卡類似。由于ADSP-BF531中只有一個UART,且與上位機和分配板卡的通信都是即時的,無法復用。因此采用ADSP-BF531的UART與上位機通信。而用數據總線在CPLD中進行并口與串口轉換,實現與各分配板卡的通信。
CPLD實現控制板卡與分配板卡的通信。并口轉換串口時,每次通信ADSP-BF531向CPLD發送16位并行數據,低8位為串口數據,通過觸發器發送數據;高8位的低4位決定發送到具體的分配板,由此判斷選通信號,并按一定波特率將串口數據發送至相應通道。串口轉換并口時,首先模擬相應波特率時鐘,以此時鐘對引腳采樣,當檢測到串口起始位時,存儲采樣數據,將數據及通道狀態送人與ADSP-BF531并口相連的引腳。并對ADSP-BF531的PF相連的引腳置位,觸發ADSP-BF531中斷,讀取并口數據。
4.3DSP程序
ADSP-BF531程序初始化后,主程序隨時接收由SPORT端口送人的解碼音頻信號,并存儲最大電平值,同時打開UART中斷和、TIMER0中斷。在TIMER0中斷中(本系統初始化設置為10 ms),處理存儲數據并提取狀態,如不滿足要求則打開TIMER1中斷(本系統初始化設置為6 s),跳回主程序繼續檢測,如在相應TIMER1中斷時還不滿足要求,則進行切換。UART中斷完成控制板與上位機的數據交換。
各子程序模塊功能介紹:主程序模塊main()初始化系統與各種接口,檢測記錄電平,監控狀態,等待中斷發生。Timer0中斷子程序模塊EX_INTERRUPT_HANDLER(Timer0_ISR)用于處理存儲數據并提取狀態功能。Timer1中斷子程序模塊EX_INTERRUPT_HANDLER(Timer1_ISR)完成在設定的延時中,檢測電平判斷是否切換功能。異步串口中斷子程序模塊EX_INTERRUPT_HANDLER(Uart_ISR)實現接收上位機及控制板卡信號功能。
5 結束語
本系統采用先進的音頻多速率轉換器CS8420以及高性能嵌入式處理器ADS-BF531,實現多路數字音頻信號的自動檢測和選取。本系統已在試用,結果表明,該系統分析準確,轉換速度快,工作穩定,適用于廣播發射臺。
評論