新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 時鐘抖動的定義與測量方式

        時鐘抖動的定義與測量方式

        作者: 時間:2016-12-26 來源:網絡 收藏

        1簡介

        本文引用地址:http://www.104case.com/article/201612/334042.htm

        抖動是實際信號的一組邊沿與理想信號之間的偏差(兔子:說白了,抖動就是實際情況和理想情況不一樣,差別越大抖動越大)。時鐘信號的抖動通常由系統中的噪聲或其他干擾因素引起。影響因素包括熱噪聲、電源變化(波動)、負載的狀況(負載也可以反過來影響時鐘信號)、設備噪聲和臨近電路耦合進來的干擾。

        2抖動的分類

        抖動可以通過許多方式測量(不同方式測量到的抖動被分別加以定義),以下是主要的抖動分類:

        1. 周期抖動(Period Jitter)

        2. 相鄰周期間的抖動(Cycle to Cycle Period Jitter)

        3. 長時間抖動(Long Term Jitter)

        4. 相位抖動(Phase Jitter)

        5. 單位時間間隔抖動(TIE,Time Interval Error)

        2.1周期抖動

        周期抖動是時鐘信號的實際周期長度與理想周期長度之間的偏差,測量樣本為數目不定(隨機)的一組周期。如果給定一定數目的單個時鐘周期,我們就可以通過測量每個周期的長度并計算平均的周期長度,以及這些時鐘周期的標準差和峰峰值(peak-to-peak value)。這里所說的標準差和峰峰值也分別被稱為RMS抖動和Pk-Pk周期抖動。

        許多文獻將周期抖動直接定義為被測時鐘周期與理想周期之間的誤差。但是真實情況下很難對理想周期進行量化。如果我們用示波器觀察一個標稱100MHz的晶振,測得的平均時鐘周期卻可能是9.998ns,而不是理想的10ns。所以退而求其次,通常將平均周期作為理想周期看待(兔子:因為實際周期都是在理想值周圍按照一定規律分布的,如果測量時間足夠長,得到的平均值就可以非常接近理想值)。

        2.1.1周期抖動的應用

        周期抖動對于計算數字系統的時序裕量十分有用。假設在一個基于微處理器的系統中(上升沿采樣),處理器要求1ns的數據建立時間(即數據需要在時鐘上升沿1ns前保持穩定有效)。當時鐘的某個周期抖動為-1.5ns時,上升沿會出現在數據有效之前,如此處理器將會采集到錯誤的數據。如圖1所示:

        圖1時鐘抖動造成的數據建立錯誤

        類似的,如果另一個處理器需要2ns的數據保持時間,但是時鐘某一個周期的抖動是+1.5ns,那么實際有效的數據保持時間只有0.5ns,處理器也會采到錯誤的數據。如圖2:

        圖2時鐘抖動造成的數據保持錯誤

        2.1.2由RMS抖動計算Pk-Pk抖動

        由于時鐘的周期抖動是隨機的,并遵循高斯分布。因此周期抖動完全可以用統計學中的均方根(RMS ,Root Mean Square,別說不會算)來表示,單位為皮秒(ps)。但是呢,峰峰值卻和計算建立保持時間裕量有更大的聯系(峰峰值表示了最大誤差,超過建立保持時間要求,數據采樣就有可能出錯)。要將10000個時鐘周期的RMS抖動換算成Pk-Pk抖動,可遵循以下等式:

        Pk-Pk周期抖動=7.44 x RMS抖動 *等式1

        例如:若RMS抖動為3ps,則Pk-Pk周期抖動為7.44 x 3 = ±11.16ps。

        等式1其實是由高斯概率密度函數表(PDF ,Gaussian Probability Density Function)推導出來的。比如當樣本個數為100時,從統計學的平均情況來講,其中 99個會落在有效值周圍的±2.327σ范圍內,只有1個會落在該范圍之外。根據JEDEC標準的要求,某司測量RMS周期抖動時設定的樣本數為10000。

        樣本數

        σ

        10

        ±1.282

        100

        ±2.327

        1,000

        ±3.090

        10,000

        ±3.719

        100,000

        ±4.265

        1,000,000

        ±4.754

        10,000,000

        ±5.200

        100,000,000

        ±5.612

        1,000,000,000

        ±5.998

        10,000,000,000

        ±6.362

        100,000,000,000

        ±6.706

        1,000,000,000,000

        ±7.035

        表1高斯概率密度函數表(PDF)

        2.1.3周期抖動測量方式

        JEDEC Standard 65B中將周期抖動定義為某一隨機數量的時鐘周期與理想周期之間的偏差(由定義了一次,生怕大家忘了)。JEDEC標準進一步地指定了測周期抖動需要測量10000個信號周期(多一個少一個應該也無所謂吧)。某司推薦的測試步驟如下:

        1. 測量一個時鐘周期(一個上升沿到下一個上升沿之間)的長度,即一個樣本

        2. 等待隨機個時鐘周期

        3. 重復1、2兩步10000次

        4. 通過測到的10000個樣本,計算平均值,標準差(σ),和峰峰值

        5. 重復1-4步驟25次,通過這25組結果,計算平均峰峰值

        10000個隨機樣本計算出的標準差(σ),即均方根(RMS,也有人認為均方根和標準差并非等同)已經很精確了,RMS的誤差可以通過如下等式計算:

        *等式2

        等式中的σn為樣本的RMS,N為樣本數。

        例如:樣本數為10000,RMS誤差為0.0071 σn。這種誤差是隨機的,并且遵從高斯分布,通常用±3 x RMS誤差來計算最大測量誤差。

        又例如:如果從10000個樣本中計算出RMS為10ps,則RMS誤差為0.071ps,所有RMS值都會落在10 ± 0.213ps(RMS ± 3 x RMS誤差)的范圍內。在實際應用中,若只有10000樣本,RMS誤差可以忽略不計。

        Q: 為什么要用均方根來計算峰峰值?

        A:一定數量的隨機樣本就能夠精確計算出均方根,但是想要測量實際的峰峰值卻非常困難。由于周期抖動的隨機性,樣本數量越大則越有可能測量到落在高斯分布曲線遠端的樣本,換言之峰峰值隨采樣數量增加發散,而非收斂。

        Q:為什么需要步驟5(重復25次)?

        A:每測量10000個樣本,就可以算出一個標準差(均方根)和峰峰值。而隨機地重復該步驟25次,我們就可以計算很高精度的的平均峰峰值。這增加了峰峰值測量的一致性和可重復性。(兔子:就是說每次直接測250000個數據計算出的峰峰值一致性不好,這樣分開測就好啦?有待驗證……)

        圖3為某125MHz晶振的周期抖動直方圖,同時顯示了10000個樣本中測得的RMS和Pk-Pk抖動。

        圖3 10000個樣本的周期抖動直方圖

        2.2相鄰周期抖動

        JEDEC 65B標準將相鄰周期抖動(C2C,Cycle to cycle)定義為信號相鄰周期之間的時間長度變化,前提也是測量不定數量(隨機)的相鄰周期長度差,綜合后得到的結果。JEDEC標準也進一步指定了每個樣本集的樣本數應該大于或等于1000(就是采集1000對相鄰周期)。需要注意的是C2C抖動只關注兩個連續周期之間的周期長度變化,并不參考任何理想時鐘。

        C2C抖動一般用峰值表示,有時候也用均方根表示,單位是ps。該參數定義了一個時鐘信號的任意兩個連續周期間長度變化的最大值(以上升沿為標準)。此類抖動常被用于體現帶有擴頻(SSC,spread spectrum clock)特性時鐘的穩定性,原因是周期抖動對擴頻(頻率值會發生變化)很敏感,C2C抖動則不然。

        2.2.1相鄰周期抖動測量方式

        1. 測量某時鐘的兩個相鄰周期的長度:T1和T2

        2. 計算T1-T2,取絕對值

        3. 等待隨機個時鐘周期

        4. 重復1-3步驟1000次

        5. 計算標這1000個樣本的準差(σ)和峰值,峰值為|T1-T2|的最大值

        6. 重復1-5步驟25次,計算25個峰值的平均值

        與周期抖動的峰峰值類似,C2C抖動的峰值也是隨樣本數發散的。第6步用于獲取平均峰值(以增加測試結果的一致性和可重復性)。

        圖4為某時鐘C2C抖動的直方圖,這里抖動峰值為25.66ps(正負峰值21.22ps和-25.66ps中取最大值)。

        圖4 C2C抖動直方圖

        2.3長期抖動

        長期都懂用于測量一組連續時鐘周期中實際時鐘與理想四種的差異。實際需要測量多少個周期由應用場合決定。長期抖動與周期抖動、相鄰周期抖動不同,它表示一段長時間、連續的時鐘信號流中存在的抖動累積效應,因此長期抖動也被稱為累計抖動。長期抖動的典型應用為圖片及視頻顯示、遠程遙感勘測及測距儀。

        某司推薦的測量長期抖動方法如下(以10000個時鐘周期為例):

        1. 測量10000個周期的總時間長度,如圖5所示

        2. 等待隨機個時鐘周期

        3. 重復1-2步驟1000次

        4. 計算這1000個樣本的有效值、標準差和峰峰值

        5重復1-4步驟25次,取25次峰峰值的平均值

        圖5測量10000個時鐘周期的總時長

        同理,我們需要通過步驟5來克服峰峰值的無邊界分布特性。

        2.4相位抖動

        相位噪聲通常被描述為在不同頻率下的一組噪聲值(如-60 dBc/Hz @ 20KHz 和 -95 dBc/Hz @ 10MHz),或者表示為一段連續頻率范圍內的噪聲圖。相位抖動則是一段特定頻譜中相位噪聲綜合的結果,其單位是秒。

        對于方波而言,其主要能量集中在載波頻率上,但一些能量仍會在載波頻率兩側的一定頻率范圍內“泄露”(leaked-out)出去。相位抖動就是與載波頻率fc相關的兩個指定頻率之間的相位噪聲能量總和。圖6是一個未經濾波的相噪圖,陰影區域即表示f1至f2頻率之間的相位抖動。

        圖6相噪圖

        頻率f1與f2之間的RMS相位抖動可以用等式3表示:

        *等式3

        其中表示fc一側f1-f2之間的噪聲功率。在通信領域中,通信接口的發送端 PLL和接收端 PLL存在帶通濾波效,因此在實際情況下我們需要根據濾波器的特性計算濾波后的RMS相位抖動。以下為常見通信接口對應帶通濾波器的帶寬(拐點頻率),這些帶寬是綜合了發送和接收端PLL特性得到的結果:

        1. 光纖接口: 637 KHz ~ 10 MHz

        2. 10GE XAUI接口:1.875 MHz ~ 20 MHz

        3. SATA/SAS接口: 900 KHz ~ 7.5 MHz

        假設濾波器函數為H(f),則濾波后的RMS相位抖動可以用等式4計算:

        *等式4

        3單位時間間隔誤差

        單位時間間隔誤差(TIE,Time Interval Error)是指在擁有參考點(兔子:用于參考的時鐘邊沿,在該點實際時鐘與理想時鐘邊沿對齊)的情況下,信號的某個實際邊沿與理想邊沿間的時間差。事實上,TIE是相位噪聲在離散時間域上的表現,單位為秒或皮秒。圖7形象地描述了TIE的基本概念。理想信號通常是由軟件對被測信號的周期進行平均估計得到的。

        圖7測量單個信號邊沿的TIE

        3.1繪制時域TIE圖

        圖8的最上面一行是一組時鐘的的波形,紅色表示周期為1000ps的理想時鐘,黑色表示帶有抖動的實際時鐘。為了方便表示,只畫出了時鐘的上升沿。在時鐘序列的開始,理想邊沿與實際邊沿重合(以此作為參考點),之后由于抖動,黑色的實際時鐘邊沿開始隨著時間漂移,時而領先時而落后于紅色的理想時鐘。

        圖中的Clock Period曲線表示所測得黑色時鐘的各個周期長度。本例中黑色時鐘不是990ps就是1010ps(為了方便理解,理想化了,和第一行也不太對的上,湊合看吧)。

        Period Change曲線則描述了每個時鐘周期與前一個周期的變化量。如果黑色時鐘的兩個相鄰周期長度相同,那么Period Change曲線就會保持平坦,反之就會發生變化。例如:……(兔子就不舉例了都能看懂)總而言之該曲線描繪了時鐘周期的變化。

        TIE曲線則記錄了理想邊沿和實際邊沿之間的累計誤差。此一例中,TIE曲線開始時向下增長,這是由于最初的四個時鐘周期里每個實際周期都比理想周期長度要少10ps。在累積了-40ps的抖動誤差后,曲線從第5個周期開始向上增長,這也是由于第5個時鐘的實際周期比理想周期多10ps。

        TIE測量在檢驗數據流(通常是串行通信接口)的特性時非常有用,這些傳輸接口的時鐘通常由時鐘數據恢復(CDR,Clock/Data Recovery )電路從數據信號中恢復出來。比如較大的TIE值可能就說明了CDR中PLL的響應速度太慢了跟不上數據流的數據變化速率。

        圖8 TIE圖

        4采用實時示波器測量抖動

        4.1示波器設置指導

        測量時鐘抖動最通用的設備當屬實時數字示波器,本章將為大家介紹如果設置示波器以達到更高的測量精度。

        數字示波器采用內部時間基準來定期采樣輸入的數據,其采樣率可由1Gsps到40Gsps不等。圖9列舉了數字示波器采樣和顯示信號的方式。圖底部的箭頭表示采樣點,實線是實際的信號,黑點為采樣得到的數據,而示波器顯示出的圖像(虛線)為根據采樣數據經過優化得到的曲線。

        也許你會發現采樣值與實際信號并不一致,這是因為示波器量化的過程中存在誤差。大多數誤差是因為示波器為了在設計性能和成本之間尋求平衡而帶來的固有誤差,但我們通過適當的設置可以緩解為了省錢帶來的精確度問題。下面我們就就來探討一下造成這些誤差的主要原因以及如果通過設置來降低他們對抖動測量的影響。

        圖9數字示波器的采樣及顯示

        4.1.1前端放大器誤差

        數字示波器的輸入信號要經過模擬放大器才能被ADC數字化,而放大器產生的噪聲與示波器輸入帶寬成正比:帶寬越寬,噪聲越大(兔子:這也是測電源紋波的時候要限制帶寬的原因)。但是一位地減小帶寬會影響示波器對信號上升和下降時間的采樣,也會引入很大的誤差。

        這里有一個通用的描述信號邊沿上升/下降時間和貸款關系的等式:

        *等式5

        其中上升時間或下降時間測量位置為信號邊沿電平的20%~80%之間。某司推薦將示波器帶寬設置為信號帶寬的3倍(另有某司出面認為3倍不足以還原信號邊沿的細節,至少應為5倍),另外在一些示波器中,帶寬只能隨著最高采樣率的設置改變,甚至有的示波器帶寬完全不能設置。

        4.1.2垂直增益引起的量化噪聲

        量化誤差是指采樣值與采樣點實際信號值之間的差別,這種誤差如圖9所示。引起這種誤差的一部分因素來自于為調整示波器Y軸顯示而設置的垂直增益。如果垂直增益過小,示波器可能無法有效利用內部ADC的完整分辨率(很多示波器只有8位的AD)。

        某司推薦調整示波器垂直增益直至波形撐滿屏幕Y軸。某些示波器中甚至可以將波形調至略微超出Y軸顯示范圍,從而使用ADC的額外bit位。不過這一特性取決于你使用的示波器,具體可以咨詢廠家。

        4.1.3低采樣率引起的量化噪聲

        還有一部分量化噪聲是由于示波器橫軸方向采樣點數不足造成的。某司推薦在信號上升/下降沿的20%~80%電平間至少有3個采樣點,由此可以推出示波器設置的最低采樣率要求。例如,如果信號上升時間1ns并且需要在這段時間里保證4個采樣點,那么示波器至少要設置4Gsps的采樣率。如果你的示波器性能高于這個標準,那么就越大越好啦,設置成最高采樣率(實際上除了限制帶寬以外,大部分的示波器軟件都能根據實際信號自動調節到最佳的橫軸和縱軸)。

        4.1.4時間基準抖動

        數字示波器采樣點的選擇源于內部時間基準。作為一個時鐘源,時間基準自身存在抖動,并且會增加測量信號抖動時的誤差。一般來說,時基抖動應該小于被測信號抖動期望值的25%,從而達到優于3%的準確度。某司推薦使用你實驗室里最好的示波器來進行抖動測量,因為更高端的設備往往擁有更好(更低抖動)的時基電路(好一通廢話啊哈哈)。

        4.2使用實時示波器測量抖動的步驟

        (本節內容基本與2.1-2.3節所述雷同,故不做翻譯)

        4.2.1測量周期抖動

        4.2.2測量相鄰周期抖動

        4.2.3測量長期抖動

        5結論

        本文著成之初有兩個目的:其一,向讀者描述今日之高速系統中所能遇見的一般抖動類型;其二,提供借由實時示波器來捕獲不同種類抖動的方法步驟。兔子翻譯此文之目的 已于文前盡言,不復贅述。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 张家川| 齐齐哈尔市| 房产| 昭平县| 海口市| 文安县| 阿荣旗| 治县。| 浑源县| 阜宁县| 襄汾县| 垦利县| 中山市| 天峨县| 平昌县| 临猗县| 临江市| 东台市| 江北区| 当阳市| 杭州市| 偃师市| 玉龙| 久治县| 安顺市| 罗定市| 崇礼县| 原阳县| 讷河市| 塔城市| 马边| 东方市| 武乡县| 聂拉木县| 威海市| 攀枝花市| 荆州市| 比如县| 收藏| 象山县| 电白县|