《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 誰是音頻時鐘的“老板”?
誰是音頻時鐘的“老板”?
摘要: 過去,,我們在討論音頻話題時,,偶爾會提及 I2S,。我在以前的一些文章中提到過 I2S,,其他人在做音頻研究時也都會提到它,。簡而言之,它是一種將立體聲數(shù)據(jù)從一端傳輸至另一端的同步方法,。
Abstract:
Key words :

 

過去,,我們在討論音頻話題時,偶爾會提及 I2S,。我在以前的一些文章中提到過 I2S,,其他人在做音頻研究時也都會提到它。簡而言之,,它是一種將立體聲數(shù)據(jù)從一端傳輸至另一端的同步方法,。

  大多數(shù)人認為 I2S 有三種信號:

  1.數(shù)據(jù):輸入或者輸出數(shù)據(jù)

  2.位時鐘 (Bitclock,BCK):確立數(shù)據(jù)流中兩個相鄰位之間邊界的信號

  3.左/右時鐘 (LRCK)/字時鐘 (Wordclock):一個在采樣速率下運行,、占空比為 50% 的慢時鐘,,它確立數(shù)據(jù)流中兩條相鄰通道(左和右)之間的邊界。

  I2S的幕后英雄是主時鐘 (MCK),,也稱作系統(tǒng)時鐘 (SCK),,它常常被數(shù)字信號處理器 (DSP) 程序員和其他處理器愛好者們忽略。主時鐘 (MCK/SCK),,通常為一個64,、128、256和512倍采樣速率 (FS) 的時鐘,。它可以由一個輸入引腳直接提供,,也可以通過一個鎖相環(huán)路 (PLL) 在某些器件內部產生。

  一般而言,,DSP不需要音頻主時鐘,,因為它們能夠以一種完全不同的速率對數(shù)據(jù)進行處理,然后在BCK和LRCK的驅動下,,讓數(shù)據(jù)以某種速率進入輸出緩沖器(或者通過輸入緩沖器接收數(shù)據(jù)),。

  如果您能暫時將注意力從您的處理器上移開,您會發(fā)現(xiàn)音頻主時鐘重要得多,。大多數(shù)MCK/SCK輸入的音頻轉換器,,都要求時鐘同步,而有一些則允許異相位,。這就意味著,,它們需要由相同的高速時鐘來提供,然后被除小,。我接觸過的一些客戶會突發(fā)靈感地告訴我:“我的ADC需要一個MCK,,但它離我的DAC太遠。因此,我要在每個轉換器旁邊放置一個晶體……”有這種想法可以理解,,但請您“千萬別這么做!”

  您在購買晶體時,,無法保證它剛好為48.000 kHz。您的模數(shù)轉換器 (ADC) 晶體的運行精確度可能會為+5%,,而數(shù)模轉換器 (DAC) 的運行精確度可能為–5%,。這樣的精確度,會給您的設計帶來災難性的后果!這是為什么呢,,下面將為您娓娓道來,。

  用于 I2S

  用于音頻ADC的主時鐘

  如圖1所示,高速主時鐘(例如:24.576 MHz時鐘)用于驅動ADC的過采樣調制器,。之后,,來自過采樣調制器的數(shù)據(jù)被消減分解成LRCK給定的采樣速率。

  當ADC運行在主模式(生成BCK和LRCK,,作為輸出)下時,,ADC只是對MCK/SCK進行劃分,產生LRCK和 CK信號,。這就對啦!LRCK/BCK和主時鐘被同步—相位也可能同步(除非它是一個特殊分割器),。

  

通用ADC結構圖

 

  圖1 通用ADC結構圖

  如果作為一個從器件,并且主時鐘不同步,,則它產生的數(shù)據(jù)會過多或者過少,,以至于數(shù)字抽取器無法剛好適合于輸出字。在這種條件下,,許多ADC會拒絕流傳輸數(shù)據(jù),。

  DAC也是如此。圖2顯示了一個高級DAC結構圖,。此處,,需要通過MCK/SCK運行內插器,而MCK/SCK同時還驅動△∑調制器,。如果MCK/SCK不是采樣速率的整倍數(shù) (64/128/256/512),,則在△∑調制器輸出端可能會出現(xiàn)錯誤數(shù)據(jù)。

  

 

  圖2 通用DAC結構圖

  我在哪里/如何生成MCK/SCK呢?

  在當今的工業(yè)應用中,,CMOS振蕩器由許多晶體振蕩器支持,,并緊靠這些晶體振蕩器。它們都擁有非常好的精確度和較低的抖動,。偶爾會用到壓控振蕩器 (VCO),,但它們會受到其輸出抖動的困擾。

  許多現(xiàn)代的音頻轉換器現(xiàn)在都集成了一個PLL,,以通過慢BCK產生MCK,。這樣做很有效,。但是,您應該注意,,使用PLL時始終都會有產生抖動的可能,,從而降低了音頻性能,。

  另外,,我建議,如果在晶體源驅動ADC或是DAC兩者之間選擇,,請您選擇通過一個晶體產生源來運行ADC,。如果輸入很糟糕,那么您做什么都于事無補!(就像您不可能把爛泥打磨光亮!)

  因此,,我的建議遵循的原則是:

  1,、如果轉換器為一個I2S從器件,則您必須通過相同源(如果轉換器帶有,,則可以依靠內部 PLL),,提供所有三個I2S時鐘(MCK、BCK和LRCK),。

  2,、如果轉換器為一個I2S主器件,則請確定能夠提供一個可靠的無抖動MCK源,。然后,,讓轉換器自己分配。在可能的情況下,,讓ADC通過一個可靠的低抖動MCK源在主模式下運行,。這樣做可以確保最低抖動和最小高頻失真。

此內容為AET網(wǎng)站原創(chuàng),,未經授權禁止轉載,。