轉載:TDM協議

轉自http://www.wangdali.net/i2s/svg

1. PCM簡介

 

PCM (Pulse Code Modulation) 是經過等時間隔(即採樣率時鐘週期)採樣將模擬信號數字化的方法。圖11爲4 bit 採樣深度的PCM數據量化示意圖。.net

800px-Pcm.svg

圖11. 4-bit PCM的採樣量化orm

 

PCM數字音頻接口,即說明接口上傳輸的音頻數據經過PCM方式採樣獲得的,以區別於PDM方式。在音頻領域,PCM接口經常使用於板級音頻數字信號的傳輸,與I2S類似。PCM和I2S的區別於數據相對於幀時鐘(FSYNC/WS)的位置、時鐘的極性和幀的長度。其實,I2S上傳輸的也是PCM類型的數據,所以能夠說I2S不過是PCM接口的特例。blog

相比於I2S接口,PCM接口應用更加靈活。經過時分複用(TDM, Time Division Multiplexing)方式,PCM接口支持同時傳輸多達N個(N>8)聲道的數據,減小了管腳數目(其實是減小I2S的「組」數,由於每組I2S只能傳輸兩聲道數據嘛)。TDM不像I2S有統一的標準,不一樣的IC廠商在應用TDM時可能略有差別,這些差別表如今時鐘的極性、聲道配置的觸發條件和對閒置聲道的處理等。接口

TDM/PCM數字音頻接口的硬件拓撲結構也與I2S相近。圖12表示應用DSP做爲主設備控制ADC和DAC間數字音頻流的例子。ip

綜合很多廠商的數據手冊,筆者發現,在應用PCM音頻接口傳輸單聲道數據(如麥克風)時,其接口名稱爲PCM;雙聲道常常使用I2S;而TDM則表示傳輸兩個及以上聲道的數據,同時區別於I2S特定的格式。get

 

tdm

 圖12. TDM系統框圖同步

2. 信號定義

 

PCM接口與I2S類似,電路信號包括:it

  • PCM_CLK    數據時鐘信號
  • PCM_SYNC    幀同步時鐘信號
  • PCM_IN    接收數據信號
  • PCM_OUT    發送數據信號

TDM/PCM與I2S接口對應關係見表2:io

pcm_i2s

表2. PCM vs I2S接口

 

3. 操做模式

 

根據 SD相對幀同步時鐘FSYNC的位置,TDM分兩種基本模式:

  • Mode A(I2S format): 數據在FSYNC有效後,BCLK的第2個上升沿有效(圖13)
  • Mode B(LJ): 數據在FSYNC有效後,BCLK的第1個上升沿有效(圖14)

 

tdm_mode_a1

圖13. TDM Mode A

 

tdm_mode_b1

圖14. TDM Mode B

注:

因爲沒有統一標準,不一樣廠商對Mode A和Mode B定義可能有所差異。

 

在實際應用中,老是以幀同步時鐘FSYNC的上升沿表示一次傳輸的開始。幀同步時鐘的頻率老是等於音頻的採樣率,好比44.1 kHz,48 kHz等。多數應用只用到FSYNC的上升沿,而忽略其降低沿。根據不一樣應用FSYNC脈衝寬度的差異,PCM幀同步時鐘模式大體分爲兩種:

  • 長幀同步 Long Frame Sync
  • 短幀同步 Short Frame Sync

長幀同步,短幀同步時序模式以下圖16和圖17所示。

 

注:

a. 長幀同步,如圖15所示,FSYNC脈衝寬度等於1個Slot的長度。Slot在TDM中表示的是傳輸單個聲道所佔用的位數。如圖15所示TI McASP接口的TDM包括6個Slots,即它最多可包括6聲道數據。注意,Slot的位數並不必定等於音頻的量化深度。好比Slot可能爲32 bit,其中包括24 bit有效數據位(Audio Word) + 8 bit零填充(Zero Padding)。不一樣廠商對Slot的叫法可能有所區別,好比Circus Logic稱之爲Channel Block;

 

frame

圖15. 長幀同步模式

 

b. 短幀同步,FSYNC脈衝寬度等於1個BCLK週期長度;

c. 因爲沒有統一標準,不一樣廠商對FSYNC脈衝寬度及觸發邊沿的設置可能不一樣,以器件手冊爲準。

 

long_frame_sync_8b

圖16. 8-bit長幀同步模式

 

 

short_frame_sync_16b

圖17. 16-bit短幀同步模式

 

4. 時鐘(BCLK)頻率的計算

 

FSYNC的頻率等於音頻的採樣率(例如44.1 kHz,48 kHz等)。Frame每次傳輸包括全部聲道的數據。PCM採樣音頻數據量化深度通常在16-32bit(最多見爲16/24bit)。那麼對於8聲道,每一個聲道32bit音頻數據,採樣率48kHz的系統,TDM的BCLK時鐘速率爲:8 × 32 × 48kHz = 12.288 MHz

在器件Datasheet中能夠見到TDM128/TDM256/TDM384/TDM512等說法,數字的含義爲單個TDM數據幀包含數據的比特數(即幀長)。如上例8聲道(Channels)32bit的音頻數據,亦稱爲TDM256(=8*32)。TDM系統時鐘速率就能夠簡單地用採樣率乘以TDM幀長計算得出。相同的例子,TDM系統時鐘速率:48kHz × 256 = 12.288 MHz

下表4列出系統時鐘SCK/BCLK和採樣率fs及TDM幀長的關係:

sck_vs_fs

表4. 常見音頻採樣率對應的系統時鐘

 

5. 數據格式

 

在PCM/TDM傳輸的數據幀(Slots)中,可能還包括音頻數據以外的信息。好比在CSR BC06器件Datasheet說明,其設置爲16 bit Slot字長時,3或8 bit未使用bit能夠用做標籤位(Sign Extension)、零填充(Zeros Padding)或是兼容Motorola編解碼器的3 bit音頻衰減值,如圖18所示。

16b_slot_sample_format

圖18. 16-bit位採樣字格式

相關文章
相關標籤/搜索