智慧硬體設計中如何選什麼音訊介面I2S、PDM、TDM?
在智慧硬體和物聯網產品設計中,經常遇到聲音的傳輸。本文主要講一下最常用的音訊介面,以及使用場景。
主要分類:模擬、數字(I2S、PCM、PDM、TDM)
模擬音訊,就是功放輸出的,驅動音箱和喇叭的音訊。模擬麥克風取樣回來的資料也是模擬音訊。通常會有單端或差分兩種訊號。
數字音訊,不能直接驅動喇叭,必須要通過DAC轉換成模擬音訊,才能發出聲音來。數字音訊的介面比較多,目前較為通用的是I2S、PCM、PDM和TDM介面。
什麼時候用模擬的?
在智慧硬體產品中,模擬音訊主要用在:喇叭播放聲音、Line-in外接音源、麥克風輸入等。裝置外的音訊傳輸一般使用模擬訊號。
通常看到的音訊波形,都是模擬音訊,能夠和聲音實際的波動完全對應起來
當前有不少音訊產品使用D類音訊功放,輸出波形看起來是方波,但實際上還是屬於模擬音訊型別的。是高頻載波疊加的模擬音訊的波形,經過LC濾波之後能夠還原成模擬音訊波形。
如下圖,下半部分是D類功放輸出的方波狀的音訊訊號,上半部分的正玄波是還原出來的模擬音訊波形。
D類功放輸出的方波狀的模擬音訊訊號
什麼時候用數字介面?
智慧硬體產品的裝置內音訊傳輸,採用I2S、PCM、TDM、PDM等數字介面。
-
I2S速度快,專門用於傳音樂。
從MCU往Codec傳音樂資料,一般使用I2S。包含主時鐘、左右聲道時鐘、正反兩根資料線。
如下圖的I2S介面的時序,最典型的特徵是LRCLK,用於區分左右聲道的時鐘。
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處理器。
某智慧音箱TDM介面(區域性)
-
PDM,只有2根線,傳音樂,編碼方式和I2S不同。
很多數字麥克風使用的PDM介面,有資料和時鐘兩根線。PDM介面和I2S最大的區別是編碼方式不同。
PDM和I2S介面的數字麥克風
其他數字介面:USB
除了上述幾個,在很多外接的音訊模組上,用的是USB音訊。
像科大訊飛的多mic降噪模組,用的就是usb介面,方便除錯。
但是萬變不離其宗,不管用的什麼介面,傳輸的都是PCM或者PDM編碼的數字音訊。