摘要:該篇應用筆記給出了多個具有多路輸入或集成內(nèi)插濾波器的高速復用數(shù)模轉(zhuǎn)換器(DAC)的同步方法。這樣的DAC用于I/Q上變頻器或數(shù)字波束成形發(fā)射器中。這些DAC可提供數(shù)據(jù)時鐘輸出用于與數(shù)據(jù)源的同步。
圖1. 使用多路復用DAC的I/Q發(fā)射器中的DAC和第一上變頻級
使用具有多路輸入的DAC (MUX-DAC)如MAX19692,或具有數(shù)據(jù)時鐘輸出的內(nèi)插DAC時,輸入數(shù)據(jù)速率為DAC刷新速率的1/N,DAC在一個或兩個數(shù)據(jù)時鐘跳變沿鎖存數(shù)據(jù)。MAX19692中N = 4,輸入數(shù)據(jù)速率為DAC刷新速率的1/4。DAC輸出一個由輸入時鐘經(jīng)數(shù)字分頻得到的數(shù)據(jù)時鐘(DATACLK)。DAC上電時,數(shù)字時鐘分頻器可在N個狀態(tài)的任意一個啟動。如果使用多個DAC,不同DAC的時鐘分頻器會在不同的狀態(tài)啟動,所以DAC會在不同的時間鎖存數(shù)據(jù)。除非這種情況被發(fā)現(xiàn)并校正,否則不同的DAC輸出數(shù)據(jù)時相互之間可能會有一個或更多個時鐘周期的延遲。如果每個DAC的時鐘分頻器可以復位,那么這種情況可以避免,但是仍然會存在一些問題。如果其中一個時鐘分頻器發(fā)生錯誤,DAC會變得永久異相,除非執(zhí)行一些錯誤狀態(tài)檢測方法。為了保證系統(tǒng)的可靠性,必須檢測相位錯誤狀態(tài)并改正。如果DAC工作于非常高速的狀態(tài)下,那么復位信號與輸入時鐘的同步也可能是個難題。
圖2所示是MAX19692的時鐘(CLKP,CLKN)和數(shù)據(jù)時鐘(DATACLKP,DATACLKN)接口的簡化框圖。初始時鐘由一個兩位計數(shù)器四分頻后用于鎖存數(shù)字DAC輸入。該計數(shù)器可能在四個狀態(tài)中的任意一個啟動(圖3)。如果使用兩個多路復用DAC,這兩個DAC可能會在不同的狀態(tài)啟動。這可能導致DAC1的鎖存與DAC2的鎖存之間存在-1、0、1或2個時鐘周期的延遲。
MAX19692的數(shù)據(jù)時鐘輸出再由數(shù)據(jù)輸入鎖存時鐘進行2分頻或4分頻。然后數(shù)據(jù)在雙倍數(shù)據(jù)率(DDR)模式下在時鐘的兩個跳變沿進行鎖存,或者在四倍數(shù)據(jù)率(QDR)模式下在時鐘的每90°相位處進行鎖存。如果多個DAC的數(shù)據(jù)時鐘延遲相匹配,或數(shù)據(jù)時鐘相互之間反相,那么鎖存時鐘相匹配。
圖2. MAX19692內(nèi)部時鐘接口框圖
圖3. MAX19692鎖存時鐘(四種可能的狀態(tài))
DAC的同步問題有兩個方面:
可以通過操作一個或更多個DAC的時鐘來實現(xiàn)兩個DAC之間的相位調(diào)整,直到DAC數(shù)據(jù)時鐘輸出的相對相位為零。另外一種方法可以測量數(shù)據(jù)時鐘之間的DAC延遲周期數(shù)和相應的延遲數(shù)據(jù)。下面的段落講述了I/Q配置中的這兩種方法。
圖4. 實現(xiàn)DAC同步的簡單的高速邏輯電路
MUX-DAC1時鐘路徑上與門(G1)的插入允許對MUX-DAC1的時鐘進行操作。MUX-DAC2的時鐘路徑上插入與門(G2)用于延遲匹配。異或門(G3)起相位檢測的作用。當DATACLK1和DATACLK2的輸出不同時G3輸出“1”。如果G3out = “1”,應該“吞掉” MUX-DAC1的時鐘脈沖,將DATACLK1的邊沿移位一個CLK時鐘周期。G3輸出的上升沿(G3out)由FF1和G4組成的上升沿檢測器(PED)來檢測。如果檢測到上升沿,PED輸出“0”,持續(xù)一個時鐘周期。在SPB應用于G1之前,F(xiàn)F2將這個信號重新定時,從而使MUX-DAC1的一個時鐘脈沖被抑制。這就使DATACLK1延遲一個CLK時鐘周期。經(jīng)過若干個時鐘周期后,DATACLK1的延遲與DATACLK2一致,如圖5所示。使用這種方法時,觸發(fā)器要在時鐘的下降沿進行狀態(tài)更新,以消除DAC時鐘信號的毛刺,兩個MUX-DAC的輸入時序要相同。布線時要考慮延遲以確保滿足兩個觸發(fā)器的建立和保持時間的要求,且在時鐘為低時將SPB信號的脈沖應用于G1。否則,時鐘信號可能會產(chǎn)生毛刺。同時建議使用無噪聲電源為時鐘同步電路供電,將抖動的引入減到最小。
圖5. 所示邏輯電路操作的時序圖
MAX19692有四個并行數(shù)據(jù)端口A、B、C和D。輸入DAC的數(shù)據(jù)序列是An、Bn、 Cn、Dn、An+1、Bn+1、Cn+1、Dn+1、An+2等。12位4 x 4柱形移位器(圖6)允許輸入MUX-DAC1的數(shù)據(jù)延遲-1、0、1或2個CLK周期。因此可以進行數(shù)據(jù)等待時間的調(diào)整直到兩個DAC的輸出數(shù)據(jù)同相。這樣的話,兩個DAC的數(shù)據(jù)時鐘可能相距幾個整數(shù)時鐘(CLK)周期且不再改變。由于DAC的建立和保持時間以數(shù)據(jù)時鐘為基準,所以兩個DAC的數(shù)據(jù)時序必須不同??梢酝ㄟ^驅(qū)動DAC的FPGA中的多個DCM來實現(xiàn)。
圖6. 利用FPGA中桶形移位器的實現(xiàn)完成MUX-DAC的同步
圖7. 每個DAC使用一個PLL實現(xiàn)MUX-DAC同步
這種方法中,兩個DAC的建立和保持時間相匹配。但是這種方法有兩個缺點,兩個PLL會帶來額外的成本且PLL的相位噪聲極限可能會造成性能極限。
概述
在很多發(fā)射應用中必須產(chǎn)生多路相對相位準確已知的模擬輸出。在正交調(diào)制器中(圖1),I和Q通道必須具有明確的相位關系來實現(xiàn)鏡頻抑制。圖1中,DAC1和DAC2的延遲必須匹配。使用數(shù)字波束成形技術(shù)的發(fā)射器需要準確地控制大量DAC之間的相對相位。圖1. 使用多路復用DAC的I/Q發(fā)射器中的DAC和第一上變頻級
使用具有多路輸入的DAC (MUX-DAC)如MAX19692,或具有數(shù)據(jù)時鐘輸出的內(nèi)插DAC時,輸入數(shù)據(jù)速率為DAC刷新速率的1/N,DAC在一個或兩個數(shù)據(jù)時鐘跳變沿鎖存數(shù)據(jù)。MAX19692中N = 4,輸入數(shù)據(jù)速率為DAC刷新速率的1/4。DAC輸出一個由輸入時鐘經(jīng)數(shù)字分頻得到的數(shù)據(jù)時鐘(DATACLK)。DAC上電時,數(shù)字時鐘分頻器可在N個狀態(tài)的任意一個啟動。如果使用多個DAC,不同DAC的時鐘分頻器會在不同的狀態(tài)啟動,所以DAC會在不同的時間鎖存數(shù)據(jù)。除非這種情況被發(fā)現(xiàn)并校正,否則不同的DAC輸出數(shù)據(jù)時相互之間可能會有一個或更多個時鐘周期的延遲。如果每個DAC的時鐘分頻器可以復位,那么這種情況可以避免,但是仍然會存在一些問題。如果其中一個時鐘分頻器發(fā)生錯誤,DAC會變得永久異相,除非執(zhí)行一些錯誤狀態(tài)檢測方法。為了保證系統(tǒng)的可靠性,必須檢測相位錯誤狀態(tài)并改正。如果DAC工作于非常高速的狀態(tài)下,那么復位信號與輸入時鐘的同步也可能是個難題。
圖2所示是MAX19692的時鐘(CLKP,CLKN)和數(shù)據(jù)時鐘(DATACLKP,DATACLKN)接口的簡化框圖。初始時鐘由一個兩位計數(shù)器四分頻后用于鎖存數(shù)字DAC輸入。該計數(shù)器可能在四個狀態(tài)中的任意一個啟動(圖3)。如果使用兩個多路復用DAC,這兩個DAC可能會在不同的狀態(tài)啟動。這可能導致DAC1的鎖存與DAC2的鎖存之間存在-1、0、1或2個時鐘周期的延遲。
MAX19692的數(shù)據(jù)時鐘輸出再由數(shù)據(jù)輸入鎖存時鐘進行2分頻或4分頻。然后數(shù)據(jù)在雙倍數(shù)據(jù)率(DDR)模式下在時鐘的兩個跳變沿進行鎖存,或者在四倍數(shù)據(jù)率(QDR)模式下在時鐘的每90°相位處進行鎖存。如果多個DAC的數(shù)據(jù)時鐘延遲相匹配,或數(shù)據(jù)時鐘相互之間反相,那么鎖存時鐘相匹配。
圖2. MAX19692內(nèi)部時鐘接口框圖
圖3. MAX19692鎖存時鐘(四種可能的狀態(tài))
DAC的同步問題有兩個方面:
- DAC的鎖存時鐘之間的相對相位必須被檢測。
- DAC之間的相對相位必須被調(diào)整直到DAC被合適地定相。
可以通過操作一個或更多個DAC的時鐘來實現(xiàn)兩個DAC之間的相位調(diào)整,直到DAC數(shù)據(jù)時鐘輸出的相對相位為零。另外一種方法可以測量數(shù)據(jù)時鐘之間的DAC延遲周期數(shù)和相應的延遲數(shù)據(jù)。下面的段落講述了I/Q配置中的這兩種方法。
通過“吞”脈沖實現(xiàn)DAC相位調(diào)整
如果DAC使用方波(比如ECL)時鐘,兩個DAC之間的同步可以用圖4所示的簡單的高速邏輯電路來實現(xiàn)。為了簡單明了,該原理圖中的邏輯配置只能實現(xiàn)單端功能。但是實際應用中會使用差分邏輯如ECL來實現(xiàn)高速和低噪聲性能。圖4. 實現(xiàn)DAC同步的簡單的高速邏輯電路
MUX-DAC1時鐘路徑上與門(G1)的插入允許對MUX-DAC1的時鐘進行操作。MUX-DAC2的時鐘路徑上插入與門(G2)用于延遲匹配。異或門(G3)起相位檢測的作用。當DATACLK1和DATACLK2的輸出不同時G3輸出“1”。如果G3out = “1”,應該“吞掉” MUX-DAC1的時鐘脈沖,將DATACLK1的邊沿移位一個CLK時鐘周期。G3輸出的上升沿(G3out)由FF1和G4組成的上升沿檢測器(PED)來檢測。如果檢測到上升沿,PED輸出“0”,持續(xù)一個時鐘周期。在SPB應用于G1之前,F(xiàn)F2將這個信號重新定時,從而使MUX-DAC1的一個時鐘脈沖被抑制。這就使DATACLK1延遲一個CLK時鐘周期。經(jīng)過若干個時鐘周期后,DATACLK1的延遲與DATACLK2一致,如圖5所示。使用這種方法時,觸發(fā)器要在時鐘的下降沿進行狀態(tài)更新,以消除DAC時鐘信號的毛刺,兩個MUX-DAC的輸入時序要相同。布線時要考慮延遲以確保滿足兩個觸發(fā)器的建立和保持時間的要求,且在時鐘為低時將SPB信號的脈沖應用于G1。否則,時鐘信號可能會產(chǎn)生毛刺。同時建議使用無噪聲電源為時鐘同步電路供電,將抖動的引入減到最小。
圖5. 所示邏輯電路操作的時序圖
通過輸入數(shù)據(jù)移位實現(xiàn)DAC相位調(diào)整
可以利用Xilinx? FPGA中先進的數(shù)字時鐘管理程序(DCM)來檢測兩個MUX-DAC的數(shù)據(jù)時鐘之間的相位差異(圖6)。DCM1生成一個與DATACLK1和DATACLK2相同頻率的時鐘。以時鐘周期的1/256為間距對DCLK1的延遲進行動態(tài)調(diào)整。觸發(fā)器DFF1和DFF2在每個時鐘周期對DATACLK1和DATACLK2進行一次采樣。如果DFF1在DATACLK1為低時采樣DATACLK1,DFF1會輸出固定的“0”。如果DFF1在DATACLK1為高時采樣DATACLK1,DFF1會輸出固定的“1”。所以DFF3和DFF4可在任意時鐘相位定時,與DCLK1的延遲設置無關。通過將DCLK1的延遲進行分級,使用DCM1的動態(tài)延遲調(diào)整功能以及讀取DFF3和DFF4的輸出,我們可以得到基于DATACLK1和DATACLK2上升沿的延遲設置。根據(jù)延遲設置,我們可以計算出為了保持MUX-DAC1和MUX-DAC2輸入數(shù)據(jù)的同相,MUX-DAC1的輸入數(shù)據(jù)需要延遲的DAC時鐘周期數(shù)。FPGA中4 x 4桶形移位器的實現(xiàn)可使數(shù)據(jù)等待時間以一個DAC時鐘周期為增量進行改變(參見圖6)。MAX19692有四個并行數(shù)據(jù)端口A、B、C和D。輸入DAC的數(shù)據(jù)序列是An、Bn、 Cn、Dn、An+1、Bn+1、Cn+1、Dn+1、An+2等。12位4 x 4柱形移位器(圖6)允許輸入MUX-DAC1的數(shù)據(jù)延遲-1、0、1或2個CLK周期。因此可以進行數(shù)據(jù)等待時間的調(diào)整直到兩個DAC的輸出數(shù)據(jù)同相。這樣的話,兩個DAC的數(shù)據(jù)時鐘可能相距幾個整數(shù)時鐘(CLK)周期且不再改變。由于DAC的建立和保持時間以數(shù)據(jù)時鐘為基準,所以兩個DAC的數(shù)據(jù)時序必須不同??梢酝ㄟ^驅(qū)動DAC的FPGA中的多個DCM來實現(xiàn)。
圖6. 利用FPGA中桶形移位器的實現(xiàn)完成MUX-DAC的同步
每個DAC使用一個PLL實現(xiàn)DAC同步
如果DAC使用鎖相環(huán)(PLL)合成器來定時,那么同步兩個DAC的方法就是每個DAC使用單獨的PLL (圖7)。DAC1和DAC2的LVDS數(shù)據(jù)時鐘輸出相位與參考時鐘相比較。這樣的話,DAC的內(nèi)部時鐘分頻器在時鐘生成PLL中作為反饋分頻器使用。圖7. 每個DAC使用一個PLL實現(xiàn)MUX-DAC同步
這種方法中,兩個DAC的建立和保持時間相匹配。但是這種方法有兩個缺點,兩個PLL會帶來額外的成本且PLL的相位噪聲極限可能會造成性能極限。
評論
查看更多