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