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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 高速模數(shù)轉換器中的抖動和SNR詳解

          高速模數(shù)轉換器中的抖動和SNR詳解

          作者: 時間:2011-09-15 來源:網(wǎng)絡 收藏
           您在使用一個 (ADC) 時,總是期望性能能夠達到產(chǎn)品說明書載明的信噪比 (SNR) 值,這是很正常的事情。您在測試 ADC 的 SNR 時,您可能會連接一個低抖動時鐘器件到轉換器的時鐘輸入引腳,并施加一個適度低噪的輸入信號。如果您并未從您的轉換器獲得 SNR 產(chǎn)品說明書標稱性能,則說明存在一些噪聲誤差源。如果您確信您擁有低噪聲輸入信號和一種較好的布局,則您的輸入信號頻率以及來自您時鐘器件抖動的組合可能就是問題所在。您會發(fā)現(xiàn)“低抖動”時鐘器件適合于大多數(shù) ADC 應用。但是,如果 ADC 的輸入頻率信號和轉換器的 SNR 較高,則您可能就需要改善您的時鐘電路

            低抖動時鐘器件充其量有宣稱的 1 微微秒抖動規(guī)范,或者您也可以從一個 FPGA生成同樣較差的時鐘信號。這會使得高速 ADC 產(chǎn)生 SNR 誤差問題包括 ADC 量化噪聲、差分非線性 (DNL) 效應、有效轉換器內(nèi)部輸入噪聲和抖動。利用方程式 1 中的公式,您可以確定抖動是否有問題,公式給出了外部時鐘和純 ADC 抖動產(chǎn)生的 ADC SNR 誤差。


          方程式 1

            在該方程式中,fIN 為轉換器的輸入信號頻率。另外,tJITTER-TOTAL 為時鐘信號和ADC時鐘輸入電路的 rms 抖動。請注意,fIN 并非時鐘頻率 (fCLK)。外部時鐘器件到 ADC 的 1 微微秒抖動適合于一些而不是所有高速 ADC 應用,如圖 1 所示。


          圖 1 抖動產(chǎn)生的 SNR 為輸入信號的函數(shù)

            方程式 1 讓您能夠計算出特定 ADC 的要求時鐘抖動估計值。例如,一個 70 dB SNR 的 ADC,輸入信號為 100 MHz,您可以計算得到 tJITTER_TOTAL 的值為 503 微微秒。如果輸入 ADC 孔徑抖動為 150 微微秒,則由方程式 2 可得到一個較高的外部時鐘抖動要求估計值。


          方程式 2

            在方程式 2 中,tJITTER-CLK 為注入 ADC 時鐘的抖動,而 tJITTER-ADC 為 ADC 的孔徑抖動、時鐘振幅和斜率。繼續(xù)我們的估算,我們讓 tJITTER-ADC 只與 ADC 的 150 微微秒內(nèi)部抖動相等,并忽略時鐘振幅和斜率的影響。利用方程式 2,tJITTER-CLK 的高估值為 480 微微秒。

            在本文中,我們只初步研究了改善高速 ADC 時鐘信號背后存在的一些問題。我們需要更多地關注時鐘振幅和斜率,因為它們影響系統(tǒng)抖動。另外,我們還需要知道如何實施低抖動時鐘電路的硬件部分。

            在本文介紹的第二種時鐘設計之中,您需要認真關注幾件事情。時鐘抖動在 ADC 輸入頻率和實際時鐘抖動方面影響 ADC 的 SNR 性能。另外,不要總是相信時鐘器件廠商!在您轉向產(chǎn)品以前,請使用 ADC 廠商提供的評估板來測試您的時鐘源。您會對最終結果更為欣喜。




          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();