Skip to Content

基礎知識:關於Crystal Clock以及Crystal Lock

文:方寶明



Crystal Clock是我們在AD/DA裡面常看到的名詞
什麼是Crystal Clock? 大家應該有一點基礎的認識

    在這個之前,首先讓我們簡單的了解時脈(Clock)是什麼。在數位類比轉換的過程當中,我們常常看到取樣頻率有所謂的44.1kHz, 48kHz, 96kHz, 192kHz...etc,在專題文章區中我們討論過這個基本概念,它相當於每秒取樣多少次的意思,44.1kHz相當於每秒取樣44100次,當然在取樣的過程中有很多技術問題,但最基本的是,誰來決定這個"每秒幾次",這時候就需要所謂的Clock,它並不是類比世界的時鐘,不需要去了解幾點幾分,不過基本條件是,他必須是很穩定的,才能保證我們在訊號轉換的過程中能夠得到最佳的結果。

     這個穩定的時脈產生,就是機器內部的Master Clock Generator,你想像傳統的機械時鐘的鐘擺就很容易理解,它會持續的來回擺\盪來計算時間。 在電路裡,Clock可以透過許多方法產生,就像手錶也分很多種,當然你一定也聽過石英錶(Quartz)。是的,所謂石英錶就是運用石英(Crystal)震盪當作時脈來計算時間,這是因為石英的物理特性,在經過通電之後,會產生持續而穩定的頻率震盪,所以很適合拿來當作震盪器(Oscillator)。

       一般來說,類比與數位轉換器,都會採用比實際要採樣還要更高數倍的頻率來震盪,然後再除下來以減低Jitter與失真的問題,舉例來說,如果是44.1kHz的取樣,那他的震盪器通常會是256倍頻,也就是44.1kHz*256=11.2896MHz,當然還有338, 655等更高的震盪IC。


11.2896MHz的石英震盪器,如上圖所示。


      用石英來當震盪器,有很多種控制時脈的方式,以及許多相對應的電路設計,這都是為了要穩定震盪時候的抖動、誤差、偏移以及失真,有許\多種選擇如:TC-VCXO(溫度補償電壓控制石英晶體 振盪器)、OCXO(定溫控制石英晶體盪器),DCXO(數位控制的石英晶體振盪器)以及MCXO(微電腦補償石英晶體盪器)...等,舉例來說像是VCXO,它是透過電壓控制(Voltage Control)來微調晶體振盪的頻率。

      接下來我們來簡單了解一下,機器上出現的Clock Wide, Narrow跟Crystal又代表這什麼呢?


      舉Lavry 最暢銷的DA10來當做範例,我們可以看到前面板有一個PLL的選項,分別有Wide, Narrow跟Crystal三組可以切換。
什麼是PLL,PLL是Phase-Lock Loop的縮寫,中文又翻譯成鎖相迴路,是利用相位差作負回授並輸入到Error Amplifier進行自動控制的迴路,這個對大家來說可能有點不懂,但我可以簡單的解釋,如下圖所示的數位轉類比的方塊圖


當一個數位訊號輸入時他本身一定帶著自己的Clock,而數位類比轉換器本身,則也有一個Clock,拿CD信號來說,雖然我們說訊號是44.1kHz,實際上並不可能,它可能是44100005...或是44099....,訊號的時脈是會持續變動的,那麼我們如何去讓這兩個Clock不會打架?   這兩個Clock必須要能夠用一個控制訊號互相鎖住(lock) ,使得本體的Clock會持續偵測輸入訊號的時脈,而Master Clock的頻率以及相位就可以透過相位偵測器產生的一個校準的負回授(Negative Feedback)訊號,來鎖住輸入的時脈。在震盪器與偵測器之間則通常會有一些濾波電路來過濾這個迴路產生的Noise。

Image:PLL,generic.png
上圖所示,是基本的PLL方塊圖。

而Wide(寬) and Narrow(窄)就是決定它可以容釭瑰W率誤差,當然,如果頻率本身很不固定,那麼就非得用Wide不可,但相對來說聲音的品質就會變差。

關於PLL的電路如果有興趣深入研究,可以參考http://www.uoguelph.ca/~antoon/gadgets/pll/pll.html的網頁,對於


那麼什麼又是Crystal Lock呢?這是Dan lavry所發明的技術,Dan Lavry利用一個記憶緩衝暫存區(Buffer)來克服時脈(Clock rate)與資料傳輸(data date)時的時基誤差(jitter error),基本上Crystal Lock跟Reclock的道理很類似,它把輸入的訊號先儲存到一個緩衝區裡面,然後從緩衝區裡一個Sample一個Sample的用Master Clock傳出訊號,當訊號從Buffer裡面被傳出來時,新的訊號就自動填補進緩衝區裡面,所以就算輸入的訊號有很嚴重的時基錯誤,輸出的訊號也還是可以很穩定。當然由於輸入與輸出兩邊的Clock有誤差,記憶體不可能沒有限制,總會被填滿,所以Dan設計了一個測量記憶體容量的裝置,來避免記憶體過滿(overflow)或是過空(empty),並且逐步的調整。

相關的技術可以參考http://www.lavryengineering.com/white_papers/jitter.pdf 的網頁。