時鐘設備設計使用I2C可編程小數鎖相環(PLL),可滿足高性能時序需求,這樣可以產生零PPM(百萬分之一)合成誤差的頻率。高性能時鐘IC具有多個時鐘輸出,用于驅動打印機、掃描儀和路由器等應用系統的子系統,例如處理器、FPGA、數據轉換器等。此類復雜系統需要動態更新參考時鐘的頻率,以實現PCIe 和以太網等其它諸多協議。
時鐘IC屬于I2C從器件,需要主控制器來配置內部PLL邏輯,其控制邏輯可以寫入微控制器內。作為I2C 主機,微控制器將配置寫入時鐘IC的內部易失性存儲器并控制PLL。因此,可以通過板上MCU - IC組合進行系統時鐘頻率的動態更新。可編程微控制器為高性能時鐘IC提供控制邏輯能力,通過減少板載IC和板上走線使整體設計更加緊湊,并降低最終物料成本。
操作理論
圖1 為高性能時鐘設備的基本PLL架構。該設計使用比例因子為PLL輸出端口提供時鐘合成。最終輸出頻率的基本公式為:
· DIV_R(DIV_R1 和DIV_R2)是輸入頻率參考的分頻因子。此類分頻器名為預分頻器。
· DIV_N 為小數N 分頻因子。
· DIV_O(DIV-O1、DIV-O2、DIV-O3 和DIV-O4)為輸出前的后分頻因子。
圖1:簡化高性能時鐘的PLL 架構框圖。
圖1中的橙色框圖為參數,使用這些參數的方程式為可編程方程式。這些參數可以在出廠時寫入時鐘設備的非易失性存儲器。時鐘設備具有內部易失性和非易失性存儲器,兩個存儲器互相復制其內容。非易失性存儲器在出廠時已被寫入所需配置,在最終應用中,當設備啟動電源時,非易失性存儲器的內容會被復制到易失性存儲器。同時,PLL產生所需的默認時鐘輸出。
時鐘IC的重要特性之一就是通過I2C接口實現運行時可編程。通過可編程功能,用戶可以更改設備的易失性存儲器內容以進行即時更改。只需使用適當的I2C指令,就可以通過主控制器實現用戶配置文件的即時編程功能。
設備的非易失性存儲器還可以存儲預定義的多用戶配置。用戶可以使用頻率選擇(Frequency Select, FS)功能以選擇其中一個配置。該FS - 位為設備中可用的CMOS輸入引腳。FS引腳應用N - 位外部CMOS信號,然后內部選擇存儲在非易失性存儲器中的一個配置文件,這個配置文件同樣也被復制到了易失性存儲器,PLL則輸出不同的信號。
同時,微控制器通過I2C提供數據來控制高頻時鐘。使用微控制器的優點是,它具有不同的通信外設和通信協議,如I2C、SPI、UART、藍牙、ZigBee等,使得系統能夠以主從配置將數據傳輸到其他微控制器,也可以使用一個自定義的應用傳輸至安卓和iOS設備。此外,微控制器還配有各種IDE工具用于簡化設計。這可以更好地證明使用I2C指令來配置PLL參數、編寫并驗證定制應用程序是合適的。
高性能時鐘的應用需求
高性能時鐘IC專為消費者、工業和網絡應用而設計。此類時鐘IC具有多個從不同PLL導出的差分輸出和單端輸出,并且可以通過I2C接口實現可編程功能。此外,高性能時鐘IC不僅可以支持PCI Express (PCIe) 1.0 / 2.0 / 3.0、USB 2.0 / 3.0和萬兆以太網(GbE)等關鍵接口標準的參考時鐘。還能支持壓控晶體振蕩器(VCXO)和頻率選擇(FS)等其他增值功能。
高性能時鐘IC 采用設計實現I2C 從機模式。因此,需要一個板載I2C 主機來控制以下可編程功能:
· 通過I2C 接口進行系統內編程· 通過頻率選擇(FS) 引腳更新配置
· 外部復位操作
· 壓控晶體振蕩器(VCXO) 操作
圖2:微控制器- 高性能時鐘接口電路。
微控制器在時鐘IC PLL控制中的作用
如圖2所示,將時鐘IC連接到微控制器電路。時鐘IC具有內部PLL模塊,其功能是提供作為固定直流電壓的調諧電壓(Vtune),而調諧電壓將隨頻段而變化。PLL 模塊在輸入端接收本地振蕩器頻率,由內部前置放大器放大信號。另外,預分頻器對輸入頻率進行下變頻,并將其作為輸入傳送至相位比較器。
圖3:PLL 模塊的微控制器控制。
微控制器通過I2C發送數據到可編程分頻器。該分頻器也接收來自參考振蕩器(例如4 MHz 晶體振蕩器)的輸入。相位比較器(即相位檢測器)通過預分頻器接收本地振蕩器頻率(例如87.15 MHz),還通過參考分頻器和參考振蕩器接收微控制器的輸入(例如,87.15 MHz)。如果兩個輸入都匹配,相位比較器將提供Vtune 調諧電壓。一旦本地振蕩器頻率與微控制器頻率數據之間稍有不匹配,都將無法提供調諧電壓(Vtune) 和輸出。圖3所示為完整的框圖。
在微控制器的幫助下,PLL 通過調諧本地振蕩器頻率產生閉環,并在輸出端產生調諧電壓。調諧電壓將從較低頻率信道增加到較高頻率信道。通過改變預分頻器和可編程分頻器的值,微控制器可以調整步長。
步長=(本地振蕩器頻率/預分頻器)X(可編程分頻器/參考振蕩器)
表1 所示為部分配置。
通過I2C 接口進行系統內編程
系統內編程可為系統設計實現快速有效的迭代。編程數據序列可通過SCL和SDA引腳傳送到時鐘器件,把操作順序編程至板載微控制器(主設備)中,通過命令和數據在運行時與從機時鐘進行交互。
此處為系統示例,其中時鐘信號必須以采樣率的倍數為準。該時鐘頻率在155.52MHz和156.25 MHz兩組頻率之間變動。這意味著驅動串行控制器的時鐘必須能夠在這兩個值之間靈活切換。微控制器主設備可以訪問并修改寫入易失性存儲器的PLL配置,從而滿足這兩個頻率需求。
通過頻率選擇(FS) 引腳更新配置
高性能時鐘設備支持包含個性化配置的多個用戶配置文件。在FS引腳轉換方面,高性能時鐘器件具有兩個時序規格- 快速切換和慢速切換。
快速切換適用于輸出ON/OFF 、輸出分頻值變化,以及輸出MUX 設置更改。慢速切換則適用于更改PLL 參數(包括PLL ON/OFF)。顧名思義,快速切換中的輸出變化更快,而慢速切換的速度較慢。兩種切換類型都可以打開或關閉輸出,并且不出絲毫差錯。圖4 所示為FS 與輸出時鐘之間的時序關系。
圖4:頻率選擇操作。
外部復位操作:
當外部復位生效時,時鐘IC進入低功耗模式。輸出和I2C總線信號處于高阻抗(HI-Z) 狀態,直到取消外部復位并完成初始化。外部復位重啟易失性存儲器內容,存儲在非易失性存儲器中的配置則被復制到易失性存儲器。當需要重新初始化任意一個系統中運行的應用程序時,該功能將被使用。
壓控晶體振蕩器(VCXO) 操作:
對某些應用而言,輸出時鐘頻率應通過使用模擬反饋跟蹤輸入數據流。如圖5所示,時鐘IC作為大鎖相環的一部分。ASIC或SoC負責跟蹤輸入流、計算誤差并產生PWM信號(通常來說),隨后將誤差信息反饋至本地時鐘發生器以進行頻率調諧。
圖5:VCXO 示例電路。
VCXO功能能夠修改PLL頻率,因此頻率牽引不依賴于晶體特性、溫度、電壓或設備工藝。VCXO調制是線性、精準調制。也可以使用時鐘參考。通過微控制器的內置模擬模塊,VCXO的控制邏輯精準到小數點后6位。
作為I2C主設備,微控制器將配置寫入時鐘IC 的內部易失性存儲器并控制PLL。因此,通過板載MCU-IC組合可以實現系統時鐘頻率的動態更新。開發人員可以使用可編程微控制器,為高性能時鐘IC提供控制邏輯。這可以減少對板載IC和走線數量的需求,使得整個系統設計更加緊湊。
微控制器配備強大IDE工具,可以加速應用開發。集成可編程片上系統(PSoC)器件可進一步簡化設計并有助于降低整體產品成本。有關高性能時鐘IC設計的更多詳細信息,請參閱4-PLL擴頻時鐘發生器入門以及擴頻時鐘發生器的設計最佳實踐。