音頻解碼的兩個標準AC97和IIS
時間:2018-01-10 來源:未知
音頻標準主要有兩個AC97和IIS,下面我對這兩個標準做簡要的介紹說明,以便在后面的工作中使用作參考。
一 I2s標準
在飛利浦公司的I2S標準中,既規(guī)定了硬件接口規(guī)范,也規(guī)定了數(shù)字音頻數(shù)據(jù)的格式。I2S有3個主要信號:
1.串行時鐘SCLK,也叫位時鐘(BCLK),即對應數(shù)字音頻的每一位數(shù)據(jù),SCLK都有1個脈沖。SCLK的頻率=2×采樣頻率×采樣位數(shù)
2. 幀時鐘LRCK,(也稱WS),用于切換左右聲道的數(shù)據(jù)。LRCK為“1”表示正在傳輸?shù)氖亲舐暤赖臄?shù)據(jù),為“0”則表示正在傳輸?shù)氖怯衣暤赖臄?shù)據(jù)。LRCK的頻率等于采樣頻率。
3.串行數(shù)據(jù)SDATA,就是用二進制補碼表示的音頻數(shù)據(jù)。
有時為了使系統(tǒng)間能夠更好地同步,還需要另外傳輸一個信號MCLK,稱為主時鐘,也叫系統(tǒng)時鐘(Sys Clock),是采樣頻率的256倍或384倍。
串行數(shù)據(jù)(SD)
I2S格式的信號無論有多少位有效數(shù)據(jù),數(shù)據(jù)的高位總是出現(xiàn)在LRCK變化(也就是一幀開 始)后的第2個SCLK脈沖處。這就使得接收端與發(fā)送端的有效位數(shù)可以不同。如果接收端能處理的有效位數(shù)少于發(fā)送端,可以放棄數(shù)據(jù)幀中多余的低位數(shù)據(jù);如 果接收端能處理的有效位數(shù)多于發(fā)送端,可以自行補足剩余的位。這種同步機制使得數(shù)字音頻設備的互連更加方便,而且不會造成數(shù)據(jù)錯位。
隨著技術的發(fā)展,在統(tǒng)一的 I2S接口下,出現(xiàn)了多種不同的數(shù)據(jù)格式。根據(jù)SDATA數(shù)據(jù)相對于LRCK和SCLK的位置不同,分為左對齊(較少使用)、I2S格式(即飛利浦規(guī)定的格式)和右對齊(也叫日本格式、普通格式)。為了保證數(shù)字音頻信號的正確傳輸,發(fā)送端和接收端應該采用相同的數(shù)據(jù)格式和長度。當然,對I2S格式來說數(shù)據(jù)長度可以不同。
字段(聲道)選擇(WS)
命令選擇線表明了正在被傳輸?shù)穆暤馈?/p>
WS=0,表示正在傳輸?shù)氖亲舐暤赖臄?shù)據(jù)。
WS=1,表示正在傳輸?shù)氖怯衣暤赖臄?shù)據(jù)。
WS可以在串行時鐘的上升沿或者下降沿發(fā)生改變,并且WS信號不需要一定是對稱的。在從屬裝置 端,WS在時鐘信號的上升沿發(fā)生改變。WS總是在高位傳輸前的一個時鐘周期發(fā)生改變,這樣可以使從屬裝置得到與被傳輸?shù)拇袛?shù)據(jù)同步的時間,并且使接收 端存儲當前的命令以及為下次的命令清除空間。
二 AC97標準
AC97 標準把音頻設備中的數(shù)字部分和模擬部分分開, 并規(guī)定數(shù)字信號處理由CPU 來負責,或者采用專門的DSP 芯片; 而模擬部分, 即A/D、D/A 轉換與Mix 混音操作, 則由CODEC 芯片(Coder2Decoder: 編碼/解碼器) 完成。
音頻處理的流程如下:
①CODEC 采樣音頻數(shù)據(jù), 把模擬信號轉換成數(shù)字信號通過AC2link 和AC 控制單元傳送給CPU 或DSP 處理。
②CPU 對數(shù)字信號處理后交由AC 控制單元通過AC2link 傳輸給CODEC 進行混音處理,再轉換成模擬信號輸出。其中AC 控制單元是AC97 CODEC 的控制器。AC2link 是AC97 標準定義的全雙工的串行接口, 負責傳輸音頻數(shù)據(jù)、寄存器控制命令和狀態(tài)信息。
AC2link 由4 根串行總線和一個nRESET 信號線組成。串行總線分別是: 位時鐘信號線(B IT_CL K ) , 幀同步信號線(SYNC ) , 數(shù)據(jù)輸出(SDA TA _OU T ) 和數(shù)據(jù)輸入(SDA TA _IN ) 信號線。它按照AC97 rev211 標準規(guī)定的AC2link數(shù)字串口接口協(xié)議[ 1 ]進行數(shù)據(jù)的傳輸。AC2link在B IT _CL K 的上升沿發(fā)送數(shù)據(jù), 在下降沿接收數(shù)據(jù), 實現(xiàn)全雙工的數(shù)據(jù)傳輸。

