音頻接口設計詳解!智能硬件設計,I2S、PDM、TDM選什麼接口?

燚智能硬件開發大講堂

用簡單的語言,講複雜的技術!

在智能硬件和物聯網產品設計中,經常遇到聲音的傳輸。本文主要講一下最常用的音頻接口,以及使用場景。

主要分類:模擬、數字(I2S、PCM、PDM、TDM)

模擬音頻,就是功放輸出的,驅動音箱和喇叭的音頻。模擬麥克風採樣回來的數據也是模擬音頻。通常會有單端或差分兩種信號。

數字音頻,不能直接驅動喇叭,必須要通過DAC轉換成模擬音頻,才能發出聲音來。數字音頻的接口比較多,目前較為通用的是I2S、PCM、PDM和TDM接口。

音頻接口設計詳解!智能硬件設計,I2S、PDM、TDM選什麼接口?

什麼時候用模擬的?

在智能硬件產品中,模擬音頻主要用在:喇叭播放聲音、Line-in外接音源、麥克風輸入等。設備外的音頻傳輸一般使用模擬信號。

通常看到的音頻波形,都是模擬音頻,能夠和聲音實際的波動完全對應起來

音頻接口設計詳解!智能硬件設計,I2S、PDM、TDM選什麼接口?

當前有不少音頻產品使用D類音頻功放,輸出波形看起來是,但實際上還是屬於模擬音頻類型的。是高頻載波疊加的模擬音頻的波形,經過LC濾波之後能夠還原成模擬音頻波形

如下圖,下半部分是D類功放輸出的方波狀的音頻信號,上半部分的正玄波是還原出來的模擬音頻波形。

音頻接口設計詳解!智能硬件設計,I2S、PDM、TDM選什麼接口?

D類功放輸出的方波狀的模擬音頻信號

什麼時候用數字接口?

智能硬件產品的設備內音頻傳輸,採用I2S、PCM、TDM、PDM等數字接口。

  • I2S速度快,專門用於傳音樂。

從MCU往Codec傳音樂數據,一般使用I2S。包含主時鐘、左右聲道時鐘、正反兩根數據線。

如下圖的I2S接口的時序,最典型的特徵是LRCLK,用於區分左右聲道的時鐘。

音頻接口設計詳解!智能硬件設計,I2S、PDM、TDM選什麼接口?

I2S接口的時序

  • PCM/TDM,主要用來傳語音

這裡講的PCM不是PCM編碼,而是PCM接口。和I2S差不多,也是4根線,通常用於AP處理器和通信MODEM之間傳輸語音數據(就是雙向打電話的數據)。

AP處理器和藍牙之間也是通過PCM來傳輸語音數據,打電話的藍牙數據走的是PCM,放音樂的藍牙數據走的是串口(不是PCM)。

I2S只能傳2個聲道的數據,PCM可以傳多達16路數據,採用時分複用的方式,就是TDM。像現在最流行的語音智能音箱的7麥克風矩陣,一般都是用TDM來傳的數據,同時可以傳輸7路麥克風輸入和3路以上的音頻反饋信號。

如下圖是某智能音箱,7個麥克風通過5個ADC,接入一組TDM接口上,傳輸給AP處理器。

音頻接口設計詳解!智能硬件設計,I2S、PDM、TDM選什麼接口?

某智能音箱TDM接口(局部)

  • PDM,只有2根線,傳音樂,編碼方式和I2S不同。

很多數字麥克風使用的PDM接口,有數據和時鐘兩根線。PDM接口和I2S最大的區別是編碼方式不同。

音頻接口設計詳解!智能硬件設計,I2S、PDM、TDM選什麼接口?

PDM和I2S接口的數字麥克風

其他數字接口:USB

除了上述幾個,在很多外接的音頻模塊上,用的是USB音頻。

像科大訊飛的多mic降噪模塊,用的就是usb接口,方便調試。

但是萬變不離其宗,不管用的什麼接口,傳輸的都是PCM或者PDM編碼的數字音頻。


燚智能周教授大講堂

物聯網開發實戰派!

前期精彩內容回顧:




音頻接口設計詳解!智能硬件設計,I2S、PDM、TDM選什麼接口?


分享到:


相關文章: