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