簡(jiǎn)介
AD9779 TxDAC的DAC輸出采樣速率最高可達(dá)1 GSPS.在某些應(yīng)用中,例如需要波束導(dǎo)引的應(yīng)用,用戶可以同步多個(gè)AD9779.因此,當(dāng)AD9779以接近最高速度工作時(shí),TxDAC時(shí)序特性變得至關(guān)重要。
本應(yīng)用筆記不討論AD9779運(yùn)作涉及到的全部細(xì)節(jié)。若要全面了解其內(nèi)部數(shù)字引擎,用戶應(yīng)參閱AD9779數(shù)據(jù)手冊(cè)。本應(yīng)用筆記擴(kuò)展了SYNC_I的使用,使多個(gè)AD9779器件實(shí)現(xiàn)相同的REFCLK/DATACLK同步。
在傳統(tǒng)的插值TxDAC中,當(dāng)DAC采用DAC輸出采樣速率時(shí)鐘驅(qū)動(dòng)時(shí),會(huì)產(chǎn)生兩個(gè)問(wèn)題。第一,可能難以確定輸入數(shù)據(jù)在哪一個(gè)DACCLK沿鎖存。多數(shù)DAC解決這一問(wèn)題的方法是提供一個(gè)DATACLK信號(hào)輸出,以指示輸入寄存器鎖存沿的位置。第二個(gè)問(wèn)題發(fā)生于用戶試圖同步多個(gè)TxDAC時(shí),這是本應(yīng)用筆記的主題。多個(gè)器件的DATACLK輸出并不保證同步,上電時(shí)僅靠器件本身不大可能實(shí)現(xiàn)同步。AD9779解決這一問(wèn)題的方法是為數(shù)據(jù)同步提供第二個(gè)時(shí)鐘,該時(shí)鐘稱為SYNC_I,是AD9779的一路輸入,可以用來(lái)同步多個(gè)AD9779的輸入數(shù)據(jù)鎖存。
本應(yīng)用筆記將詳細(xì)說(shuō)明用于同步多個(gè)AD9779器件的數(shù)字?jǐn)?shù)據(jù)輸入的方法。DAC輸出的相位對(duì)齊通過(guò)設(shè)計(jì)保證,精度小于一個(gè)DACCLK輸出周期。然而,由于輸出延遲不匹配(室溫下及冷熱溫度下),多個(gè)DAC輸出的相位對(duì)齊可能存在細(xì)微的不一致,本應(yīng)用筆記不討論這一問(wèn)題。
同步方案
同步多個(gè)AD9779 DAC有兩種方案。在第一種方案中,一個(gè)器件用作主器件,其余器件用作從器件。在第二種方案中,所有器件都是從器件。兩種方案具有相同的時(shí)序限制,不存在性能權(quán)衡。主/從模式和從模式的框圖分別如圖1和圖2所示。
圖1. 主/從SYNC_I/O分配
圖2. 從SYNC_I分配
同步詳解
工作中,差分時(shí)鐘信號(hào)驅(qū)動(dòng)所有主器件和從器件的AD9779 REFCLK輸入。REFCLK輸入接收器是一個(gè)高增益差分放大器,各差分輸入需要接近400 mV的共模輸入電平和至少400 mV p-p的擺幅。
如果選定了主器件,可以使能主器件的差分LVDS輸出信號(hào),該信號(hào)稱為SYNC_O+和SYNC_O?.通過(guò)寄存器0x07的位5,可以將SYNC_O設(shè)置為在DACCLK的上升沿或下降沿觸發(fā)。SYNC_O還有一個(gè)可編程的延遲,可以通過(guò)寄存器0x04的位0 (MSB)和寄存器0x05的位[7:4] (LSB)設(shè)置。SYNC_O通過(guò)將同步驅(qū)動(dòng)器使能位(寄存器0x07的位6)置1而使能。SYNC_O信號(hào)速度可以是REFCLK速度的整數(shù)除數(shù),通過(guò)寄存器0x04的位[3:1]設(shè)置。主器件的REFCLK輸入和SYNC_O信號(hào)的可能時(shí)序情況如圖3所示。
圖3. DACCLK SYNC_O時(shí)序
SYNC_O驅(qū)動(dòng)器和SYNC_I接收器規(guī)定用于LVDS電平(參見AD9779數(shù)據(jù)手冊(cè))。
驅(qū)動(dòng)多個(gè)AD9779器件的CMOS數(shù)字?jǐn)?shù)據(jù)輸入的并行數(shù)字輸入總線在時(shí)間上應(yīng)均衡。如果多條數(shù)據(jù)總線不均衡,可以利用AD9779的編程能力,通過(guò)DATA_CLOCK_DELAY(寄存器0x04的位[7:4])以大約180 ps的增量偏移各AD9779的鎖存時(shí)間。AD9779無(wú)法補(bǔ)償單條數(shù)據(jù)總線中包含的位偏斜。
在所有AD9779器件上,SYNC_I、REFCLK輸入與CMOS數(shù)字輸入數(shù)據(jù)之間都存在建立保持關(guān)系。AD9779數(shù)據(jù)手冊(cè)的"時(shí)序信息"部分說(shuō)明了這些時(shí)序關(guān)系。
SYNC_O和SYNC_O_DELAY的推薦應(yīng)用是利用SYNC_O_DELAY來(lái)均衡SYNC_I和REFCLK的時(shí)序,確保其時(shí)序關(guān)系有效。
SYNC_I具有其自己的可編程延遲,可以通過(guò)寄存器0x05的位0 (MSB)和寄存器0x06的位[7:4] (LSB)設(shè)置。SYNC_I_DELAY可以用于均衡不理想或者選用圖2所示電路的應(yīng)用中。SYNC_I通過(guò)將同步接收器使能位(寄存器0x07的位7)置1而使能。
表1顯示了增量延遲SYNC_O_DELAY和SYNC_I_DELAY,這些延遲可以通過(guò)SPI寄存器設(shè)置。
表 1
圖4所示為用于同步多個(gè)AD9779的內(nèi)部電路框圖。在可編程的延遲后,SYNC_I信號(hào)得到處理,使得對(duì)于SYNC_I的每個(gè)上升沿,只剩下一個(gè)長(zhǎng)度為DACCLK周期的脈沖。注意在這種情況下,DACCLK代表AD9779 DAC的內(nèi)部采樣速率時(shí)鐘,它可以與REFCLK相同,具體取決于對(duì)AD9779的編程。長(zhǎng)度為DACCLK周期的該單一脈沖驅(qū)動(dòng)圖4中的5位分頻器的負(fù)載信號(hào)。分頻器延遲邏輯的5信號(hào)輸出代表所有插值速率的可能DATACLK信號(hào),包括使能零填充的可能性。通過(guò)設(shè)置DACCLK偏移寄存器,圖4中的位1至位4可以DACCLK周期為增量進(jìn)行延遲。5位分頻器的內(nèi)部時(shí)序、負(fù)載信號(hào)的影響和DACCLK偏移值如圖6所示。
圖4. AD9779多DAC同步電路框圖
邊沿檢測(cè)器還驅(qū)動(dòng)誤差檢測(cè)電路,圖5更詳細(xì)地顯示了該電路??删幊陶`差檢測(cè)電路可以用來(lái)測(cè)量時(shí)序裕量,如果超出時(shí)序裕量,將產(chǎn)生中斷。
圖5. 可編程時(shí)序裕量和負(fù)載信號(hào)產(chǎn)生詳情
圖6. SYNC_I、DACCLK和DATACLK的內(nèi)部時(shí)序
圖5更詳細(xì)地顯示了圖4中虛線所示的電路。在電路內(nèi)部,F(xiàn)F5輸入端的信號(hào)相互之間必須滿足建立保持要求。FF5輸入端的無(wú)效時(shí)序可能導(dǎo)致REFCLK與數(shù)字輸入數(shù)據(jù)之間的同步丟失。此點(diǎn)的時(shí)序故障通常表現(xiàn)為DAC輸出噪底的提高。對(duì)于DACCLK和SYNC_I輸入,F(xiàn)F5輸入端的時(shí)序要求變?yōu)榻⒈3忠蟆?br />
改變同步輸入延遲可以有效移動(dòng)REFCLK/SYNC_I的有效時(shí)序窗口。在實(shí)際應(yīng)用中,對(duì)于給定的同步輸入延遲,將產(chǎn)生一個(gè)具有給定寬度的有效REFCLK/SYNC_I時(shí)序窗口。如果時(shí)序裕量按1遞增,可以將時(shí)序裕量值設(shè)置為SYNC IRQ的設(shè)置值。將時(shí)序裕量設(shè)置為此值時(shí),事實(shí)上是將SYNC IRQ設(shè)置為0裕量。SYNC IRQ不區(qū)別建立和保持違規(guī)引起的時(shí)序誤差。然而,根據(jù)設(shè)計(jì),當(dāng)可編程時(shí)序裕量超過(guò)建立和保持裕量二者中的較小者時(shí),SYNC IRQ置1.用戶可以通過(guò)提高寄存器0x06位[3:0]的值來(lái)提高時(shí)序裕量。對(duì)于0裕量,如果存在任何偏向敏感(建立或保持)特性的漂移,則SYNC IRQ置1.
事實(shí)上,DACCLK會(huì)對(duì)邊沿檢測(cè)器的輸出進(jìn)行采樣。邊沿檢測(cè)器的輸出是一個(gè)邏輯高電平寬度等于一個(gè)DACCLK周期的單脈沖。為使負(fù)載信號(hào)有效,邊沿檢測(cè)器的輸出在圍繞內(nèi)部DACCLK信號(hào)上升沿的給定時(shí)序窗口內(nèi)必須保持穩(wěn)定(高電平或低電平)。
假設(shè)可編程時(shí)序裕量設(shè)為0,并且FF5輸入端的時(shí)序有效,則FF3和FF4的Q輸出相同,SYNC IRQ處于復(fù)位狀態(tài)。在同樣的條件下,如果FF5輸入端的時(shí)序無(wú)效,則FF3和FF4的輸出不同,SYNC IRQ置1.如果FF5輸入端存在有效的時(shí)序條件,則必須將可編程時(shí)序裕量設(shè)置為大于0的值才能確定時(shí)序裕量。
設(shè)計(jì)一個(gè)在主/從同步配置下使用AD9779的系統(tǒng)時(shí),推薦的程序是在SYNC IRQ置1前找出SYNC_O_DELAY的值(在該值時(shí),可編程時(shí)序裕量可以設(shè)置為最大可能的值),這代表最佳的時(shí)序和最大的時(shí)序裕量。然后,用戶可以降低可編程時(shí)序裕量的值??删幊虝r(shí)序裕量的降幅代表SYNC IRQ對(duì)漂移的敏感度。
在AD9779可以接收的高DACCLK頻率時(shí),DACCLK和SYNC_I的有效時(shí)序窗口可能占DACCLK周期相當(dāng)大的一部分。然而,在較低的DACCLK頻率時(shí),可編程時(shí)序裕量的范圍可能不會(huì)讓用戶有機(jī)會(huì)找到無(wú)效的時(shí)序窗口。這種情況下,用戶可以確信:在正常漂移下,AD9779不會(huì)隨溫度漂移到無(wú)效時(shí)序狀況中。
為確保同步,SYNC_I的最大速率為DATACLK/2,其中DATACLK是AD9779的輸入數(shù)據(jù)速率(不是DACCLK)。圖6給出了應(yīng)用SYNC_I的兩個(gè)可能示例。在這兩個(gè)例子中,AD9779均處于4×插值模式,SYNC_I以DACCLK/8的速度運(yùn)行。因此,4×線也是DATACLK輸出信號(hào)。在圖6 (a)中,DACCLK偏移值設(shè)為00000.在內(nèi)部SYNC_I延遲(a)信號(hào)的上升沿,DACCLK上升沿使所有DATACLK輸出位復(fù)位到0.注意,為在時(shí)間(X)設(shè)置4×線,SYNC_I延遲必須發(fā)生在相對(duì)于DACCLK的窗口(Y)。如果SYNC_I延遲(a)的發(fā)生時(shí)間略微提前或落后于此窗口,4×線的上升沿將提前或滯后一個(gè)DACCLK周期。
注意,當(dāng)DACCLK偏移值為00000時(shí),應(yīng)用SYNC_I延遲(a)與4×線的上升沿之間存在一個(gè)DACCLK周期的延遲。
在圖6 (b)中,DACCLK偏移值在時(shí)間(Z)設(shè)為00010.因此,8×、4×和2×設(shè)為010(與DACCLK偏移位一致)。4×線(DATACLK輸出)的下一個(gè)上升沿出現(xiàn)在3個(gè)DACCLK周期之后。
如果多個(gè)DAC在某一時(shí)間窗口內(nèi)接收到SYNC_I脈沖,并且它們?nèi)季哂邢嗤腄ACCLK偏移值,則其DATACLK信號(hào)同步。因此,多個(gè)AD9779器件的數(shù)據(jù)鎖存同時(shí)發(fā)生。
在初始同步期間,2×、4×和8×計(jì)數(shù)器位可能不連續(xù)。這就是說(shuō),在初始應(yīng)用SYNC_I上升沿時(shí),計(jì)數(shù)器可能處于這樣一種狀態(tài),使得同步可能導(dǎo)致其改變多個(gè)值。然而,在初始同步完成后,只要SYNC_I的速度保持DATACLK/2或更慢,那么同步脈沖只會(huì)在2×、4×和8×位復(fù)位到0時(shí)出現(xiàn)。(這似乎是多余的,但在實(shí)現(xiàn)同步后,SYNC_I脈沖實(shí)際上不必應(yīng)用。)初始脈沖后的周期性SYNC_I脈沖主要用于AD9779器件失去同步這一罕有場(chǎng)合。電源毛刺或不良時(shí)鐘脈沖觸發(fā)系統(tǒng)中的某些但不是全部AD9779器件時(shí),可能發(fā)生器件失去同步的情況。
時(shí)序規(guī)格。
第一個(gè)需要注意的時(shí)序規(guī)格是SYNC_I與REFCLK之間的關(guān)系,如圖7所示。從AD9779數(shù)據(jù)手冊(cè)可知,所需的時(shí)序規(guī)格為:tS = -0.2 ns,tH = 1.0 ns.
圖7. REFCLK與SYNC_I的時(shí)序關(guān)系
如果DACCLK OFFSET值被設(shè)置為非0值,則圖7所示的DACCLK信號(hào)會(huì)左移一個(gè)DACCLK周期。同樣,如果SYNC_I_DELAY被設(shè)置為非0值,則SYNC_I_DELAY每遞增一次,圖7中的SYNC_I信號(hào)就會(huì)左移AD9779數(shù)據(jù)手冊(cè)給定的SYNC_I_DELAY增量。
第二個(gè)重要時(shí)序規(guī)格是DATACLK輸出與數(shù)字輸入數(shù)據(jù)之間的時(shí)序關(guān)系,該時(shí)序信息如圖8所示。當(dāng)DATACLK_DELAY_ENABLE復(fù)位時(shí),這些值有效。如果DATACLK_DELAY_ENABLE置1,則DATACLK發(fā)生延遲(移至圖8右側(cè)),而數(shù)字輸入數(shù)據(jù)的采樣點(diǎn)保持靜止。因此,tS和tH的阻擋窗口相對(duì)于DATACLK左移。DATACLK_DELAY_ENABLE置1時(shí),每遞增一次的平均延遲和DATACLK_DELAY的增量值參見AD9779數(shù)據(jù)手冊(cè)。
圖8. 建立保持、DATACLK到輸入數(shù)據(jù)
建立保持?jǐn)?shù)據(jù)與REFCLK的關(guān)系參見AD9779數(shù)據(jù)手冊(cè),某些應(yīng)用中該數(shù)據(jù)也是必要的。