這是一項完成的技術設計,單獨的實驗平台測試已能展示完整的效能結果,而研究團隊也因此贏得信任,大家也都認為最困難的部分已經結束了...
這是一項完成的技術設計,單獨的實驗平台測試已能展示完整的效能結果,而研究團隊也因此贏得信任,大家也都認為最困難的部分已經結束了,至於最終整合個別系統區塊的工作還正在進行中。可靠度高的線性實驗電源供應器很快就會被高效能交換式的單元所取代。低成本的時脈解決方案現在也取代了實驗所用的參考時脈。
一開始雖然在個別電路的測試顯示出相當好的結果,但有問題的邏輯設計造成的系統錯誤卻一直存在於系統之中。於是我們先嘗試著將電路板插到背板 (backplane)上再拔掉,接著便發現只有某些插槽的接合能運作。這只是單純的邏輯設計問題嗎?系統電源供應器上的負載表現穩定嗎?相鄰的電路板之間是否會有問題產生?時脈抖動(jitter)是否已接近時序上的容許範圍?這些問題都很難回答,但在產品設計的時程中,我們大部分的人都必須再三面臨這些問題。在幾乎束手無策之時,我們找來了一個擁有多年除錯經驗的菁英團隊SWAT幫我們解決問題。SWAT團隊開始對實驗進行瞭解並問了許多問題,而每個人心中最想知道的答案,不外乎是這個基本的問題:「實驗平台與系統的設定上有什麼不同」。
當我們處理複雜的問題時,常常要回到之前的步驟重新分析,而重新思考每個子系統之間的依存關係亦常常會讓我們有意想不到的結果。有這樣的想法是因為某些東西在某種狀況下能運作,但並不保證它也能在其他狀況下順利運作。當系統間相互關連發生問題時,通常時脈是最先被檢查的。要查出因為時脈造成系統問題雖然容易,但要了解它的根本原因到底是什麼卻不容易?問題是在時脈本身還是因為周遭環境對時脈造成的影響?儘管在這裡不太可能回答系統太細節的規格,但本文依然能檢視在受干擾的時脈參考來源中減少時脈抖動的方法。這並不只是另一個將時脈抖動衰減到最小的嘗試,相反的,這裡主要提出在何處可以造成「顯著」的衰減。本文所提的大部分是時脈架構(即廣為人知的FailSafeTM)之中令人驚異的衍生結果。在時脈備用系統中,當原本的時脈參考訊號不見時, FailSafeTM會切換至備用的時脈源,扮演起維持時脈訊號存在的角色。實驗分析結果顯示FailSafe的架構要能很自然地使用在更多的應用上,以解決一些嚴重的時脈條件問題。當然,系統要維持同步的動作是必要的,而FailSafe就能勝任這份工作。
時脈抖動的意義代表了許多不同的內涵,而對於時脈抖動的要求也是來自於系統本身的限制。本文的目的在於凸顯3個主要的量測條件,包括相鄰時脈抖動 (cycle-to-cycle),有時也稱為特定週期內時脈抖動,即period jitter,還有在1μs與10μs的週期之間的累積時脈抖動(accumulated jitter)。時脈抖動資訊的累積統計便可表示成隨機時脈抖動(Random Jitter, RJ),以及特定時脈抖動(Deterministic Jitter, DJ),而這些統計通常會以長條圖表示。
儘管時脈抖動是來自於系統中的元件不可避免產生的高斯雜訊(Gaussian noise),特定時脈抖動的存在,強烈地暗示了調變的訊號能量可能灌輸到時脈系統中。從長條圖來看,DJ主要為佔據中央區域的部分,這會造成長條圖左右兩側的展開如自然的高斯響應。圖1所顯示的就是這個現象。由於數位系統是資訊量「有限」的系統,這表示系統不會有調幅的資訊出現,也就是說在適當的時機接收到的不是0就是1,收集與分析訊號邊緣(edge)的資訊就是進行分析的起點。由於長條圖就是在收集邊緣的統計,而好的量測需要收集大量的資訊取樣,為的就是得到最大準確度所需的+/- 6-sigma的統計資料結果。
在系統中,雜訊能量的影響似乎較容易找到進入時脈源的路徑,最可能的方式就是經由傳導或電磁輻射效應造成干擾。儘管大部分的工程師所受到的訓練是利用電容旁通(capacitive bypass)的方式解決傳導雜訊,但電磁輻射而來的雜訊通常更難抓到來源加以改善。串音(cross talk)也會發生,畢竟在受干擾的時脈路線的大小,一般來說都足夠吸收電磁輻射的能量。其他因素則是來自於磁力感應的能量耦合。甚至常常可以發現我們所追蹤的時脈竟會隨著交換式電源的交換速率而調整改變。
好的時脈線路大小設計能有效處理吸收輻射能量的問題,但就如同Law of Reciprocity,越容易吸收輻射能量的時脈電路也就等於越容易將能量輻射出去,這在電磁干擾(EMI)的測試中並不受歡迎。近來時脈訊號的分佈在設計上變得越來越區域化,這樣的好現象得歸功於零延遲緩衝元件(ZDB)的普遍使用。除了提供時脈緩衝的機制外,ZDB也能提供零延遲甚至負延遲的功能,以解決時脈訊號經由鎖相迴路(PLL)傳播時可能的延遲問題。ZDB雖然可能具有某些時脈抖動衰減,但一般來說,ZDB並不提供時脈抖動衰減所需的可程式化參數功能,因此並無法使得此裝置提供更多的時脈抖動衰減。
由於時脈抖動可視為載波(carrier)頻率的調變,或是純時脈基礎頻率在最佳的單位間格(UI)中飄動。在理論上,利用一個超窄頻的帶通濾波器 (bandpass filter)應該有助於衰減受到調變的成分。由於帶通濾波器高Q值尖銳的響應,使得我們必須隨時小心地將它對準載波頻率,以確保基礎頻率的部分不會被衰減。否則,經過長時間後的載波自然飄移會造成其明顯的衰減。在理想狀況下,這個濾波器應該能追蹤載波。在我們簡單的例子中,我們需要將時脈訊號重新整型 (re-shaping),以重新形成方波,因為帶通濾波器會濾除掉原有波形中的其他諧波(harmonic)成分。雖然常常利用這種方式減少時脈抖動,但要做出一個具有功能性的解決方案,同時還要有所需的Q值且低成本、小體積,是相當不容易的圖2。
由於鎖相迴路在時脈訊號的產生與分配中使用越來越廣泛,因此我們應該考慮如何善用鎖相迴路的轉移函式(transfer function)當成一個削減時脈抖動的方法。假設有這樣一個鎖相迴路能提供足夠的可程式化選項,如何利用鎖相迴路削減時脈抖動的程序是十分值得深入探討的。
鎖相迴路的好處是能在先前提過的帶通濾波器的方法上提供頻率追蹤的功能,在迴路中的增益與迴路頻寬的組合,會因為響應的位置不同而改變其轉移函式。在採用高度整合的低價鎖相迴路解決方案時,在可程式化方面的彈性通常會妥協於內含的迴路濾波器(一般也是整合在其中)的調整。圖3所繪的是一個理想的鎖相迴路表示圖,其中的電壓提升裝置(charge pump)、迴路濾波器,以及電壓控制振盪器(VCO)的增益等都可以在一定的範圍中作調整。然而,如果沒有小心的分析以及準確的實驗測試,鎖相迴路也可能會增加系統的雜訊,這就違背原本的用意了。
我們需要的是在等效上來說非常窄頻寬的濾波器,並且能追蹤濾波器可能接收的RJ與DJ的進入,使得輸出的結果中只有最少量的RJ。為了達成這個目標,我們發現FailSafe架構具備這些所需的特性,同時也是受到系統DJ困擾的工程師所要尋找的。儘管RJ總是存在,我們也發現RJ的削減也是值得考量的事。 FailSafeTM也針對在高的時脈抖動衰減下具有大的倍頻率的觀念,而這卻是以標準鎖相迴路裝置非常難做到的事。接著為了方便,這邊所指的裝置即為頻寬可調的抖動衰減器(Bandwidth Adjustable Jitter Attenuator)或BA晶片。
BA包含了2個不同的基本功能,它們利用前饋(feed forward)與回饋(feedback)的路徑進行溝通。第一個主要的功能是為了支援時脈產生,它只能被提高或修正(兩者之一)到內建電容器所允許的最大位移值之內,亦即VCXO產生的作用。修正方面需要用到參考時脈輸入以及從BA輸出端的迴授。沒有參考時脈源時系統依然能持續運作,而這也是 FailSafe架構原本主要的用意之一。在這裡用「時脈產生」來說明是因為沒有牽涉到時脈合成(synthesis)的架構;這裡利用一個石英晶體產生參考頻率,以符合在同步上的需要。這項功能在這裡用DCXO表示,因為它扮演的角色就像是數位控制石英振盪器(Digital Controlled crystal Oscillator )。由於內部設計了石英晶體電容陣列,因此石英晶體驅動方面的運作就像一個類比或數位轉換器。就像加入頻率抖動(dithering)所扮演角色在於增加編解碼的SNR,而雜訊存在於參考輸入上就像是在 DCXO的響應中加入頻率抖動。
DCXO用來產生一個非常低的相位雜訊振盪器(高Q值),並且透過回饋就能在有限的頻率變動範圍中追蹤輸入端,基本上就是在模擬追蹤濾波器 (tracking filter)的觀念。需要瞭解的是,參考輸入與石英晶體頻率並不需要在每個地方都一致。因此實際上參考頻率可以只給到8 KHz那麼低,還依然可以操縱BA,同時又能在一個裝置上產生數百mega hertz的輸出且具有極低的時脈抖動。這其中迥然不同之處在於,因為傳統的鎖相迴路中可能有倍頻器,故一般都會因為鎖相迴路中低的迴路更新率(loop update rate)使得時脈抖動增加。在BA的架構中不但具有數階的倍頻比例,且不會受到時脈抖動的影響而降低。
在DCXO的輸出端之後就是傳統鎖相迴路技術中的時脈合成與倍頻。現在鎖相迴路所顯示的是一個高的參考頻率、低時脈抖動,並且不需使用原本的參考源,這裡所要做的就是追蹤DCXO。高鎖相迴路參考頻率,對於低的前饋與回饋的除法器而言,即代表高的修正率(correction rate)。程式設定BA牽涉到頻率比例的選擇,圖4所表示的是BA的架構。輸入端的時脈源參考頻率會先經過一個M除法器(divider),它可以和裝置於輸出端的N除法器比較。在M與N除法器之間的差異所產生的修正資訊可以用來通知DCXO是否要改變晶體震盪的頻率。內部鎖相迴路中的倍頻功能可以當成可程式化的輸出頻率使用,此輸出頻率主要參考直接來自晶體震盪源的訊號。後端除頻器(post divide)的除數為N,其輸出端的回饋主要是與參考輸入端進行同步動作。
當多數的實驗分析尚未完成時,較早的經驗資料就已經指出,當輸入端有DJ時的一個有效的輸出端DJ衰減方法。程式設定BA要達到最佳化響應需要一些實際操作,這是由於每個系統根據本身的設定都有自己的雜訊特性。一般來說,我們較希望在鎖相迴路的部分中具有高修正率的維持特性。這就是說,鎖相迴路要盡可能不斷地運作,要達到這個目的只要將P與Q的值儘量設小即可,同時也要設定後端除法器以獲得適當的輸出頻率。最佳化設定M與N就是符合DCXO取樣率(最佳削減輸入端存在的DJ成分)。由於鎖相迴路的輸出端與BA的輸入端視連接起來的(若有同步的需要),在程式設定比例所造成的結果都會互相影響。實驗結果是使用儀器分析,如此可以準確地測量時脈抖動的特性資訊。
其他較次要但仍會對資料造成衰減的因素,就是石英晶體的部分。石英晶體的Q值就很像窄頻帶通濾波器一樣,是形成乾淨的參考時脈源的因素,當DCXO 頻率抖動時,它也代表了頻率變化率。以我們到目前為止有限的平台實驗來說,所採用的石英晶體的Q值比100K多一點點。選擇這個值單純只是基於使用石英晶體時,最高的Q值並非唯一的目標。要將BA的轉移函式整型時可能會需要的是較低Q值的裝置,像是陶瓷共振器(ceramic resonators),如此就可以造成一個不同的響應特性。這個觀念可應用在降低EMI的展頻系統上面,在這裡BA可利用整型使其通過某些DJ資訊的響應。
BA架構也支援一個額外的特點,就是允許在裝置之中程式化設計16個不同的時脈抖動衰減特性。這部分是透過外部的接腳做設定。對系統而言,可動態的設定是極為有用的。隨著電路板新增至系統中或從系統中移除,整個的雜訊特性都會改變。BA可以針對手邊特定的電路板提供最佳的時脈抖動衰減。而FailSafe 的輸出(系統鎖定)在邏輯上能受到監控,以確保所有裝置運作的同步性。
最困難的工作之一,就是定義能夠表現出一般系統特性的雜訊條件設定。選用了加入2種經過控制的雜訊,包括平均的高斯白雜訊(Gaussian white noise),也就是RJ的影響,以及利用方波微分所得到的脈衝調變。後者的用意是要在訊號上產生DJ的成分。載波輸入來源為一乾淨的頻率產生器,其雜訊基準(noise floor)低於雜訊調變的特性。頻率飄移的狀況也很小,因此長期的時脈抖動可維持穩定。調變器的輸入包括載波以及調變的來源輸入,而輸出端則連接到BA 裝置的參考輸入端上圖5。
由於雜訊量測多半就是統計特性的量測,因此這個實驗設計採用了標準化的內容,以獲得一個參考的基點。在這個狀況中,調變係數(modulation index)增加到1ns的峰對峰值量測,並在最大10μs的時間之內維持固定。從統計的角度來看,這樣的分析獲得了至少6-sigma效果的取樣內容。
我們的第一個實驗包含了在一個頻段上加入良好表現的白高斯雜訊源(white Gaussian noise)。在脈衝系統中,脈衝的重複率(repetition rate)與duty cycle的考量必須要特別指定。在脈衝出現率方面,我們考慮到100KHz與33KHz兩種,其中100KHz是模擬來自交換式電源的部分;而 33KHz則是一般系統受到EMI與時脈展頻所產生的部分,並將其責任週期設定為50%。調變源會不斷地增加,一直到其輸出端調變結果達到1ns的峰對峰值為止。
如表1所表示的是BA中程式設定的參數值。由於BA是可程式化設計,因此可以利用系統的主機所特定的頻率選項。對這個實驗來說,我們的目標就是利用一個石英晶體在輸入與輸出端產生2.048與155.52MHz這兩個通訊常用的頻率。我們並不需要針對輸入端的DJ做最佳化修正,如表2到4整理出實驗的結果資料,在加成性白高斯雜訊(AWGN)與脈衝產生的DJ影響下進行了3種量測。這裡的每個實驗設定包含有cycle-to-cycle、1μs、和 10μs這三種時間間格。每項的BA輸入與輸出結果可在表中比較。表4所顯示的是針對intrinsic noise floor的測量,以獲得對實驗設定雜訊基準更好的認知。儘管結果顯示的intrinsic noise floor有點讓我們失望,同時也表示有些部分需要在未來加以改良,然而BA依然能在「沒有調變影響」的條件下正常的運作。
從所有的表中可以發現,在均方根值的抖動(rms jitter)輸入為最小的42ps時,BA的均方根值的雜訊基準(rms noise floor)為8.4ps。在一般的實驗測試條件中通常會將cycle-to-cycle 均方根植的衰減因數(rms reduction factor)至少設定為5,在長時段量測下觀察1μs的結果顯示衰減率至少有4,而10μs的結果則至少約為2(表4的結果不算在內)。這樣的結果也顯示相同條件設定下,峰對峰值與DJ的累積時脈抖動。令人驚異的是BA在DJ上明顯的衰減效果甚至達到了儀器的最大解析能力(這個結果實在很難接受,但我們仍會設法去瞭解)。這樣的事實表示了,在所有條件中,BA在衰減DJ的表現確實值得您下次遇到DJ困擾系統時可以慎重的考慮。
在您的系統中,若DJ是考量的因素,那麼BA應該對您有幫助。雖然雜訊在任何系統中一定會存在,然而雜訊衰減機制可以幫助您省下重新設計的大量工作。在搭配使用BA方面,還有瞭解DCXO的修正功能在最佳化時脈抖動衰減時如何運作,以及選擇石英晶體Q值的條件等方面仍有許多工作要做,然而,根據現有的實驗資訊以及一致顯示的數字結果,當下次您需要在時脈源上處理訊號調整時,BA就很可能會是您最佳的解決方案。