基于LPC2138的AES3數(shù)字音頻接口設(shè)計
摘要:隨著數(shù)字音頻技術(shù)的不斷發(fā)展,數(shù)字化音頻設(shè)備已廣泛應(yīng)用于廣播電視節(jié)目領(lǐng)域。鑒于專業(yè)數(shù)字音頻設(shè)備越來越多地需求,以及專用接收發(fā)送設(shè)備的復(fù)雜性,本設(shè)計采用Philips公司的ARM7控制芯片LPC2138結(jié)合音響設(shè)備專用芯片,設(shè)計一個簡單的AES/EBU(AES3)數(shù)字音頻收發(fā)系統(tǒng),實現(xiàn)了專業(yè)AES3數(shù)字音頻的接收與發(fā)送。實驗顯示,在輸入1 kHz,24 dBu時,本設(shè)計的總諧波失真小于0.005%,信噪比大于90 dBu。
關(guān)鍵詞:數(shù)字音頻;LPC2138;AES3;接收;發(fā)送;總諧波失真;信噪比
當今數(shù)字技術(shù)的發(fā)展越來越快,人們對廣播電視節(jié)目的質(zhì)量需求也越來越高。AES/EBU(Audio Engineering Society/European Broad cast Union)現(xiàn)已成為專業(yè)數(shù)字音頻較為流行的標準。大量民用產(chǎn)品和專業(yè)音頻數(shù)字設(shè)備如CD機、DAT、MD機、數(shù)字調(diào)音臺、數(shù)字音頻工作站等都支持AES3接口。AES3通過單根絞合線對來串行傳輸數(shù)字音頻數(shù)據(jù),充分發(fā)揮了數(shù)字信號易處理、音質(zhì)優(yōu)良和抗干擾能力強的優(yōu)勢。它提供兩個信道的音頻數(shù)據(jù),信道自動計時和自同步,同時提供了傳輸控制的方法和狀態(tài)信息的表示和一些誤碼的檢測能力。
鑒于入們對高質(zhì)量音樂的追求以及AES3接口的縱多優(yōu)點,設(shè)計出一個能夠接收和發(fā)送AES3音頻信號的簡單系統(tǒng)是很有價值的。本設(shè)計由LPC2138控制音響設(shè)備專用芯片實現(xiàn)AES3接口,只需簡單地修改芯片配置,即可實現(xiàn)系統(tǒng)的特性調(diào)整及性能擴展,簡單穩(wěn)定,具有較強地實用價值。
1 AES3數(shù)字音頻接口簡介
AES3接口在單根傳輸線上串行傳輸兩路數(shù)字音頻信號。每個音頻塊(Audio block)包含192幀,每幀包括2個子幀,即左有兩個通道,每個通道包含32個時隙(slot)。0~3時隙為X、Y、Z 3種幀頭,其中X和Y表示一個子幀的開始,Z表示一個塊(block)的開始。4~7時隙為輔助數(shù)據(jù),8~27時隙為音頻數(shù)據(jù)位,音頻數(shù)據(jù)位可以多達24位。如果音頻數(shù)據(jù)超過20位,則4~7位將被用作音頻數(shù)據(jù)位。最后的4個時隙分別為有效位、用戶數(shù)據(jù)位、通道狀態(tài)位和奇偶校驗位。每192幀信號的通道狀態(tài)位組成通道狀態(tài)數(shù)據(jù),通道狀態(tài)中含有豐富的音頻特征信息,通過獲取通道狀態(tài)數(shù)據(jù)便可以得知音頻信號是否是專業(yè)型,是否預(yù)加重,以及采樣頻率等信息。每一位的具體含義請參考文獻,本設(shè)計不做詳細介紹。AES3接口傳輸?shù)臄?shù)字音頻信號格式如圖1所示。
2 總體設(shè)計
本設(shè)計的信號源為模擬音頻信號、J2S串行音頻信號和傳輸線上接收到的AES3數(shù)字音頻信號。
模擬音頻信號經(jīng)調(diào)節(jié)后,送至模數(shù)轉(zhuǎn)換器,經(jīng)過48 k的采樣頻率采樣(本設(shè)計統(tǒng)一使用48 k的采樣率),轉(zhuǎn)換成I2S數(shù)字音頻信號。I2S信號(包括模數(shù)轉(zhuǎn)換得到的I2S和I2S信號源的信號)送入SRC4382,SRC4382將I2S信號的采樣頻率轉(zhuǎn)換為48 k,并進行格式轉(zhuǎn)換,轉(zhuǎn)換后得到的AES3信號可以通過單根絞合線進行傳輸。相反過程,接收到的AES3數(shù)字音頻信號經(jīng)過采樣頻率轉(zhuǎn)換和格式轉(zhuǎn)換后,轉(zhuǎn)換為采樣率為48k的I2S信號。I2S信號可以直接作為輸出,也可以經(jīng)過數(shù)模轉(zhuǎn)換器后,再經(jīng)過濾波放大處理,轉(zhuǎn)化為模擬音頻信號輸出。整體框架的部署如圖2所示。
3 主要的硬件設(shè)計
3.1 LPC2138控制模塊
本設(shè)計中的微控制芯片需要提供I2C總線來控制CS5368、CS4382和SRC4382的操作模式,并且提供外部中斷接口來接收外部的中斷。LPC2 138微控制芯片是Philips公司的ARM7芯片,它擁有豐富的外部串行接口(UART、SPI以及I2C),向量中斷控制器,支持實時調(diào)試和高速跟蹤執(zhí)行代碼,是一款高性能低功耗的32位微控制器,在微控制領(lǐng)域已經(jīng)得到廣泛的應(yīng)用。鑒于以上特性,本設(shè)計選用LPC2138作為微控制芯片,通過I2C總線接口實現(xiàn)CS5368、CS4382和SRC4382的內(nèi)部寄存器配置,使這些器件工作在合適的工作狀態(tài),并通過外部中斷接口實現(xiàn)中斷管理。
3.2 電源模塊設(shè)計
硬件系統(tǒng)平臺要求的供電電源電壓有:±12 V、5 V、3.3 V、2.5 V和1.8 V。其中±12 V和5 V是由變壓器直接輸入得到.3.3 V、2.5 V和1.8 V由電源IC轉(zhuǎn)換得到。±12 V主要為運放供電,3.3 V、2.5 V和1.8 V電源芯片的輸入電壓均為5 V。其中,3.3 V電壓、2.5 V電壓和1.8 V電壓分別由芯片LM1085、TPS79325和LM1117-1.8輸出提供,輸出的2.5 V電壓提供給運放NE5532做基準電壓。
3.3 輸入模擬音頻調(diào)節(jié)模塊
模擬信號輸入前置電路,包括濾波限幅電路、阻容耦合電路和低通濾波衰減電路。模擬信號輸入前置電路主要用來隔離后級直流分量對前級的影響,限制輸入信號的幅度,濾去輸入信號中的高頻分量,濾除串擾噪聲。輸入模擬音頻信號電壓幅度比較大,不能直接作為A/D轉(zhuǎn)換器的輸入,因此前置電路必須對信號進行衰減,同時基準電壓提高到2.5 V。如圖3所示。信號的衰減系數(shù)為:
3.4 輸出模擬音頻調(diào)節(jié)模塊
人耳能聽見的音頻信號頻率范圍在20 Hz~20 kHz之間,而數(shù)字音頻信號經(jīng)過傳輸和D/A轉(zhuǎn)換后可能會引入各種噪聲,因此需要在D/A轉(zhuǎn)換后進行低通模擬濾波來濾除噪聲。此處由一個隔直流電路(由C5與R15組成高通濾波器)和二階巴特沃茲低通濾波器,如圖4所示。圖中,二階巴特沃茲低通濾波電路引入正負反饋,用來去除信號的高頻分量。
其中,C5和R15組成的高通濾波器的截止頻率為:
模擬音頻信號經(jīng)過濾波電路后功率比較小,如果直接輸出,則輸出音頻的音量會非常小。因此必須對濾波后的模擬音頻信號進行非失真放大,提高輸出模擬音頻信號的功率,使得音量能達到更好效果。如圖4所示,經(jīng)過濾波后的模擬音頻信號由NE5532放大器進行功率放大,放大倍數(shù)為:
3.5 模數(shù)轉(zhuǎn)換模塊
模數(shù)轉(zhuǎn)換模塊采用Cirrus Logic公司的模數(shù)轉(zhuǎn)換芯片CS5368。它具有24位轉(zhuǎn)換位寬,114 dB的動態(tài)范嗣,-105 dB的總諧波失真加噪聲,可選的音頻接口格式,低延遲數(shù)字濾波器,差分模擬結(jié)構(gòu),從模式(slave mode)下支持速度自檢,支持標準的I2C控制接口,適用于專業(yè)的音響設(shè)備。
在本設(shè)計中,CS5368工作于控制端口模式(control portmode),通過LPC2138的I2C總線控制,器件地址為0x98H。CS5368可接收8路的差分模擬信號AINLx+、AINLx-,輸出的4路數(shù)字音頻信號CS5368_SDOx格式設(shè)置為I2S模式,采樣頻率為48kΩ。MCLK、SCLK、LRCK分別為12.288 MHz、3.072 MHz、48 kHz,由外部提供。CS5368的外圍電路如圖5所示。
3.6 數(shù)模轉(zhuǎn)換模塊
數(shù)模轉(zhuǎn)換模塊采用Cirrus Logic公司的數(shù)模轉(zhuǎn)換芯片CS4382。它是一個完整的8通道數(shù)模轉(zhuǎn)換系統(tǒng),具有114 dB的動態(tài)范圍,-100 dB的總諧波失真加噪聲,支持標準的I2C控制接口,具有理想的差分線性,高保真機制,無線性漂移等優(yōu)勢,適用于專業(yè)的音響設(shè)備。
在本設(shè)計中,CS4382工作于控制端口模式,通過LPC2138的I2C總線控制,器件地址為0x30H。CS4382可接收4路I2S的數(shù)字音頻信號SDIN1~SDIN4,輸出8路的差分模擬信號,采樣頻率取48k。MCLK、SCLK、LRCK同CS5368,分別為12.288 MHz、3.072MHz、48kHz,由外部提供。
3.7 音頻格式轉(zhuǎn)換模塊
音頻格式轉(zhuǎn)換模塊采用TI公司的SRC4382芯片。它是一款專用于廣播數(shù)字音頻系統(tǒng)的芯片,它集成了帶有采樣頻率轉(zhuǎn)換的數(shù)字音頻接口發(fā)送器(DIT)和接收器(DIR),2個音頻串行接口,以及支持數(shù)據(jù)和時鐘內(nèi)聯(lián)的分布式邏輯,DIT和DIR兼容AES3,S/PDIF,IEC 60958和EIAJ CP-1201接口標準,采樣頻率最高支持216 kHz,并且支持通過I2C總線控制芯片的工作狀態(tài)。
本設(shè)計中,通過LPC2138的I2C總線接口控制SRC4382的工作模式,器件地址為0xE0H。通過設(shè)置SRC4382內(nèi)部寄存器,使其同時有2條工作的信號路徑,一條為RX+、RX-差分信號經(jīng)過DIR單元的采樣頻率轉(zhuǎn)換和解碼后,轉(zhuǎn)換為I2S信號,由SDOUT輸出;另一條為I2S信號SDIN經(jīng)過DIT單元的采樣頻率轉(zhuǎn)換和編碼后,轉(zhuǎn)換為數(shù)字音頻接口AES3信號,由差分線TX+、TX-輸出。LRCK與SCLK同CS5368,均由外部提供。RX+、RX-與DIN+、DIN-之間以及TX+、TX-與DOUTR+、DOUTR-之間均需要用變壓器做隔離去耦合,以防止前后級之間相互干擾。SRC4382的外圍電路如圖6所示。
4 軟件程序設(shè)計
CS5368、CS4382、SRC4382 3款芯片均可通過設(shè)置其內(nèi)部寄存器,獲得不同的工作狀態(tài)。
4.1 CS5368軟件部分
系統(tǒng)上電之后需對CS5368進行初始化。GCTL(globalmode control register)控制芯片的工作模式,本設(shè)計工作狀態(tài)為:控制端口模式,時鐘為256采樣率,輸出I2S模式,從模式下的所有采樣頻率。因此GCTL的值設(shè)置為0x87H。其他寄存器保持默認值即可。初始化程序如下:
//I2C寫一個字節(jié)0x87到地址GCTL(0x01)
I2c_WriteNByte(CS5368_Addr,1,GCTL,&gctl,1);
當CS5368發(fā)生溢出中斷時,會向LPC2138的外部中斷INT0發(fā)送中斷信號,同時LED燈D1被點亮。在中斷程序中,查詢OVFL寄存器狀態(tài),設(shè)置相應(yīng)通道的輸出消聲(mute)。中斷服務(wù)程序如下:
char ovfl,mute;
I2c_ReadNByte(CS5368_Addr,1,OVFL,&ovfl,1);
mute=~ovfl;
I2c_WriteNByte(CS5368_Addr,1,MUTE,&mute,1);
4.2 CS4382軟件部分
系統(tǒng)上電之后需對CS4382進行初始化。MC1、MC2和FC共同控制CS4382的工作狀態(tài),本設(shè)計中將其值分別設(shè)置為0x80H,0x10H,0x05H。芯片工作存控制端口模式下,輸入音頻格式為24位I2S信號,去加重濾波器響應(yīng)頻率為48 kHz。其他寄存器保持默認值。初始化程序如下:
mc1=0x80;mc2=0x10;fc=0x05;
I2c_WriteNByte(Cs4382_Addr,1,MC1,&mc1,1);
I2c_WriteNByte(CS4382_Addr,1,MC2,&mc2,1);
I2c_WritcNByte(CS4382_Addr,1,F(xiàn)C,&fc,1);
4.3 SRC4382軟件部分
4.3.1 SRC4382初始化
系統(tǒng)上電之后需要對SRC4382進行初始化。SRC4382的寄存器分為4頁,第0頁為控制和狀態(tài)寄存器,第1頁為DIR通道狀態(tài)和用戶數(shù)據(jù)緩沖寄存器,第2頁為DIT通道狀態(tài)和用戶數(shù)據(jù)緩沖寄存器,第3頁保留。在操作每頁寄存器之前,必須通過設(shè)置每頁的頁選擇寄存器來確定要操作的頁。初始化程序中只需將寄存器07,09,0b,0d,0e,0f,16,17,2d分別設(shè)置為0x22,0x02,0x33,0x08,0x09,0x12,0xfe,0x01,0x42,其他保留默認值即可。各寄存器的具體值及其含義請參考技術(shù)手冊。初始化程序如下:
4.3.2 SRC4382讀通道狀態(tài)
由第一部分介紹可知,通道狀態(tài)中含有豐富的信息。通過讀第1頁寄存器,便可以獲得接收的AES3數(shù)字音頻的特征信息。讀通道狀態(tài)之前,應(yīng)先在第0頁禁止DIR,然后切換到第1頁,讀完通道狀態(tài)后再切換回第0頁,使能DIR。讀通道狀態(tài)程序如下:
4.3.3 SRC4382寫通道狀態(tài)
通過寫第2頁的相關(guān)寄存器,便可將需要發(fā)送的AES3數(shù)字音頻的特征信息寫入到每一幀的通道狀態(tài)位中。寫通道狀態(tài)之前,應(yīng)先在第0頁禁止DIT,然后切換到第2頁,寫完通道狀態(tài)后再切換到第0頁,使能DIT。讀通道狀態(tài)程序如下:
5 結(jié)束語
該設(shè)計通過微控制器LPC2138控制專業(yè)音頻處理芯片,實現(xiàn)了AES3數(shù)字音頻接口的設(shè)計。本設(shè)計中發(fā)送的音頻信息源和接收處理后的音頻信息均可以為模擬信號和串行I2S信號的形式,可用性較強。由于該設(shè)計采用專業(yè)音頻處理芯片實現(xiàn),因此音質(zhì)比較好,穩(wěn)定性比較高。只需簡單修改軟件部分對音頻處理芯片的寄存器配置,即可實現(xiàn)系統(tǒng)特性的改變,所以靈活性和可擴展性較好。該設(shè)計可以具體應(yīng)用于數(shù)字調(diào)音臺的混音器和音頻矩陣切換器中,也可以為CD機、MD機的設(shè)計提供參考,因此具有較強的工程使用價值。