音頻系統(tǒng)標(biāo)準(zhǔn)和協(xié)議探討
利用多聲道、多揚(yáng)聲器系統(tǒng)和先進(jìn)的音頻算法,音頻系統(tǒng)能夠惟妙惟肖地模擬真實(shí)聲音。這些復(fù)雜的音頻系統(tǒng)使用ASIC或DSP來解碼多聲道編碼音頻,并且運(yùn)行各種后處理算法。聲道數(shù)量越多,意味著存儲(chǔ)器和帶寬要求越高,這就需要使用音頻數(shù)據(jù)壓縮技術(shù)來編碼并減少所要存儲(chǔ)的數(shù)據(jù)。這些技術(shù)還能用來保持聲音質(zhì)量。
與數(shù)字音頻一同發(fā)展的還有音頻標(biāo)準(zhǔn)和協(xié)議,其目的是簡化不同設(shè)備之間的音頻數(shù)據(jù)傳輸,例如,音頻播放器與揚(yáng)聲器之間、DVD播放器與AVR之間,而不必將數(shù)據(jù)轉(zhuǎn)換為模擬信號(hào)。
本文將討論與音頻行業(yè)相關(guān)的各種標(biāo)準(zhǔn)和協(xié)議,同時(shí)也會(huì)探究不同平臺(tái)的音頻系統(tǒng)結(jié)構(gòu)以及各種音頻算法和放大器。
標(biāo)準(zhǔn)和協(xié)議
S/PDIF標(biāo)準(zhǔn)——該標(biāo)準(zhǔn)定義了一種串行接口,用于在DVD/HD-DVD播放器、AVR和功率放大器等各種音頻設(shè)備之間傳輸數(shù)字音頻數(shù)據(jù)。當(dāng)通過模擬鏈路將音頻從DVD播放器傳輸?shù)揭纛l放大器時(shí),會(huì)引入噪聲,該噪聲很難濾除。不過,如果用數(shù)字鏈路代替模擬鏈路來傳輸音頻數(shù)據(jù),問題就會(huì)迎刃而解。數(shù)據(jù)不必轉(zhuǎn)換為模擬信號(hào)就能在不同設(shè)備之間傳輸,這是S/PDIF的最大優(yōu)勢。
該標(biāo)準(zhǔn)描述了一種串行、單向、自備時(shí)鐘的接口,可互連那些采用線性PCM編碼音頻采樣的消費(fèi)和專業(yè)應(yīng)用數(shù)字音頻設(shè)備。它是一種單線、單信號(hào)接口,利用雙相標(biāo)記編碼進(jìn)行數(shù)據(jù)傳輸,時(shí)鐘則嵌入數(shù)據(jù)中,在接收端予以恢復(fù)(見圖1)。此外,數(shù)據(jù)與極性無關(guān),因此更易于處理。S/PDIF是從專業(yè)音頻所用的AES/EBU標(biāo)準(zhǔn)發(fā)展而來。二者在協(xié)議層上一致,但從XLR到電氣RCA插孔或光學(xué)TOSLINK的物理連接器發(fā)生了改變。本質(zhì)上,S/PDIF 是AES/EBU格式的消費(fèi)型版本。S/PDIF接口規(guī)范主要由硬件和軟件組成。軟件通常涉及S/PDIF幀格式,硬件則涉及設(shè)備間數(shù)據(jù)傳輸所使用的物理連接媒介。用于物理媒介的各種接口包括:晶體管與晶體管邏輯、同軸電纜(以RCA插頭連接的75Ω電纜)和TOSLINK(一種光纖連接)。
圖1 S/PDIF雙相標(biāo)記編碼流
S/PDIF協(xié)議——如上文所述,它是一種單線串行接口,時(shí)鐘嵌入數(shù)據(jù)之中。傳輸?shù)臄?shù)據(jù)采用雙相標(biāo)記編碼。時(shí)鐘和幀同步信號(hào)在接收器端與雙相解碼數(shù)據(jù)流一同恢復(fù)。數(shù)據(jù)流中的每個(gè)數(shù)據(jù)位都有一個(gè)時(shí)隙。時(shí)隙以一個(gè)躍遷開始,并以一個(gè)躍遷結(jié)束。如果傳輸?shù)臄?shù)據(jù)位是“1”,則時(shí)隙中間還會(huì)增加一個(gè)躍遷。數(shù)據(jù)位“0”則不需要額外躍遷,躍遷之間的最短間隔稱為單位間隔(UI)。
S/PDIF幀格式——首先驅(qū)動(dòng)數(shù)據(jù)的最低有效位。每個(gè)幀有兩個(gè)子幀,分別是32個(gè)時(shí)隙,共64個(gè)時(shí)隙(見圖2)。子幀以一個(gè)前導(dǎo)碼開始,后面跟隨24位數(shù)據(jù),最后以攜帶用戶數(shù)據(jù)和通道狀態(tài)等信息的4位結(jié)束。子幀的前4個(gè)時(shí)隙稱為前導(dǎo)碼,用于指示子幀和塊的開始。前導(dǎo)碼有三個(gè),每一前導(dǎo)碼均包含一個(gè)或兩個(gè)持續(xù)時(shí)間為3UI的脈沖,從而打破雙相編碼規(guī)則。這意味著,該模式不可能存在于數(shù)據(jù)流中的其他地方。每個(gè)子幀都以4位前導(dǎo)碼開始。塊的開始用前導(dǎo)碼“Z”和子幀通道的開始“A”表示。前導(dǎo)碼“X”表示通道“A”子幀的開始(不同于塊的開始),前導(dǎo)碼“Y”表示通道“B”子幀的開始。
圖2 S/PDIF子幀、幀和塊格式
I2S總線——在當(dāng)今的音頻系統(tǒng)中,數(shù)字音頻數(shù)據(jù)在系統(tǒng)內(nèi)部的各種器件之間傳輸,例如編解碼器、DSP、數(shù)字IO接口、ADC、DAC和數(shù)字濾波器之間。因此,為了增強(qiáng)靈活性,必須有一個(gè)標(biāo)準(zhǔn)的協(xié)議和通信結(jié)構(gòu)。專為數(shù)字音頻而開發(fā)的I2S總線規(guī)范現(xiàn)已被許多IC廠商采用,它是一種簡單的三線同步協(xié)議,包括如下信號(hào):串行位時(shí)鐘(SCK)、左右時(shí)鐘或字選擇(WS)以及串行數(shù)據(jù)。WS線表示正在進(jìn)行傳輸?shù)穆暤?。?dāng)WS為邏輯高(HI)電平時(shí),右聲道進(jìn)行傳輸;當(dāng)WS為邏輯低(LO)電平時(shí),左聲道進(jìn)行傳輸。發(fā)送器以二進(jìn)制發(fā)送數(shù)據(jù),首先補(bǔ)足MSB。幾乎所有DSP的串行端口都將I2S作為串行端口模式之一。音頻編解碼器也支持這種模式。
采樣速率轉(zhuǎn)換器(SRC)——這是音頻系統(tǒng)的一個(gè)重要組成部分。采樣速率轉(zhuǎn)換既可以通過軟件實(shí)現(xiàn),也可以通過一些處理器的片內(nèi)硬件來支持(見圖3)。它主要用于將數(shù)據(jù)從一個(gè)采用特定采樣速率的時(shí)鐘域轉(zhuǎn)換到另一個(gè)采用相同或不同采樣速率的時(shí)鐘域。
圖3 采樣速率轉(zhuǎn)換過程的四個(gè)不同階段
音頻可以采用不同采樣速率進(jìn)行編碼,其他任務(wù)由編解碼器完成。某些情況下需要改變編解碼器的主時(shí)鐘,以支持特定采樣速率。從采用某一采樣速率的音頻轉(zhuǎn)換為采用不同采樣速率的音頻時(shí),即時(shí)改變主時(shí)鐘并不是一件容易的事,有時(shí)甚至不可能完成,因?yàn)樾枰碾娐钒迳系挠布?。因此,采樣速率轉(zhuǎn)換一般在將數(shù)據(jù)驅(qū)動(dòng)到編解碼器之前執(zhí)行。這樣,編解碼器的采樣速率不需要改變,可以保持恒定。串行端口以采樣頻率1發(fā)送音頻數(shù)據(jù)到另一端的SRC和編解碼器,然后以采樣頻率2從SRC讀取音頻數(shù)據(jù)。
SRC分為兩種類型:同步SRC和異步SRC。與同步SRC連接的輸出器件為“從機(jī)”,與異步SRC連接的器件為“主機(jī)”?!爸鳈C(jī)”是指驅(qū)動(dòng)SCK和幀同步信號(hào)的器件。
SRC利用輸出采樣速率極高的插值濾波器和零階保持器(ZOH)將離散時(shí)間信號(hào)轉(zhuǎn)換為連續(xù)時(shí)間信號(hào)。插值值被饋送至ZOH,并以Fs out的輸出采樣頻率進(jìn)行異步采樣。
音頻系統(tǒng)
大多數(shù)手持式音頻設(shè)備支持雙聲道,并能解碼MP3、Ogg、WMA媒體格式。這些設(shè)備大多依賴電池供電。還有許多手機(jī),其中一些稱為“音樂手機(jī)”,也屬于此類設(shè)備。另一方面,家庭影院系統(tǒng)支持多揚(yáng)聲器、多聲道音頻,例如,Dolby、DTS和各種其他音頻后處理算法(THX、 ART、Neo6等)。
便攜式音頻系統(tǒng)——有些手持式音頻系統(tǒng)采用ASIC,有些則采用DSP。MP3、Ogg和其他媒體文件等音頻內(nèi)容通常存儲(chǔ)在高密度存儲(chǔ)設(shè)備中,如NAND閃存、安全數(shù)字(SD)卡、多媒體卡(MMC)和安全數(shù)字高容量卡(SDHC)等。
圖4顯示了與ASIC/DSP的主要系統(tǒng)接口。SD和MMC還支持串行SPI模式,DSP和各種微控制器/微處理器通常提供此種模式。某些處理器片內(nèi)支持這些標(biāo)準(zhǔn)。利用處理器的其他資源/接口,如并行端口或異步存儲(chǔ)器接口等,也可以通過軟件實(shí)現(xiàn)這些協(xié)議。當(dāng)然,軟件實(shí)現(xiàn)方法會(huì)增加開銷。對于運(yùn)行操作系統(tǒng)(OS)或內(nèi)核的系統(tǒng),必須使這些接口和驅(qū)動(dòng)程序與OS兼容,而不應(yīng)依賴中斷服務(wù)等。OS環(huán)境下可能會(huì)引起不可預(yù)測的延遲,影響接口時(shí)序規(guī)格,使得接口不可靠,有時(shí)甚至無法工作。為了確保OS兼容,可能需要使用額外的硬件膠合邏輯。
圖4 手持式音頻系統(tǒng)框圖
例如,一個(gè)設(shè)計(jì)示例(見圖5)在處理器的外部存儲(chǔ)器接口上實(shí)現(xiàn)了SD 2.0規(guī)范。數(shù)據(jù)總線不僅用于數(shù)據(jù)傳輸,而且用于與SD卡交換命令和響應(yīng)。在SD卡的4位模式下,數(shù)據(jù)總線的D0至D3信號(hào)連接到SD卡的數(shù)據(jù)線(DAT0至DAT3)。處理器數(shù)據(jù)總線的D4用于與SD卡進(jìn)行命令和響應(yīng)通信。由于命令字必須通過CMD信號(hào)串行發(fā)送,因此一系列8位字形成內(nèi)部存儲(chǔ)器中的幀,使得各個(gè)字的D4依次具有命令字的一位。這種數(shù)據(jù)重排是通過函數(shù)調(diào)用在軟件中完成。類似地,軟件對接收的狀態(tài)信息和來往SD卡的實(shí)際數(shù)據(jù)執(zhí)行數(shù)據(jù)重排。SD卡時(shí)鐘信號(hào)自ARE/(讀取選通)和AWE/(寫入選通)信號(hào)獲得。ARE/和AWE/連接到一個(gè)具有開集輸出的緩沖器的輸入端。AMS3 /(異步存儲(chǔ)器片選選通)連接到此緩沖器的輸出使能引腳。此緩沖器的輸出執(zhí)行“線與”處理,所產(chǎn)生的信號(hào)作為時(shí)鐘提供給SD卡。數(shù)據(jù)線也通過一個(gè)雙向緩沖器進(jìn)行緩沖。
AMS3/驅(qū)動(dòng)緩沖器的輸出使能引腳。要求對緩沖器進(jìn)行隔離,以便其他異步存儲(chǔ)設(shè)備也能共享數(shù)據(jù)總線。D5驅(qū)動(dòng)雙向緩沖器的DIR(方向控制)引腳。緩沖器兩端均需要上拉電阻。BF-54x等其他一些Blackfin產(chǎn)品提供片內(nèi)SD支
評論