1簡介
抖動是實(shí)際信號的一組邊沿與理想信號之間的偏差(兔子:說白了,抖動就是實(shí)際情況和理想情況不一樣,差別越大抖動越大)。時鐘信號的抖動通常由系統(tǒng)中的噪聲或其他干擾因素引起。影響因素包括熱噪聲、電源變化(波動)、負(fù)載的狀況(負(fù)載也可以反過來影響時鐘信號)、設(shè)備噪聲和臨近電路耦合進(jìn)來的干擾。
2抖動的分類
抖動可以通過許多方式測量(不同方式測量到的抖動被分別加以定義),以下是主要的抖動分類:
1. 周期抖動(Period Jitter)
2. 相鄰周期間的抖動(Cycle to Cycle Period Jitter)
3. 長時間抖動(Long Term Jitter)
4. 相位抖動(Phase Jitter)
5. 單位時間間隔抖動(TIE,Time Interval Error)
2.1周期抖動
周期抖動是時鐘信號的實(shí)際周期長度與理想周期長度之間的偏差,測量樣本為數(shù)目不定(隨機(jī))的一組周期。如果給定一定數(shù)目的單個時鐘周期,我們就可以通過測量每個周期的長度并計(jì)算平均的周期長度,以及這些時鐘周期的標(biāo)準(zhǔn)差和峰峰值(peak-to-peak value)。這里所說的標(biāo)準(zhǔn)差和峰峰值也分別被稱為RMS抖動和Pk-Pk周期抖動。
許多文獻(xiàn)將周期抖動直接定義為被測時鐘周期與理想周期之間的誤差。但是真實(shí)情況下很難對理想周期進(jìn)行量化。如果我們用示波器觀察一個標(biāo)稱100MHz的晶振,測得的平均時鐘周期卻可能是9.998ns,而不是理想的10ns。所以退而求其次,通常將平均周期作為理想周期看待(兔子:因?yàn)閷?shí)際周期都是在理想值周圍按照一定規(guī)律分布的,如果測量時間足夠長,得到的平均值就可以非常接近理想值)。
2.1.1周期抖動的應(yīng)用
周期抖動對于計(jì)算數(shù)字系統(tǒng)的時序裕量十分有用。假設(shè)在一個基于微處理器的系統(tǒng)中(上升沿采樣),處理器要求1ns的數(shù)據(jù)建立時間(即數(shù)據(jù)需要在時鐘上升沿1ns前保持穩(wěn)定有效)。當(dāng)時鐘的某個周期抖動為-1.5ns時,上升沿會出現(xiàn)在數(shù)據(jù)有效之前,如此處理器將會采集到錯誤的數(shù)據(jù)。如圖1所示:
圖1時鐘抖動造成的數(shù)據(jù)建立錯誤
類似的,如果另一個處理器需要2ns的數(shù)據(jù)保持時間,但是時鐘某一個周期的抖動是+1.5ns,那么實(shí)際有效的數(shù)據(jù)保持時間只有0.5ns,處理器也會采到錯誤的數(shù)據(jù)。如圖2:
圖2時鐘抖動造成的數(shù)據(jù)保持錯誤
2.1.2由RMS抖動計(jì)算Pk-Pk抖動
由于時鐘的周期抖動是隨機(jī)的,并遵循高斯分布。因此周期抖動完全可以用統(tǒng)計(jì)學(xué)中的均方根(RMS ,Root Mean Square,別說不會算)來表示,單位為皮秒(ps)。但是呢,峰峰值卻和計(jì)算建立保持時間裕量有更大的聯(lián)系(峰峰值表示了最大誤差,超過建立保持時間要求,數(shù)據(jù)采樣就有可能出錯)。要將10000個時鐘周期的RMS抖動換算成Pk-Pk抖動,可遵循以下等式:
Pk-Pk周期抖動=7.44 x RMS抖動 *等式1
例如:若RMS抖動為3ps,則Pk-Pk周期抖動為7.44 x 3 = ±11.16ps。
等式1其實(shí)是由高斯概率密度函數(shù)表(PDF ,Gaussian Probability Density Function)推導(dǎo)出來的。比如當(dāng)樣本個數(shù)為100時,從統(tǒng)計(jì)學(xué)的平均情況來講,其中 99個會落在有效值周圍的±2.327σ范圍內(nèi),只有1個會落在該范圍之外。根據(jù)JEDEC標(biāo)準(zhǔn)的要求,某司測量RMS周期抖動時設(shè)定的樣本數(shù)為10000。
樣本數(shù)
σ
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高斯概率密度函數(shù)表(PDF)
2.1.3周期抖動測量方式
JEDEC Standard 65B中將周期抖動定義為某一隨機(jī)數(shù)量的時鐘周期與理想周期之間的偏差(由定義了一次,生怕大家忘了)。JEDEC標(biāo)準(zhǔn)進(jìn)一步地指定了測周期抖動需要測量10000個信號周期(多一個少一個應(yīng)該也無所謂吧)。某司推薦的測試步驟如下:
1. 測量一個時鐘周期(一個上升沿到下一個上升沿之間)的長度,即一個樣本
2. 等待隨機(jī)個時鐘周期
3. 重復(fù)1、2兩步10000次
4. 通過測到的10000個樣本,計(jì)算平均值,標(biāo)準(zhǔn)差(σ),和峰峰值
5. 重復(fù)1-4步驟25次,通過這25組結(jié)果,計(jì)算平均峰峰值
10000個隨機(jī)樣本計(jì)算出的標(biāo)準(zhǔn)差(σ),即均方根(RMS,也有人認(rèn)為均方根和標(biāo)準(zhǔn)差并非等同)已經(jīng)很精確了,RMS的誤差可以通過如下等式計(jì)算:
*等式2
等式中的σn為樣本的RMS,N為樣本數(shù)。
例如:樣本數(shù)為10000,RMS誤差為0.0071 σn。這種誤差是隨機(jī)的,并且遵從高斯分布,通常用±3 x RMS誤差來計(jì)算最大測量誤差。
又例如:如果從10000個樣本中計(jì)算出RMS為10ps,則RMS誤差為0.071ps,所有RMS值都會落在10 ± 0.213ps(RMS ± 3 x RMS誤差)的范圍內(nèi)。在實(shí)際應(yīng)用中,若只有10000樣本,RMS誤差可以忽略不計(jì)。
Q: 為什么要用均方根來計(jì)算峰峰值?
A:一定數(shù)量的隨機(jī)樣本就能夠精確計(jì)算出均方根,但是想要測量實(shí)際的峰峰值卻非常困難。由于周期抖動的隨機(jī)性,樣本數(shù)量越大則越有可能測量到落在高斯分布曲線遠(yuǎn)端的樣本,換言之峰峰值隨采樣數(shù)量增加發(fā)散,而非收斂。
Q:為什么需要步驟5(重復(fù)25次)?
A:每測量10000個樣本,就可以算出一個標(biāo)準(zhǔn)差(均方根)和峰峰值。而隨機(jī)地重復(fù)該步驟25次,我們就可以計(jì)算很高精度的的平均峰峰值。這增加了峰峰值測量的一致性和可重復(fù)性。(兔子:就是說每次直接測250000個數(shù)據(jù)計(jì)算出的峰峰值一致性不好,這樣分開測就好啦?有待驗(yàn)證……)
圖3為某125MHz晶振的周期抖動直方圖,同時顯示了10000個樣本中測得的RMS和Pk-Pk抖動。
圖3 10000個樣本的周期抖動直方圖
2.2相鄰周期抖動
JEDEC 65B標(biāo)準(zhǔn)將相鄰周期抖動(C2C,Cycle to cycle)定義為信號相鄰周期之間的時間長度變化,前提也是測量不定數(shù)量(隨機(jī))的相鄰周期長度差,綜合后得到的結(jié)果。JEDEC標(biāo)準(zhǔn)也進(jìn)一步指定了每個樣本集的樣本數(shù)應(yīng)該大于或等于1000(就是采集1000對相鄰周期)。需要注意的是C2C抖動只關(guān)注兩個連續(xù)周期之間的周期長度變化,并不參考任何理想時鐘。
C2C抖動一般用峰值表示,有時候也用均方根表示,單位是ps。該參數(shù)定義了一個時鐘信號的任意兩個連續(xù)周期間長度變化的最大值(以上升沿為標(biāo)準(zhǔn))。此類抖動常被用于體現(xiàn)帶有擴(kuò)頻(SSC,spread spectrum clock)特性時鐘的穩(wěn)定性,原因是周期抖動對擴(kuò)頻(頻率值會發(fā)生變化)很敏感,C2C抖動則不然。
2.2.1相鄰周期抖動測量方式
1. 測量某時鐘的兩個相鄰周期的長度:T1和T2
2. 計(jì)算T1-T2,取絕對值
3. 等待隨機(jī)個時鐘周期
4. 重復(fù)1-3步驟1000次
5. 計(jì)算標(biāo)這1000個樣本的準(zhǔn)差(σ)和峰值,峰值為|T1-T2|的最大值
6. 重復(fù)1-5步驟25次,計(jì)算25個峰值的平均值
與周期抖動的峰峰值類似,C2C抖動的峰值也是隨樣本數(shù)發(fā)散的。第6步用于獲取平均峰值(以增加測試結(jié)果的一致性和可重復(fù)性)。
圖4為某時鐘C2C抖動的直方圖,這里抖動峰值為25.66ps(正負(fù)峰值21.22ps和-25.66ps中取最大值)。
圖4 C2C抖動直方圖
2.3長期抖動
長期都懂用于測量一組連續(xù)時鐘周期中實(shí)際時鐘與理想四種的差異。實(shí)際需要測量多少個周期由應(yīng)用場合決定。長期抖動與周期抖動、相鄰周期抖動不同,它表示一段長時間、連續(xù)的時鐘信號流中存在的抖動累積效應(yīng),因此長期抖動也被稱為累計(jì)抖動。長期抖動的典型應(yīng)用為圖片及視頻顯示、遠(yuǎn)程遙感勘測及測距儀。
某司推薦的測量長期抖動方法如下(以10000個時鐘周期為例):
1. 測量10000個周期的總時間長度,如圖5所示
2. 等待隨機(jī)個時鐘周期
3. 重復(fù)1-2步驟1000次
4. 計(jì)算這1000個樣本的有效值、標(biāo)準(zhǔn)差和峰峰值
5重復(fù)1-4步驟25次,取25次峰峰值的平均值
圖5測量10000個時鐘周期的總時長
同理,我們需要通過步驟5來克服峰峰值的無邊界分布特性。