1. SYNC/SYSREF
為了正確使用JESD204B的SYNC或SYSREF,了解SYNC/SYSREF系統(tǒng)很重要。SYNC和SYSREF信號(hào)共享相同的時(shí)鐘路徑,SYNC_DISX位用于啟用從SYSREF/SYNC到每個(gè)分壓器復(fù)位端口的路徑。
下圖說(shuō)明了包含SYNC電路的時(shí)鐘輸出塊的結(jié)構(gòu)。
包含SYNC電路的時(shí)鐘輸出塊結(jié)構(gòu)
下圖說(shuō)明了互連,并強(qiáng)調(diào)了用于控制器件的SYNC/SYSREF的一些重要寄存器。
互連結(jié)構(gòu)
要復(fù)位或同步一個(gè)分壓器,必須滿足以下條件:
- SYNC_EN必須被設(shè)置。這可以確保同步電路的正常工作。
- SYSREF_MUX和SYNC_MODE必須被設(shè)置為適當(dāng)?shù)慕M合,以提供一個(gè)有效的SYNC/SYSREF信號(hào)。
- 如果使用SYSREF塊,SYSREF_PD位必須被清除。
- 如果使用SYSREF脈沖器,SYSREF_PLSR_PD位必須被清除。
- 對(duì)于每個(gè)被用于SYSREF的SDCLKoutY,各自的SDCLKoutY_PD位必須被清除。
- SYSREF_DDLY_PD 和 DCLKoutX_DDLY_PD位必須清除,以便在SYNC期間給數(shù)字延遲電路供電。在 SYNC 事件之后,這些位可以被設(shè)置以減少功耗。
- SYNC_DISX位必須清零,以允許SYNC/SYSREF信號(hào)重置分頻器電路。SYSREF_MUX寄存器選擇SYNC源。
- 其他影響SYNC操作的位,如SYNC_1SHOT_EN,可以根據(jù)需要設(shè)置。
下表說(shuō)明了SYSREF_MUX和SYNC_MODE的一些可能組合。
2. JEDEC、JESD204B
如何啟用SYSREF
下表總結(jié)了SYSREF功能啟用需要操作的寄存器位。
啟用JESD204B操作包括將所有時(shí)鐘分頻器與SYSREF分頻器同步,然后配置實(shí)際的SYSREF功能。
SYSREF的設(shè)置示例
下面的程序是一個(gè)以3000MHz的VCO頻率運(yùn)行的系統(tǒng)的編程例子。使用DCLKout0和DCLKout2來(lái)驅(qū)動(dòng)1500MHz的轉(zhuǎn)換器。使用DCLKout4以150MHz的頻率驅(qū)動(dòng)FPGA。使用兩個(gè)10MHz的SYSREF脈沖來(lái)同步轉(zhuǎn)換器和FPGA。
-
根據(jù)需要對(duì)寄存器0x000到0x1fff進(jìn)行編程。為SYSREF操作做準(zhǔn)備的關(guān)鍵(見(jiàn)推薦的編程順序):
- 為手動(dòng)同步做準(zhǔn)備:SYNC_POL = 0, SYNC_MODE = 1, SYSREF_MUX = 0
- 按照例子設(shè)置輸出分頻器: DCLKout0_DIV和DCLKout2_DIV = 2,頻率為1500MHz。DCLKout4_DIV = 20,頻率為150MHz。
- 按照例子設(shè)置輸出分頻器: SYSREF_DIV = 300,頻率為10 MHz SYSREF。
- 設(shè)置 SYSREF: SYSREF_PD = 0, SYSREF_DDLY_PD = 0,DCLKout0_DDLY_PD = 0,DCLKout2_DDLY_PD = 0,DCLKout4_DDLY_PD = 0,SYNC_EN = 1,SYSREF_PLSR_PD = 0,SYSREF_PULSE_CNT = 1(2個(gè)脈沖)。SDCLKout1_PD = 0, SDCLKout3_PD = 0。
- 清除本地SYSREF DDLY:SYSREF_CLR = 1。
-
在SYSREF和JESD204B的設(shè)備時(shí)鐘之間建立確定性的相位關(guān)系:
-
設(shè)置設(shè)備時(shí)鐘和SYSREF分頻器的數(shù)字延時(shí): DCLKout0_DDLY_CNTH,DCLKout0_DDLY_CNTL、DCLKout2_DDLY_CNTH, DCLKout2_DDLY_CNTL, DCLKout4_DDLY_CNTH, DCLKout4_DDLY_CNTL、SYSREF_DDLY。
-
設(shè)置設(shè)備時(shí)鐘數(shù)字延遲的半步(half steps)值: DCLKout0_HS, DCLKout2_HS, DCLKout4_HS。
-
根據(jù)需要設(shè)置SYSREF時(shí)鐘數(shù)字延遲,以實(shí)現(xiàn)已知的相位關(guān)系: SDCLKout1_DDLY、SDCLKout3_DDLY、SDCLKout5_DDLY。
-
為了讓SYNC影響分頻器: SYNC_DIS0 = 0,SYNC_DIS2 = 0,SYNC_DIS4 = 0,SYNC_DISSYSREF = 0。
-
通過(guò)切換SYNC_POL=1,然后SYNC_POL=0來(lái)執(zhí)行SYNC。
-
當(dāng)分頻器被同步時(shí),禁止SYNC重置這些分頻器。我們不希望SYSREF重置它自己的分頻器或輸出時(shí)鐘的分頻器。
- 防止SYSREF影響分頻器:SYNC_DIS0 = 1, SYNC_DIS2 = 1, SYNC_DIS4 = 1, SYNC_DISSYSREF = 1。
- 釋放本地SYSREF數(shù)字延遲的復(fù)位。
- SYSREF_CLR = 0。注意這個(gè)位在SYSREF_PD = 0后只需要設(shè)置15個(gè)時(shí)鐘分配路徑周期。
- 設(shè)置SYSREF操作。
- 允許引腳SYNC事件來(lái)啟動(dòng)脈沖器: SYNC_MODE = 2。
- 選擇脈沖器作為SYSREF信號(hào):SYSREF_MUX = 2。
- 程序完成后,斷言SYNC引腳或改變SYNC_POL會(huì)產(chǎn)生一系列的2個(gè)SYSREF脈沖。
SYSREF_CLR
SDCLK輸出的本地?cái)?shù)字延遲被實(shí)現(xiàn)為一個(gè)移位緩沖器。為了確保在使用SYSREF時(shí),該SYSREF輸出在啟動(dòng)時(shí)不會(huì)出現(xiàn)不需要的脈沖,通過(guò)設(shè)置SYSREF_CLR=1來(lái)清除緩沖器,持續(xù)15個(gè)VCO時(shí)鐘周期。該位在復(fù)位后被設(shè)置,因此,在使用SYSREF輸出前必須將其清除。
SYSREF模式
SYSREF 脈沖器
這種模式允許在每個(gè)SYNC引腳事件或SPI編程時(shí)輸出1、2、4或8個(gè)SYSREF脈沖。這實(shí)現(xiàn)了JEDEC JESD204B規(guī)范中的間隙性周期功能。 當(dāng)處于SYSREF脈沖模式時(shí),在寄存器0x13E中對(duì)字段SYSREF_PULSE_CNT進(jìn)行編程,導(dǎo)致脈沖器發(fā)送編程的脈沖數(shù)。
連續(xù)SYSREF
這種模式允許連續(xù)輸出SYSREF時(shí)鐘。**不建議連續(xù)操作SYSREF,因?yàn)镾YSREF時(shí)鐘與設(shè)備時(shí)鐘之間存在串?dāng)_。**JESD204B的設(shè)計(jì)是在啟動(dòng)時(shí)用一個(gè)脈沖串來(lái)初始化系統(tǒng),之后理論上不需要再發(fā)送SYSREF,因?yàn)橄到y(tǒng)會(huì)繼續(xù)以確定性的相位運(yùn)行。如果需要連續(xù)操作SYSREF,可以考慮使用來(lái)自非相鄰輸出的SYSREF輸出或來(lái)自O(shè)SCout引腳的SYSREF,以減少串?dāng)_。
SYSREF請(qǐng)求
該模式允許外部信號(hào)源使用SYNC/SYSREF_REQ引腳同步開(kāi)啟或關(guān)閉連續(xù)的SYSREF脈沖流。
通過(guò)編程SYSREF_REQ_EN=1和SYSREF_MUX=2(脈沖器)來(lái)設(shè)置該模式。脈沖器不需要為這種操作模式供電。
當(dāng)SYSREF_REQ引腳被斷言時(shí),SYSREF_MUX被同步設(shè)置為連續(xù)模式,以SYSREF的頻率提供連續(xù)的脈沖,直到SYSREF_REQ引腳被解除主張,最后SYSREF脈沖同步完成發(fā)送。
3. 數(shù)字延時(shí)
數(shù)字(粗略)延遲允許一組輸出被延遲4到32個(gè)VCO周期。通過(guò)使用DCLKoutX_HS位,延遲步驟可以小到VCO周期的一半。有兩種方法來(lái)使用數(shù)字延遲:
- 固定數(shù)字延遲
- 動(dòng)態(tài)數(shù)字延時(shí)
在這兩種延遲模式中,常規(guī)的時(shí)鐘分頻器被替代的分頻值所取代。替代除法值由兩個(gè)值組成,DCLKoutX_DDLY_CNTH和DCLKoutX_DDLY_CNTL。minimum_CNTH/_CNTL
值為2,maximum_CNTH/_CNTL
值為16。這導(dǎo)致最小的替代除法值為4,最大為32。
固定數(shù)字延時(shí)
固定數(shù)字延遲值在同步事件后對(duì)時(shí)鐘輸出產(chǎn)生作用。因此,在SYNC事件中,輸出會(huì)有一段時(shí)間處于低電平。在調(diào)整數(shù)字延遲時(shí)不能接受時(shí)鐘中斷的應(yīng)用應(yīng)該使用動(dòng)態(tài)數(shù)字延遲。
固定數(shù)字延時(shí)實(shí)例
假設(shè)器件已經(jīng)有了以下的初始配置,并且應(yīng)該把DCLKout2比DCLKout0延遲一個(gè)VCO周期:
- VCO頻率 = 2949.12 MHz
- DCLKout0 = 368.64 MHz (DCLKout0_DIV = 8)
- DCLKout2 = 368.64 MHz (DCLKout2_DIV = 8)
應(yīng)該遵循這些步驟:
- 設(shè)置DCLKout0_DDLY_CNTH = 4 和 DCLKout2_DDLY_CNTH = 4。每個(gè)時(shí)鐘的第一部分延遲。
- 設(shè)置DCLKout0_DDLY_CNTL=4,DCLKout2_DDLY_CNTL=5。每個(gè)時(shí)鐘的第二部分延遲。
- 設(shè)置DCLKout0_DDLY_PD=0,DCLKout2_DDLY_PD=0,給數(shù)字延遲電路上電。
- 設(shè)置SYNC_DIS0=0和SYNC_DIS2=0,允許輸出同步。
- 斷言SYNC,然后在對(duì)SYNC進(jìn)行取消斷言。可以通過(guò)使用SYNC_POL位或SYNC引腳。
- 當(dāng)SYNC完成后,關(guān)閉DCLKout0_DDLY_PD=1 和/或 DCLKout2_DDLY_PD=1 以節(jié)省電源。
- 設(shè)置SYNC_DIS0=1和SYNC_DIS2=1,以防止輸出被其他SYNC/SYSREF事件同步。
固定數(shù)字延時(shí)實(shí)例
動(dòng)態(tài)數(shù)字延時(shí)
動(dòng)態(tài)數(shù)字延遲允許時(shí)鐘的相位相互改變,而對(duì)時(shí)鐘信號(hào)的影響很小。這是通過(guò)在一個(gè)周期內(nèi)用一個(gè)替代的除法值代替常規(guī)的時(shí)鐘除法來(lái)實(shí)現(xiàn)的。這種替代發(fā)生的次數(shù)等于在DDLYd_STEP_CNT字段中為所有DDLYdX_EN=1的輸出編程的值。
- 通過(guò)編程一個(gè)較大的交替分頻器(延遲)值,調(diào)整后的輸出的相位相對(duì)于其他時(shí)鐘來(lái)說(shuō)是延遲的。
- 通過(guò)編程一個(gè)較小的備用分頻器(延遲)值,調(diào)整后的輸出的相位相對(duì)于其他時(shí)鐘是提前的。
下表顯示了推薦的DCLKoutX_DDLY_CNTH和DCLKoutX_DDLY_CNTL交替除法設(shè)置,用于延遲一個(gè)VCO周期。在DCLKoutX_DDLY_CNTH時(shí)間內(nèi),時(shí)鐘輸出為高電平,允許連續(xù)輸出時(shí)鐘。在DCLKoutX_DDLY_CNTL時(shí)間內(nèi),時(shí)鐘輸出為低電平。
為了實(shí)現(xiàn)_CNTH/_CNTL
值為16,必須在_CNTH/_CNTL
字段中編入0。
單個(gè)和多個(gè)動(dòng)態(tài)數(shù)字延時(shí)實(shí)例
在這個(gè)例子中,對(duì)設(shè)備的時(shí)鐘做了兩個(gè)獨(dú)立的調(diào)整。在第一次調(diào)整中,在DCLKout2和DCLKout0之間發(fā)生1個(gè)VCO周期的單一延遲。在第二個(gè)調(diào)整中,在DCLKout2和DCLKout0之間發(fā)生兩個(gè)1 VCO周期的延遲。在例子的這一點(diǎn)上,DCLKout2比DCLKout0延遲了3個(gè)VCO周期。
假設(shè)設(shè)備已經(jīng)有了以下的初始配置:
- VCO頻率:2949.12 MHz
- DCLKout0 = 368.64 MHz, DCLKout0_DIV = 8
- DCLKout2 = 368.64 MHz, DCLKout2_DIV = 8
下面的步驟說(shuō)明了上面的例子:
-
設(shè)置DCLKout2_DDLY_CNTH = 4。DCLKout2的第一部分延遲。
-
設(shè)置DCLKout2_DDLY_CNTL = 5。DCLKout2的第二部分延遲。
-
設(shè)置DCLKout2_DDLY_PD=0,啟用DCLKout2的數(shù)字延遲。
-
設(shè)置DDLYd2_EN = 1。啟用DCLKout2的動(dòng)態(tài)數(shù)字延遲。
-
設(shè)置 SYNC_DIS0 = 1 和 SYNC_DIS2 = 0。同步應(yīng)該被禁用到 DCLKout0,但不是 DCLKout2。
-
設(shè)置SYNC_MODE = 3。啟用從SPI寫(xiě)到DDLYd_STEP_CNT寄存器的SYNC事件。
-
設(shè)置SYNC_MODE = 2, SYSREF_MUX = 2。設(shè)置適當(dāng)?shù)腟YNC設(shè)置。
-
設(shè)置DDLYd_STEP_CNT = 1。這就開(kāi)始了第一次調(diào)整。
- 在第8步之前,DCLKout2的時(shí)鐘邊緣與DCLKout0對(duì)齊。
- 在步驟8之后,DCLKout2按照DCLKout2_DDLY_CNTH和DCLKout2_DDLY_CNTL字段的編程,計(jì)數(shù)四個(gè)VCO周期高電平,然后五個(gè)VCO周期低電平,有效地將DCLKout2相對(duì)于DCLKout0延遲一個(gè)VCO周期。這是第一次調(diào)整。
-
設(shè)置DDLYd_STEP_CNT = 2。這就開(kāi)始了第二次調(diào)整。
- 在步驟9之前,DCLKout2的時(shí)鐘邊沿比DCLKout0延遲了1個(gè)VCO周期。
- 在第9步之后,DCLKout2在高位計(jì)數(shù)4個(gè)VCO周期,然后在低位計(jì)數(shù)5個(gè)VCO周期,這是由DCLKout2_DDLY_CNTH和DCLKout2_DDLY_CNTL字段兩次編程的,相對(duì)于DCLKout0,DCLKout2延遲了兩個(gè)VCO周期。這是第二次調(diào)整。
單個(gè)和多個(gè)動(dòng)態(tài)數(shù)字延時(shí)實(shí)例
4. SYSREF到設(shè)備時(shí)鐘的對(duì)準(zhǔn)
為了確保JESD204B的正常運(yùn)行,必須調(diào)整SYSREF和設(shè)備時(shí)鐘之間的時(shí)序關(guān)系,以獲得最佳的設(shè)置和保持時(shí)間。
時(shí)鐘偏斜
全局SYSREF數(shù)字延遲(SYSREF_DDLY)。本地SYSREF數(shù)字延遲(SDCLKoutY_DDLY),本地SYSREF半步(SDCLKoutY_HS)和本地SYSREF模擬延遲(SDCLKoutY_ADLY,SDCLKoutY_ADLY_EN)可以調(diào)整以提供SYSREF和器件時(shí)鐘之間所需的建立和保持時(shí)間。還可以調(diào)整設(shè)備時(shí)鐘數(shù)字延遲(DCLKoutX_DDLY_CNTH, DCLKoutX_DDLY_CNTL)、設(shè)備時(shí)鐘半步(DCLKoutX_HS)、設(shè)備時(shí)鐘模擬延遲(DCLKoutX_ADLY, DCLKoutX_ADLY_EN)和設(shè)備時(shí)鐘復(fù)用(DCLKoutX_MUX, DCLKoutX_ADLY_MUX)來(lái)調(diào)整相對(duì)于SYSREF的相位。
根據(jù)DCLKoutX和SYSREF分頻器的設(shè)置,可能需要一些調(diào)整來(lái)正確地將DCLKoutX與SDCLKoutY對(duì)齊。公式1和公式2預(yù)測(cè)了DCLKoutX到SDCLKoutY的相對(duì)延遲:
其中
- 如果sysref_div % 4 < 2,sysref_div_adjust = 2 ;否則sysref_div_adjust = 3
- 如果(占空比校正已啟用),DCLKoutX_MUX_ADJUST = 1; 否則 DCLKoutX_MUX_ADJUST = 0
對(duì)于相對(duì)延遲方程,應(yīng)該使用周期延遲而不是寄存器值,因?yàn)橹芷谘舆t并不總是等于寄存器值(例如:_CNTH/_CNTL=0
,延遲=16)。
器件時(shí)鐘占空比校正可以通過(guò)設(shè)置DCLKoutX_MUX=1(僅數(shù)字)或設(shè)置DCLKoutX_MUX=3和DCLKoutX_ADLY_MUX=1來(lái)啟用數(shù)字和模擬路徑。如果在任一路徑上啟用了半步,延遲可以通過(guò)從啟用的路徑上減去0.5來(lái)計(jì)算。
舉個(gè)例子,如果DCLKoutX_DDLY_CNTH=7,DCLKoutX_DDLY_CNTL=6,SYSREF_DDLY=8,SDCLKoutY_DDLY=2周期,SYSREF_DIV=30,DCLKoutX_MUX=1,DCLKoutX_HS=0,SDCLKoutX_HS=0:
要計(jì)算從DCLKoutX的第一個(gè)邊緣到SDCLKoutY的第一個(gè)邊緣的預(yù)期時(shí)間延遲,請(qǐng)參考下面的方程進(jìn)行計(jì)算。用適當(dāng)?shù)臅r(shí)間值(以秒為單位)來(lái)代替模擬延遲(根據(jù) DCLKoutX_ADLY、DCLKoutX_ADLY_MUX、DCLKout_MUX和SDCLKoutY_ADLY_EN, SDCLKoutY_ADLY的字段的設(shè)置數(shù)值)。
tsJESD204B在電氣特性部分提供了上述例子中的條件,即-80 ps。
5. 輸入時(shí)鐘切換
手動(dòng)、引腳選擇和自動(dòng)是三種時(shí)鐘輸入切換模式,可以通過(guò)CLKin_SEL_MODE寄存器來(lái)設(shè)置。下面將介紹如何選擇有效的輸入時(shí)鐘,以及在各種時(shí)鐘輸入選擇模式下導(dǎo)致切換事件的原因。
輸入時(shí)鐘切換 - 手動(dòng)模式
當(dāng)CLKin_SEL_MODE為0、1或2時(shí),則CLKin0、CLKin1或CLKin2分別被選擇為活動(dòng)輸入時(shí)鐘。手動(dòng)模式還覆蓋了EN_CLKinX位,這樣即使EN_CLKinX=0,CLKinX緩沖器也會(huì)工作。
如果在這種模式下進(jìn)入保持狀態(tài),在保持狀態(tài)退出后,設(shè)備會(huì)重新鎖定到選定的CLKin。
輸入時(shí)鐘切換 - 引腳選擇模式
當(dāng)CLKin_SEL_MODE為3時(shí),引腳CLKin_SEL0和CLKin_SEL1選擇哪個(gè)時(shí)鐘輸入為有效。
配置引腳選擇模式
- CLKin_SEL0_TYPE必須被編程為一個(gè)輸入值,以便CLKin_SEL0引腳作為引腳選擇模式的輸入。
- CLKin_SEL1_TYPE必須被編程為一個(gè)輸入值,以便CLKin_SEL1引腳作為引腳選擇模式的輸入。
- 如果CLKin_SELX_TYPE被設(shè)置為輸出,則該引腳的輸入值被視為低電平。
- CLKin_SEL0和CLKin_SEL1輸入引腳的極性可以通過(guò)CLKin_SEL_INV位進(jìn)行反轉(zhuǎn)。
下表定義了根據(jù)CLKin_SEL0和CLKin_SEL1的狀態(tài),哪個(gè)輸入時(shí)鐘是有效的。
引腳選擇模式忽略了EN_CLKinX位,這樣,即使EN_CLKinX=0,CLKinX緩沖器也會(huì)工作。為了盡可能快地進(jìn)行切換,請(qǐng)保持可切換的時(shí)鐘輸入緩沖器的啟用(EN_CLKinX = 1)。
輸入時(shí)鐘切換 - 自動(dòng)模式
當(dāng)CLKin_SEL_MODE為4,LOS_EN = 1時(shí),從輸入時(shí)鐘切換事件開(kāi)始,按照啟用的時(shí)鐘輸入的輪流順序選擇活動(dòng)時(shí)鐘。時(shí)鐘的切換順序是CLKin0 → CLKin1 → CLKin2 → CLKin0,以此類(lèi)推。
為了使一個(gè)時(shí)鐘輸入有資格被切換通過(guò),它必須使用EN_CLKinX使能。LOS_TIMEOUT也應(yīng)該被設(shè)置為低于輸入頻率的頻率。
為了確保LOS對(duì)交流耦合輸入有效,必須為CLKinX設(shè)置MOS模式,除非有直流阻斷,否則引腳之間不允許有終端。例如,對(duì)于進(jìn)入CLKin0的LVDS差分信號(hào),在交流耦合電容的IC側(cè)的CLKin0和CLKin0*引腳之間不應(yīng)直接放置100Ω的終端。100Ω可以放置在交流耦合電容的發(fā)射器一側(cè)。
啟動(dòng)有效時(shí)鐘
在對(duì)這種模式進(jìn)行編程時(shí),如果PLL1鎖定檢測(cè)為高電平,則當(dāng)前的有效時(shí)鐘保持有效。為了確保在啟動(dòng)這種模式時(shí),某個(gè)特定的時(shí)鐘輸入是有效時(shí)鐘,將CLKin_SEL_MODE編程為手動(dòng)模式,選擇所需的時(shí)鐘輸入(CLKin0、1或2)。等待PLL1鎖定PLL1_DLD = 1,然后用CLKin_SEL_MODE = 4選擇這種模式。
6. 數(shù)字鎖定檢測(cè)
PLL1和PLL2都支持?jǐn)?shù)字鎖定檢測(cè)。數(shù)字鎖定檢測(cè)在相位檢測(cè)器上比較PLL的參考路徑(R)和反饋路徑(N)之間的相位。當(dāng)兩個(gè)信號(hào)之間的時(shí)間誤差(相位誤差)小于指定的窗口大?。?epsilon;)時(shí),鎖定檢測(cè)計(jì)數(shù)會(huì)增加。當(dāng)鎖定檢測(cè)計(jì)數(shù)達(dá)到用戶指定的值PLL1_DLD_CNT或PLL2_DLD_CNT時(shí),鎖定檢測(cè)被斷言(真)。當(dāng)數(shù)字鎖定檢測(cè)為真時(shí),在指定窗口之外的單相比較會(huì)導(dǎo)致數(shù)字鎖定檢測(cè)被取消(假)。
數(shù)字鎖檢測(cè)流程圖
這個(gè)增量鎖定檢測(cè)計(jì)數(shù)功能作為一個(gè)數(shù)字濾波器,以確保在初始相位鎖定期間,當(dāng)R和N的相位在規(guī)定的公差內(nèi)的短暫時(shí)間內(nèi),鎖定檢測(cè)不會(huì)被斷言。數(shù)字鎖定檢測(cè)信號(hào)可以在Status_LD1或Status_LD2引腳上監(jiān)測(cè)。該引腳可以被編程為輸出PLL1、PLL2或PLL1和PLL2的鎖定檢測(cè)的狀態(tài)。數(shù)字鎖定檢測(cè)功能也可以與保持器一起使用,以自動(dòng)退出保持器模式。
在相位檢測(cè)器頻率的周期接近默認(rèn)的PLL1_WND_SIZE增量值(40ns)的情況下,鎖定檢測(cè)電路將無(wú)法使用PLL1_WND_SIZE的默認(rèn)值。對(duì)于頻率在25 MHz或以上的PLL1相位檢測(cè)器,TI建議將PLL1_WND_SIZE設(shè)置為小于或等于0x02(19 ns)。
7. 保持模式
當(dāng)PLL1的輸入時(shí)鐘參考變?yōu)闊o(wú)效時(shí),當(dāng)PLL1失去鎖定時(shí),或當(dāng)CPout1的電壓超出用戶指定的可接受范圍時(shí),保持模式使PLL2保持鎖定頻率,并使頻率漂移最小。當(dāng)處于保持模式時(shí),PLL1的電荷泵是三態(tài)的,并且在CPout1上設(shè)置了一個(gè)固定的調(diào)諧電壓,使PLL1在開(kāi)環(huán)中運(yùn)行。
啟用保持模式
編程 HOLDOVER_EN = 1 以啟用保持模式。啟用保持模式不會(huì)使器件處于保持狀態(tài),除非滿足相關(guān)條件(例如:PLL1失去鎖定)。編程HOLDOVER_FORCE = 1,強(qiáng)制器件進(jìn)入保持模式。保持模式可以被配置為在進(jìn)入保持狀態(tài)時(shí)將CPout1電壓設(shè)置為一個(gè)固定的用戶定義的電壓或一個(gè)跟蹤電壓。
固定(手動(dòng))CPout1 保持模式
通過(guò)編程MAN_DAC_EN = 1,MAN_DAC值在保持期間被設(shè)置在CPout1引腳上。
用戶可以選擇啟用CPout1電壓跟蹤(TRACK_EN = 1),回讀跟蹤的DAC值,然后根據(jù)以前DAC回讀的信息,將MAN_DAC值重新編程為用戶需要的值。這允許用戶對(duì)保持的CPout1電壓進(jìn)行最大的控制,但也需要更多的用戶干預(yù)。
跟蹤的CPout1保持模式
通過(guò)編程 MAN_DAC_EN = 0 和 TRACK_EN = 1,CPout1 的跟蹤電壓在保持期間被設(shè)置在 CPout1 引腳上。當(dāng)DAC獲得當(dāng)前CPout1電壓時(shí),DAC_Locked信號(hào)被設(shè)置,可以通過(guò)編程PLL1_LD_MUX或PLL2_LD_MUX分別在Status_LD1或Status_LD2引腳上觀察。
跟蹤C(jī)Pout1子模式的DAC值的更新是以PLL1相位檢測(cè)器頻率除以(DAC_CLK_MULT × DAC_CLK_CNTR)的速率進(jìn)行的。
DAC的更新速率應(yīng)被編程為≤100 kHz,以確保DAC的保持精度。
對(duì)慢速DAC更新率進(jìn)行編程的能力,例如,當(dāng)使用1024kHz PLL1相位檢測(cè)器頻率,DAC_CLK_MULT = 16,384,DAC_CLK_CNTR = 255時(shí),允許器件回看并將CPout1設(shè)置在導(dǎo)致保持發(fā)生的事件之前的 "良好 "CPout1調(diào)整電壓值。使用RB_DAC_VALUE可以讀回DAC值的當(dāng)前電壓。
進(jìn)入保持模式
有幾種方法可以進(jìn)入保持狀態(tài)。
- HOLDOVER_LOS_DET = 1,檢測(cè)到活動(dòng)參考的丟失。
- HOLDOVER_PLL1_DET = 1,檢測(cè)到PLL1失去鎖定。
- HOLDOVER_VTUNE_DET = 1,并且DAC在CPout1上監(jiān)測(cè)到的電壓小于DAC_TRIP_LOW設(shè)置的值,或大于DAC_TRIP_HIGH設(shè)置的值。
- holdover_force = 1。
在保持模式期間
PLL1以開(kāi)環(huán)模式運(yùn)行。
- PLL1充電泵被設(shè)置為T(mén)RI-STATE。
- PLL1的DLD被取消斷言。
- HOLDOVER狀態(tài)被斷言。
- 在保持期間,如果PLL2在進(jìn)入保持模式之前被鎖定,PLL2 DLD繼續(xù)被斷言。
- CPout1電壓被設(shè)置為:
- MAN_DAC寄存器中設(shè)置的電壓(MAN_DAC_EN = 1)。
- 被確定為最后一個(gè)有效的CPout1電壓(MAN_DAC_EN = 0)。
- PLL1試圖與有效的時(shí)鐘輸入進(jìn)行鎖定。
通過(guò)將PLL1_DLD_MUX或PLL2_DLD_MUX寄存器編程為HOLDOVER狀態(tài),可以在Status_LD1或Status_LD2引腳上監(jiān)測(cè)HOLDOVER狀態(tài)信號(hào)。
退出保持模式
可以通過(guò)以下兩種方式之一退出暫存模式。
- 手動(dòng),通過(guò)從主機(jī)對(duì)設(shè)備進(jìn)行編程。
- 自動(dòng),通過(guò)在活動(dòng)時(shí)鐘輸入上的當(dāng)前PLL1頻率的特定ppm范圍內(nèi)運(yùn)行的時(shí)鐘。
保持頻率精度和 DAC 性能
當(dāng)處于保持模式時(shí),PLL1以開(kāi)環(huán)方式運(yùn)行,DAC設(shè)置CPout1電壓。如果使用固定的CPout1模式,那么DAC的輸出與MAN_DAC寄存器的電壓有關(guān)。如果使用跟蹤的CPout1模式,那么DAC的輸出是進(jìn)入保持模式前CPout1引腳的電壓。當(dāng)使用跟蹤模式且MAN_DAC_EN=1時(shí),在保持期間,DAC的值被加載到MAN_DAC中的編程值,而不是跟蹤的值。
當(dāng)處于跟蹤C(jī)Pout1模式時(shí),當(dāng)獲得PLL1調(diào)諧電壓時(shí),DAC的最壞情況下的跟蹤誤差為±2 LSBs。步長(zhǎng)約為3.2 mV,因此在保持模式下由DAC跟蹤精度引起的VCXO頻率誤差為±6.4 mV × Kv,其中Kv是使用中的VCXO的調(diào)諧靈敏度。因此,當(dāng)處于保持模式時(shí),系統(tǒng)的精度以ppm計(jì):
例如:考慮一個(gè)具有19.2MHz時(shí)鐘輸入的系統(tǒng),和一個(gè)153.6MHz的VCXO,Kv為17 kHz/V。該系統(tǒng)的保持精度為ppm: ±0.71 ppm = ±6.4 mV × 17 kHz/V × 1e6 / 153.6 MHz
保持模式 - 自動(dòng)退出保持模式
LMK0482x 器件可被編程為在活動(dòng)時(shí)鐘輸入的頻率達(dá)到指定精度時(shí)自動(dòng)退出保持模式??删幊痰淖兞堪?PLL1_WND_SIZE 和 HOLDOVER_DLD_CNT。計(jì)算寄存器的值,以便在參考信號(hào)恢復(fù)到用戶指定的保持頻率的ppm誤差范圍內(nèi)時(shí),使保持模式自動(dòng)退出。
退出保持的時(shí)間可能有所不同,因?yàn)樽詣?dòng)保持退出的條件是參考和反饋信號(hào)的時(shí)間/相位誤差小于一個(gè)可編程的值。由于兩個(gè)時(shí)鐘信號(hào)的頻率可能非常接近,但相位卻不接近,因此在保持退出之前,時(shí)鐘的相位可能需要很長(zhǎng)時(shí)間才能在允許的時(shí)間/相位誤差內(nèi)對(duì)齊。