關於I2S及音頻小結

來源:互聯網
上載者:User

 

1.   I2S的基本知識

1.1 I2S簡介

I2S匯流排英文簡稱Inter-ICSound,是飛利浦公司為數字音訊裝置之間的音頻資料轉送而制定的一種匯流排標準,該匯流排專門用於音訊裝置之間的資料轉送,廣泛應用於各種多媒體系統。I2S也是同步串列通訊介面。

 

1.2 I2S的連接線及作用

1) 串列時鐘SCLK,也叫做時鐘(BCLK),即對應數字音訊每一位元據,SCLK都有1個脈衝。SCLK的頻率=2×採樣頻率×採樣位元。

2)  幀時鐘LRCK,(也稱WS),用於切換左右聲道的資料。LRCK為“1”表示正在傳輸的是右聲道的資料,為“0”則表示正在傳輸的是左聲道的資料。LRCK的頻率等於採樣頻率。

3)  串列資料SDATA0,輸入資料,就是用二進位補碼錶示的音頻資料,如果是半雙工就一根資料線。

4)  串列資料SDATA1,輸出資料,就是用二進位補碼錶示的音頻資料,全雙工系統有兩根資料線。

5)  MCLK,稱為主時鐘,也叫系統時鐘(Sys Clock),是採樣頻率的256倍或384倍。為了使系統間能夠更好地同步

 

1.3    I2S 音頻標準

四種不同音頻標準:

1)  I2S Philips標準。

2) MSB對齊標準。

3) LSB 對齊標準。

4) PCM 標準。

1.4    頻率計算

I2S 位元速率 = 每個通道的位元 × 通道數 × 音頻採樣頻率

 

2.    Nordic52840和STM32F4系列I2S的比較

 

2.1   Nordic52840的I2S

  2.1.1  I2S的主要特性

1)  Simultaneous bi-directional (TX and RX) audio streaming(主要說明I2S的只支援全雙工系統,52840沒有半雙工的概念)

2)  8, 16 and 24-bit sample width。

3)  Low-jitter Master Clock generator(有專門的主時鐘MCLK發生器)。

4)  Various sample rates

  2.1.2  LRCK SCK MCK的作用聯絡和區別 2.1.2.1  Leftright clock (LRCK)

 

In I2S mode, each frame contains oneleft and right sample pair, with the left sample being transferred during thelow half period of LRCK followed by the right sample being transferred duringthe high period of LRCK.

LRCK always toggles around thefalling edge of the serial clock SCK.

Consequently, the LRCK frequency isequivalent to the audio sample rate(LRCKfrequency相當於音訊採樣頻率)。

LRCK = MCK/CONFIG.RATIO

可以設定的CONFIG.RATIO如下:

2.1.2.2  Serial clock (SCK)

 

        The serial clock (SCK), often referred to as the serial bit clock, pulsesonce for each data bit being

transferred on the serial data lines SDIN and SDOUT(每一位元據一個波形)。

SCK = 2 * LRCK * CONFIG.SWIDTH

可以設定的CONFIG.SWIDTH如下:

 

 

  2.1.2.3 Master clock (MCK)

1)  SCK frequency can never exceed the MCK frequency, whichcan be formulated as:

CONFIG.RATIO>= 2 * CONFIG.SWIDTH

2)  The MCK/LRCK ratio shall be a multiple of 2 *CONFIG.SWIDTH, which can be formulated as:

    Integer =(CONFIG.RATIO / (2 * CONFIG.SWIDTH))

 

主時鐘MCLK可以設定的頻率

 

如上圖所示MCLK可以設定的範圍是0.256MHz—16.0MHz.

 

Relation between RATIO, MCK and LRCK.

 

 

2.2   STM32F4xx的I2S

 

I2S2ext_SD 和 I2S3ext_SD 為擴充 SD 引腳,用於控制 I2S 全雙工系統模式。

當使能 I2S 功能(將 SPI_I2SCFGR 寄存器中的 I2SMOD 位置 1)時,SPI 可用作音頻 I2S 介面。此介面使用幾乎與 SPI 相同的引腳、標誌和中斷。

2.2.1  I2S的主要特性

I2S 與 SPI 共用以下三個引腳:

1)  SD:串列資料(映射到 MOSI 引腳),用於發送或接收兩個時分複用的資料通道上的數 據(僅半雙工模式)。

2)  WS:字選擇(映射到 NSS 引腳),是主模式下的資料控制訊號輸出以及從模式下的數 據控制訊號輸入。

3)  CK:串列時鐘(映射到 SCK 引腳),是主模式下的串列時鐘輸出以及從模式下的串列時 鐘輸入。

 

 

多出來的3個管腳如下:

4) I2S2ext_SD 和 I2S3ext_SD:用於控制 I2S 全雙工系統模式的附加引腳 (映射到 MISO 引腳)。 當某些外部音訊裝置需要使用主時鐘輸出時,可以使用附加引腳:

5) MCK:當 I2S 配置為主模式(並且 SPI_I2SPR 寄存器中的 MCKOE 位置 1)時,使用 主時鐘(單獨映射)輸出此附加時鐘,該時鐘輸出頻率 256 × FS,其中 FS 為音頻訊號 採樣頻率。

其他的特性:

1) 位可程式化線性預分頻器,可實現精確的音頻採樣頻率(從 8 kHz 到 192 kHz)

2) 資料格式可以是 16 位、24 位或 32 位

3) 資料包幀由音頻通道固定為 16 位(可容納 16 位元據幀)或 32 位(可容納 16 位、 24 位、32 位元據幀)

4) 可輸出主時鐘以驅動外部音頻元件。比率固定為 256 × FS(其中 FS 為音頻採樣頻率)

2.2.2  支援的音頻格式

有四種資料和框架格式組合,可採用下列格式發送資料:

1) 將 16 位元據封裝在 16 位幀中

2) 將 16 位元據封裝在 32 位幀中

3) 將 24 位元據封裝在 32 位幀中

4) 將 32 位元據封裝在 32 位幀中

 

 

2.2.3  時鐘發生器

 

 

如上圖所示,兩個 I2S(I2S2和 I2S3)均有專用的 PLL(PLLI2S),可產生更為精確的時鐘。

I2S(I2S2 和 I2S3)時鐘可由 I2S_CKIN 引腳上的外部時鐘提供。

 

  3.  音訊業界標準及基本知識

  3.1  音訊採樣頻率

在業界有三套採樣率並存:

1)  44.1kHz及其下採樣、上採樣:22.05kHz, 11.025kHz,88.2kHz, 176.4kHz

2)   48kHz及其下採樣、上採樣:24kHz, 12kHz,96kHz, 192kHz

3)   8kHz, 16kHz, 32kHz, 64kHz 3.2 音頻小知識

       人耳的聽覺是有限的,介於20Hz到20kHz。跟據Nyquist採樣定理,採樣頻率只要超過訊號頻寬的2倍就不會產生混迭。在數位媒體領域,如音樂CD的規範,都是以44.1kHz作為標準採樣率的。因為44.kHz大於20kHz的兩倍,所以實際上44.1kHz的採樣率是足夠用的。

4.     關於音訊問答

問:三套採樣標準怎麼選取。

答:但是現在普遍在工程中都是使用48kHz或者96kHz頻率錄音,只有在最終母帶處理時才會轉成44.1kHz的CD格式,這樣減少多次採樣率轉換造成的失真。

問:插在電腦上的USBAudio 應該選擇什麼樣的採樣頻率。

答:而在電腦領域,作為音頻硬體codec標準的AC97規範只規定了48kHz。

 

問:常用音訊裝置是12位元點位深還是24位元點位深。

答:專業錄音行業的最高品質標準就是:24位元定點位深、192000Hz採樣頻率,簡稱“24Bit/192KHz() 24-bit類比輸入的模數轉換:採樣率192kHz”。因此普通的音訊裝置會選擇12位元點位深。

 

 

 

問:MCU在和codec通訊的時候是作為master還是slave?

答:如果codec使用外部晶振作為MCLK,那麼很多專業人士建議MCU作為slave裝置。Nordic52840有專門的clock發生器,如果用Nordic52840的clock發生器給codec提供MCLK,MCU這時作為slave還是master沒有太大的區別,但是作為master比較好設定,建議為master裝置。

 

問:codec是使用外部晶振提供MCLK還是使用MCU提供MCLK。

答:外接晶振可能會和mcu出現頻率不匹配的現象,從而導致聲音失真。建議使用MCU提供MCLK。

 

問:fullUSB是否滿足音訊傳輸。

答: full USB的速率為12MHz,音頻所需要的頻寬如下:

I2S 位元速率 = 每個通道的位元 × 通道數 × 音頻採樣頻率

Play: I2S 位元速率 = 12 × 2 × 48kHz= 1152 kHz

Record: I2S 位元速率 = 12 × 2 × 48kHz= = 1152 kHz

full USB的速率為12MHz > (Play: I2S 位元速率 + Record: I2S)

結論:滿足要求

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.