<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 誰是音頻時(shí)鐘的“老板”,誰是主,誰又是從呢?

          誰是音頻時(shí)鐘的“老板”,誰是主,誰又是從呢?

          作者: 時(shí)間:2011-12-20 來源:網(wǎng)絡(luò) 收藏

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

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

          1.jpg

          圖 2 通用 DAC 結(jié)構(gòu)圖

          我在哪里/如何生成 MCK/SCK 呢?
          在當(dāng)今的工業(yè)應(yīng)用中,CMOS 振蕩器由許多晶體振蕩器支持,并緊靠這些晶體振蕩器。它們都擁有非常好的精確度和較低的抖動(dòng)。偶爾會(huì)用到壓控振蕩器 (VCO),但它們會(huì)受到其輸出抖動(dòng)的困擾。

          許多現(xiàn)代的轉(zhuǎn)換器現(xiàn)在都集成了一個(gè) PLL,以通過慢 BCK 產(chǎn)生 MCK。這樣做很有效。但是,您應(yīng)該注意,使用 PLL 時(shí)始終都會(huì)有產(chǎn)生抖動(dòng)的可能,從而降低了性能。

          另外,我建議,如果在晶體源驅(qū)動(dòng) ADC 或是 DAC 兩者之間選擇,請(qǐng)您選擇通過一個(gè)晶體產(chǎn)生源來運(yùn)行 ADC。如果輸入很糟糕,那么您做什么都于事無補(bǔ)?。ň拖衲豢赡馨褷€泥打磨光亮?。?p>因此,我的建議遵循的原則是:
          1、如果轉(zhuǎn)換器為一個(gè) I2S 從器件,則您必須通過相同源(如果轉(zhuǎn)換器帶有,則可以依靠?jī)?nèi)部 PLL),提供所有三個(gè) I2S (MCK、BCK 和 LRCK)。
          2、如果轉(zhuǎn)換器為一個(gè) I2S 主器件,則請(qǐng)確定能夠提供一個(gè)可靠的無抖動(dòng) MCK源。然后,讓轉(zhuǎn)換器自己分配。在可能的情況下,讓 ADC 通過一個(gè)可靠的低抖動(dòng) MCK 源在主模式下運(yùn)行。這樣做可以確保最低抖動(dòng)和最小高頻失真。

          建議參閱資料:
          •《關(guān)于抖動(dòng)》,作者:Dan Lavry,Lavry 工程公司,版權(quán)所有 1997。


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: 是從 老板 時(shí)鐘 音頻

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();