1. 程式人生 > >數字音頻接口

數字音頻接口

electron att easy 接口的應用 ttl電平 div 廣泛 port phi


數字音頻接口DAI,即Digital Audio Interfaces,顧名思義,DAI表示在板級或板間傳輸數字音頻信號的方式。相比於模擬接口,數字音頻接口抗幹擾能力更強,硬件設計簡單,DAI在音頻電路設計中得到越來越廣泛的應用。圖1和圖2對比傳統的音頻信號和數字音頻信號鏈的區別。

在傳統的音頻電路(圖1)中有麥克風、前置放大器、模/數轉換器ADC、數/模轉換器DAC、輸出放大器,以及揚聲器,它們之間使用模擬信號連接。隨著技術的發展和對性能考慮,模擬電路逐漸被推到鏈路的兩端(集成到設備內部),信號鏈中各集成電路間將出現更多的數字接口形式。DSP通常都是數字接口的;換能器(Transducers, i.e. Mic & Speaker)、放大器一般而言只有模擬接口,但現在也正在逐漸集成數字接口功能。 目前,集成電路設計人員正在將換能器內的ADC、DAC和調制器集成到信號鏈一端,這樣就不必在PCB上走任何模擬音頻信號,並且減少了信號鏈中的器件數量。圖2給出了一個完整數字音頻接口的例子。

技術分享圖片 圖1. 傳統的音頻信號鏈路

技術分享圖片

圖2. 數字音頻信號鏈路

數字音頻信號的傳輸標準,如I2SPCM (Pulse Code Modulation) 和PDM (Pulse Density Modulation)主要用於同一塊電路板上芯片之間音頻信號的傳輸;Intel HDA (Intel High Definition Audio) 用於PC的Audio子系統(聲卡)應用; S/PDIFEthernet AVB主要應用於板間長距離及需要電纜連接的場合。

本文主要介紹I2S, PCMPDM數字音頻接口,其它幾種接口將另文說明。

I2S接口


1. I2S簡介

I2S全稱Inter-IC Sound

, Integrated Interchip Sound,或簡寫IIS,是飛利浦在1986年定義(1996年修訂)的數字音頻傳輸標準,用於數字音頻數據在系統內部器件之間傳輸,例如編解碼器CODEC、DSP、數字輸入/輸出接口、ADC、DAC和數字濾波器等。除了都是由飛利浦定義外,I2S和I2C沒有任何關系。

I2S是比較簡單的數字接口協議,沒有地址或設備選擇機制。在I2S總線上,只能同時存在一個主設備和發送設備。主設備可以是發送設備,也可以是接收設備,或是協調發送設備和接收設備的其它控制設備。在I2S系統中,提供時鐘(SCK和WS)的設備為主設備。圖3是常見的I2S系統框圖。在高端應用中,CODEC經常作為I2S的主控設備以精確控制I2S的數據流。

技術分享圖片

圖3. I2S設備連接示意圖

I2S包括兩個聲道(Left/Right)的數據,在主設備發出聲道選擇/字選擇(WS)控制下進行左右聲道數據切換。通過增加I2S接口的數目或其它I2S設備可以實現多聲道(Multi-Channels)應用。

2. 信號定義

在I2S傳輸協議中,數據信號、時鐘信號以及控制信號是分開傳輸的。I2S協議只定義三根信號線:時鐘信號SCK、數據信號SD和左右聲道選擇信號WS

  • 時鐘信號 Serial Clock

SCK是模塊內的同步信號,從模式時由外部提供,主模式時由模塊內部自己產生。不同廠家的芯片型號,時鐘信號叫法可能不同,也可能稱BCLK/Bit Clock或SCL/Serial Clock

  • 數據信號 Serial Data

SD是串行數據,在I2S中以二進制補碼的形式在數據線上傳輸。在WS變化後的第一個SCK脈沖,先傳輸最高位(MSB, Most Significant Bit)。先傳送MSB是因為發送設備和接收設備的字長可能不同,當系統字長比數據發送端字長長的時候,數據傳輸就會出現截斷的現象/Truncated,即如果數據接收端接收的數據位比它規定的字長長的話,那麽規定字長最低位(LSB: Least Significant Bit)以後的所有位將會被忽略。如果接收的字長比它規定的字長短,那麽空余出來的位將會以0填補。通過這種方式可以使音頻信號的最高有效位得到傳輸,從而保證最好的聽覺效果。

√ 根據輸入或輸出特性,不同芯片上的SD也可能稱SDATA、SDIN、SDOUT、DACDAT、ADCDAT等;
√ 數據發送既可以同步於SCK的上升沿,也可以是下降沿,但接收設備在SCK的上升沿采樣,發送數據時序需考慮

  • 左右聲道選擇信號 Word Select

WS是聲道選擇信號,表明數據發送端所選擇的聲道。當:

WS=0,表示選擇左聲道WS=1,表示選擇右聲道

WS也稱幀時鐘,即LRCLK/Left Right Clock。WS頻率等於聲音的采樣率。WS既可以在SCK的上升沿,也可以在SCK的下降沿變化。從設備在SCK的上升沿采樣WS信號。數據信號MSB在WS改變後的第二個時鐘(SCK)上升沿有效(即延遲一個SCK),這樣可以讓從設備有足夠的時間以存儲當前接收的數據,並準備好接收下一組數據。

3. 電氣特性

  • 輸出電平
VL  < 0.4V
VH > 2.4V

滿足驅動TTL電平IIL=–1.6mA 和 IIH = 0.04mA

  • 輸入電平
VIL  < 0.4V
VIH > 2.4V

註:

1986的SPEC電平定義為TTL,實際應用參考具體器件手冊。

4. 時序要求

在I2S總線中,任何設備都可以通過提供時鐘成為I2S的主控設備。考慮到SCK、SD和WS的時延,I2S總線上總的時延包括:

  • 外部時鐘SCK由主設備到從設備的時延;
  • 內部時鐘和SD及WS的時延

外部時鐘SCK到內部時鐘的延遲對於數據和左右聲道信號WS的輸入沒有影響,因為這段延遲只增加有效的建立時間(Setup time),如圖4所示。需要註意的是發送延遲和接收設備建立時間是否有足夠的裕量。所有的時序要求和時鐘周期或設備允許的最低時鐘周期有關。不同器件的Datasheet都有單獨部分說明其時序要求,以下部分截取自I2S Bus Specification。

技術分享圖片

圖4. 發送設備時序

技術分享圖片

圖5. 接收設備時序

註:

圖4和圖5的時序要求因發送設備的時鐘速率不同而有所區別。接收設備的性能指標需要匹配發送設備的性能。表1說明I2S發送和接收時序的要求。

技術分享圖片

表1. I2S發送和接收時序

圖6是SPEC對於時鐘上升時間的定義。

技術分享圖片

圖6. 時鐘上升時間定義

5. I2S操作模式

根據SD相對於SCK和WS位置的不同,I2S分為三種不同的操作模式,分別為標準I2S模式、左對齊模式和右對齊模式:

  • I2S Phillips Standard I2S格式
  • Left Justified Standard 左對齊格式
  • Right Justified Standard 右對齊格式

I2S模式屬於左對齊中的一種特例,也叫PHILIPS模式,是由標準左對齊格式再延遲一個時鐘位變化來的。時序如圖7所示,左聲道的數據MSB在WS下降沿之後第二個SCK/BCLK上升沿有效,右聲道數據的MSB在WS上升沿之後第二個SCK/BCLK上升沿有效。

技術分享圖片

圖7. I2S PHILIPS操作模式

標準左對齊較少使用,圖8為左對齊時序圖,和PHILIPS格式(圖6)對比可以看出,標準左對齊格式的數據的MSB沒有相對於BCLK延遲一個時鐘。左對齊格式的左聲道的數據MSB在WS上升沿之後SCK/BCLK的第一個上升沿有效;右聲道的數據MSB在WS下降沿之後SCK/BCLK第一個上升沿有效。標準左對齊格式的優點在於,由於在WS變化後的第一個SCK上升沿就開始采樣,它不需要關心左右聲道數據的字長,只要WS的時鐘周期足夠長,左對齊的方式支持16-32bit字長格式。

技術分享圖片

圖8. 左對齊操作模式

標準右對齊也叫日本格式,EIAJ (Electronic Industries Association of Japan) 或SONY格式,圖9為右對齊時序圖。右對齊格式左聲道的數據LSB在WS下降沿的前一個SCK/BCLK上升沿有效,右聲道的數據LSB在WS上升沿的前一個SCK/BCLK上升沿有效。相比於標準左對齊格式,標準右對齊的不足在於接收設備必須事先知道待傳數據的字長。這也解釋了為什麽許多CODEC都會提供多種右對齊格式選擇功能。

技術分享圖片

圖9. 右對齊操作模式

以上不同I2S對齊方式時序圖來源,詳見鏈接TI CODEC 器件手冊。

註:

標準左對齊和標準右對齊模式的LRCK/WS高低電平對應的左右聲道與標準I2S模式的規定恰好相反!標準左右對齊LRCK/WS高電平對應左聲道,LRCK/WS低電平對應右聲道;而I2S低電平對應左聲道,LRCK/WS高電平對應右聲道!

6. I2S數據時鐘(SCK)頻率計算

例如:設聲音的采樣頻率為44.1 kHz,即聲道選擇信號(幀時鐘)WS的頻率必須也為44.1 kHz;左/右2個聲道的量化深度均為16 bit,則I2S的SCK的頻率為:44.1 kHz×16×2=1.4112 MHz

如果需要傳輸20 bit、24 bit或32 bit的左右聲道的數據,可以提高SCK的頻率,由上式可以計算出需要的SCK的頻率。

7. Master Clock

在I2S/PCM接口的ADC/DAC系統中,除了SCK和WS外,CODEC經常還需要控制器提供MCLK (Master Clock),這是由CODEC內部基於Delta-Sigma (ΔΣ)的架構設計要求使然。MCLK時鐘頻率一般為256*WS,具體參考特定器件手冊。圖10示意Nuvoton的NAU8822L CODEC內部PLL框圖,可以清晰地看出MCLK作用的區域。

技術分享圖片

圖10. CODEC內部PLL示意圖

PCM接口


1. PCM簡介

PCM (Pulse Code Modulation) 是通過等時間隔(即采樣率時鐘周期)采樣將模擬信號數字化的方法。圖11為4 bit 采樣深度的PCM數據量化示意圖。

技術分享圖片

圖11. 4-bit PCM的采樣量化

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

相比於I2S接口,PCM接口應用更加靈活。通過時分復用(TDM, Time Division Multiplexing)方式,PCM接口支持同時傳輸多達N個(N>8)聲道的數據,減少了管腳數目(實際上是減少I2S的“組”數,因為每組I2S只能傳輸兩聲道數據嘛)。TDM不像I2S有統一的標準,不同的IC廠商在應用TDM時可能略有差異,這些差異表現在時鐘的極性、聲道配置的觸發條件和對閑置聲道的處理等。

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

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

技術分享圖片

圖12. TDM系統框圖

2. 信號定義

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

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

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

技術分享圖片

表2. PCM vs I2S接口

3. 操作模式

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

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

技術分享圖片

圖13. TDM Mode A

技術分享圖片

圖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;

技術分享圖片

圖15. 長幀同步模式

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

c. 由於沒有統一標準,不同廠商對FSYNC脈沖寬度及觸發邊沿的設置可能不同,以器件手冊為準。

技術分享圖片

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

技術分享圖片

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

關於長短幀同步、MSB/LSB和量化深度的區別,對應的PCM時序模式,請參考附件CSR BC06工具:pcmconfigv2_1

通過這個工具很容易理解這些變量的含義。

4. 模式設置

通過寄存器或者管腳電平設置,可以配置CODEC的DAI工作在不同的操作模式。以AKM的24bit 4ch DAC AK4413為例,如表3所示,通過設置TDM[1:0]DIF[2:0]等5個寄存器的值,可以選擇其SDT1接口工作於20種不同模式,在Datasheet中詳細說明了每種模式的時序框圖。

技術分享圖片

表3. 數字音頻接口模式選擇

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

FSYNC的頻率等於音頻的采樣率(例如44.1 kHz,48 kHz等)。Frame每次傳輸包括所有聲道的數據。PCM采樣音頻數據量化深度一般在16-32bit(最常見為16/24bit)。那麽對於8聲道,每個聲道32bit音頻數據,采樣率48kHz的系統,TDM的系統時鐘速率為: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幀長的關系:

技術分享圖片

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

6. 數據格式

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

技術分享圖片

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

7. 協議分析

以R&S的音頻分析儀UPV Audio Analyzer為例,在其DAI協議分析面板,如圖19,可以選擇每幀包含的Slots數(No of Slots,對於I2S選2),Slot的長度,Lead Bits表示有效數據相對於Slot開始位置的OFFSET(比如,Slot Length = 32, Audio Leads = 8, 則表示每個Slot起始後的第9位為有效數據 )。如果選擇為左對齊方式(LSB),設備會自動修正Audio Leads值以得到正確的幅值測量結果。

技術分享圖片

圖19. DAI協議分析設置面板

PDM接口


PDM(Pulse Density Modulation)是一種用數字信號表示模擬信號的調制方法。同為將模擬量轉換為數字量的方法,PCM使用等間隔采樣方法,將每次采樣的模擬分量幅度表示為N位的數字分量(N = 量化深度),因此PCM方式每次采樣的結果都是N bit字長的數據。PDM則使用遠高於PCM采樣率的時鐘采樣調制模擬分量,只有1位輸出,要麽為0,要麽為1。因此通過PDM方式表示的數字音頻也被稱為Oversampled 1-bit Audio。相比PDM一連串的0和1,PCM的量化結果更為直觀簡單。

在以PDM方式作為模數轉換方法的應用接收端,需要用到抽取濾波器(Decimation Filter)將密密麻麻的0和1代表的密度分量轉換為幅值分量,而PCM方式得到的就已經是幅值相關的數字分量。圖20示意為通過PDM方式數字化的正弦波。

技術分享圖片

圖20. PDM方式表示的正弦波

PCM方式的邏輯更加簡單,但需要用到數據時鐘,采樣時鐘和數據信號三根信號線;PDM方式的邏輯相對復雜,但它只需要兩根信號線,即時鐘和數據。PDM在諸如手機和平板等對於空間限制嚴格的場合有著廣泛的應用前景。在數字麥克風領域,應用最廣的就是PDM接口,其次為I2S接口。PDM格式的音頻信號可以在比如LCD屏這樣Noise幹擾強的電路附近走線(等於沒說,這裏指數字信號抗幹擾能力相比於模擬信號更強,同樣PCM也具有此優勢)。

通過PDM接口方式,傳輸雙聲道數據只要用到兩根信號線。如圖21示意兩個PDM接口的發送設備與同一個接收設備的連接情況,比如Source 1/2分別作為左右聲道的麥克風,通過這種方式可以將采集到的雙聲道數據傳送到接收設備。主設備(此例中作為接收設備)為兩個從設備提供時鐘,分別在時鐘的上升沿和下降沿觸發選擇Source 1/2作為數據輸入。圖22為Maxim的Class-D類型功放MAX98358對PDM接口時序的要求,可以看到它在PDM_CLK的上升沿采樣左聲道數據,在PDM_CLK下降沿采樣右聲道數據。

技術分享圖片

圖21. PDM連接示意圖(2發送設備 + 1接收設備)

技術分享圖片

圖22. PDM時序框圖

基於PDM的架構不同於I2S和TDM之處在於,抽取濾波器(Decimation Filter)不在發送設備,而在接收設備內部。源端輸出是原始的高采樣率(oversample)調制數據,如Sigma-Delta調制器的輸出,而不是像I2S中那樣的抽取數據(An I2S output digital microphone includes the decimation filter, so its output is already at a standard audio sample rate that‘s easy to interface to and process.)。基於PDM接口的應用降低了發送設備的復雜性,由於作為接收設備的CODEC內部集成抽取濾波器,因此系統整體復雜度大大降低。對於數字麥克風而言,通過使用面向CODEC或處理器制造的更精細矽工藝,而非傳統麥克風使用的工藝,可以實現更高效率的抽取濾波器。

其它接口


S/PDIF: Sony/Philips Digital Interface Format

Intel HDA: Intel High Definition Audio

Ethernet AVB: Audio Video Bridging

免責聲明


筆者剛開始接觸音頻方面的設計,知識體系並不完善。求助於Google和Wiki,把相關的資料在這裏以筆者認為容易懂的方式組織,是為此文。當然,本文必然存在不足和失當之處,歡迎各位朋友賜教指正。文章內容作者可能隨時更新!

參考資料


1. I2S Bus Specification -Philips

2. Pulse Code Modulation -Wikipedia

3. Pulse Density Modulation -Wikipedia

4. MS-2275: Common Inter-IC Digital Interfaces for Audio Data Transfer -Analog

5. AN282: The 2-Channel Serial Audio Interface -Cirrus Logic

6. AN301: Time Division Multiplexed Audio Interface -Cirrus Logic

7. WM8778: 24-bit, 192kHz Stereo CODEC -Cirrus Logic

8. TLV320AIC31: Low-power Stereo Audio Codec For Portable Audio/Telephony -TI

9. ANA-123: Audio CODEC Application Note -Nuvoton

10. NAU85L40: Quad Audio ADC with Integrated FLL and Microphone Preamplifier -Nuvoton

11. AK4413: High Performance 120dB 24-Bit 4ch DAC -AKM

12. R&S?UPV User Manual -R&S

13. Understanding PDM Digital Audio -Audio Precision

14. Analog and Digital MEMS Microphone Design Considerations -Analog

15. MAX98358: PDM Input Class D Audio Power Amplifier -Maxim

數字音頻接口