《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 業(yè)界動態(tài) > MAX5881直接RF合成DAC與FPGA的接口

MAX5881直接RF合成DAC與FPGA的接口

2009-01-31
作者:Brian Dellacroce

介紹

??? 由于MAX5881 4.3Gsps下行電纜直接RF合成DAC具有寬帶特性,相比窄帶DAC,它的數(shù)據(jù)接口需要更高的工作頻率。通常,設計寬帶數(shù)據(jù)接口時,需要注意確保其工作可靠、無誤。

接口架構

??? FPGA功能可以有多種不同組合,有幾種接口架構可供選擇,其中之一如圖1所示。這種架構可以支持較寬的工作頻率范圍,并且對處理過程、電壓和溫度(PVT)變化有較好的容限。本應用筆記重點討論這種架構的特征。通過數(shù)據(jù)接口的具體時序分析,突出了該架構相比其它架構的優(yōu)點。

圖1. MAX5881與Xilinx Virtex-5 FPGA的接口(CLKDIV = 0,DDR數(shù)據(jù)接口架構)


圖1. MAX5881與Xilinx Virtex-5 FPGA的接口(CLKDIV = 0,DDR數(shù)據(jù)接口架構)

時鐘

??? MAX5881具有獨立的模擬和數(shù)字時鐘。MAX5881為數(shù)字數(shù)據(jù)接口提供時鐘輸出。由于作為數(shù)據(jù)源的FPGA并不是數(shù)據(jù)時鐘源,所以,需要使用一個“系統(tǒng)同步”的數(shù)據(jù)接口1。需要注意的是,MAX5881的數(shù)據(jù)時鐘輸出DATACLKP/DATACLKN抖動非常小,原因是它直接來自于高質量的模擬時鐘CLKP/CLKN輸入。

??? 對FPGA DCM2使用外部時鐘反饋,以自動補償FPGA固有的隨溫度變化的輸出數(shù)據(jù)時鐘。設計外部時鐘反饋路徑,使其嚴格匹配MAX5881的DATACLKP/DATACLKN輸出到FPGA內部數(shù)據(jù)路徑的延時。這確保了由數(shù)字時鐘管理器(DCM)提供的時鐘補償與FPGA時鐘、數(shù)據(jù)路徑的溫度漂移相一致。使時鐘反饋信號的PCB路徑與數(shù)據(jù)路徑加上DATACLK路徑長度相等,以確保FPGA的數(shù)據(jù)輸出變化與DATACLK邊沿一致。給時鐘反饋路徑加上額外的延時,可以使數(shù)據(jù)與時鐘保持一致。設計或調整延時以確保MAX5881從數(shù)據(jù)建立到保持時間段內的數(shù)據(jù)穩(wěn)定性??梢圆捎醚娱L時鐘反饋信號路徑長度、或者在反饋路徑上增加一個FPGA ODELAY器件的方法,以實現(xiàn)這種額外的延時。

數(shù)據(jù)速率

??? 把MAX5881的CLKDIV引腳設置為低電平,F(xiàn)PGA配置為雙倍率(DDR)輸出數(shù)據(jù)格式。在這種情況下,DATACLKP/DATACLKN信號的頻率是MAX5581 CLKP/CLKN引腳輸入時鐘頻率的四分之一。對于MAX5581的更新速率,CLKP/CLKN的頻率是2.0GHz。使得DATACLKP/DATACLKN的頻率為500MHz。這個500MHz的時鐘信號用來驅動FPGA的串行器(OSERDES),串行器配置為在時鐘的上升和下降沿都會輸出數(shù)據(jù)。因此FPGA輸出數(shù)據(jù)的周期是1ns (或者1.0GHz)。由于Xilinx不允許DCM (或者此種情況下的PLL)配置成外部時鐘反饋和多重輸出時鐘,配置CLKDIV = 0,可以避免生成一個雙倍頻率時鐘驅動串行器。位于FPGA最后端的數(shù)據(jù)輸出級的OSERDES器件減小了上行時鐘或OSERDES側數(shù)據(jù)輸入的頻率。這使得FPGA的布局和布線變得容易。對于MAX5581的更新速率,上行時鐘的頻率是250MHz。

接口時序

??? 表1以數(shù)據(jù)表的方式提供了數(shù)據(jù)接口的時序分析。通過兩個部分進行分析,第一部分,對接口工作頻率進行分析,稱為“數(shù)據(jù)周期分析”。這部分內容不考慮在數(shù)據(jù)周期內穩(wěn)定數(shù)據(jù)的確切位置。然而,它可以確定:是否可能調整時鐘反饋延時,以確保MAX5881從數(shù)據(jù)建立到數(shù)據(jù)保持時間窗口內的數(shù)據(jù)穩(wěn)定性。數(shù)據(jù)表中分析了一個工作頻率,并重復分析了其它幾個工作頻率(沒有示意),圖2所示為分析結果。同時,圖3給出了時序參考波形。



表1. Virtex-5與MAX5881接口的數(shù)據(jù)周期分析

Value Unit Specification Description Source Notes
4.300 GHz fDAC MAX5881 output update rate MAX5881 data sheet
0.5375 GHz fDATACLK = fDAC/8 DDR interface mode MAX5881 data sheet ?
930 ps tDATAPERIOD = 1/(2 × fDATACLK) Data period MAX5881 data sheet ?
50 ps tINFBOFFSET FPGA DCM feedback phase error (peak ±) Xilinx ds202.pdf ?
120 ps tPERJITT FPGA DCM jitter (peak ±) Xilinx ds202.pdf ?
121 ps dtOUTWC Worst PVT FPGA output-to-output skew (peak-to-peak) '.twr' post-layout static timing report from Xilinx static timing analyzer (worst-case PVT) ?
1.4 ps dtPCB Board output-to-output skew Estimate All PCB data and data clock trace lengths matched
462 ps dtTOTAL = (2 × tINFBOFFSET) + (2 × tPERJITT) + dtOUTWC + dtPCB Total FPGA data output timing variance ? ?
1100 ps tSETUP MAX5881 setup time MAX5881 data sheet ?
-760 ps tHOLD MAX5881 hold time MAX5881 data sheet ?
590 ps tDW = tDATAPERIOD - (tSETUP + tHOLD) MAX5881 data change window ? Time in clock period when data does not have to be valid and stable
128 ps tPSL = tDW - dtTOTAL Period timing slack ? Extra time between FPGA changing data; data must be stable at DAC

圖2. 周期容限


圖2. 周期容限

圖3. 時序參考波形
圖3. 時序參考波形


??? 時序分析的第二部分計算了所需要的時鐘反饋延時(表2),同時計算了與反饋延時相對應的建立和保持時間容限,或者叫做時序余量。



表2. 數(shù)據(jù)時序分析(MAX5881的引腳DELAY = 0)

Value Unit Specification Description Source Notes
0 ps tDOUTNOM FPGA clock-to-data output delay FPGA external clock-feedback configuration Feedback-path length equal to data-path length plus clock-path length; this centers data transitions at the clock edge
-170 ps tSUNOM = tDATAPERIOD - tSETUP - tDOUTNOM Nominal setup margin (without dtTOTAL factor) ? Calculate margin without jitter, skew, and phase-error effects first; they are accounted for later
760 ps tHLDNOM = tDOUTNOM - tHOLD Nominal hold margin ? Calculate margin without jitter, skew, and phase-error effects first; they are accounted for later
-401 ps tSUABS = tSUNOM - dtTOTAL/2 Absolute setup margin (including dtTOTAL factor) ? Include jitter, skew, and phase-error effects
529 ps tHLDABS = tHLDNOM - dtTOTAL/2 Absolute hold margin (including dtTOTAL factor) ? Include jitter, skew, and phase-error effects
-529 ps tDADVANCE = -tHLDABS Delay-adjusted FPGA clock-to-data output External clock feedback with feedback-path length equal to data-path length plus clock-path length plus tHLDABS Place data transition immediately after tHOLD
128 ps tSUFINAL = tSUABS - tDADVANCE Delay-adjusted setup margin ? ?
0 ps tHLDFINAL = tHLDABS + tDADVANCE Delay-adjusted hold margin ? ?


?

??? 同樣地,這部分分析在各種工作頻率下重復進行。由于數(shù)據(jù)生成量太大,表格中沒有給出這些數(shù)據(jù),而是用圖4建立容限和圖5保持容限給出了曲線示意圖。


圖4. 建立容限


圖4. 建立容限

圖5. 保持容限
圖5. 保持容限



??? 需要注意的是,在圖4和圖5中,時鐘反饋延時基于寬工作頻率范圍(變化的fDAC)進行計算。實現(xiàn)方法是設置無效數(shù)據(jù)窗口的前沿,也就是在這個位置,數(shù)據(jù)開始變化為MAX5881保持時間后的下一個值。換句話說,一旦滿足了保持時間規(guī)定,F(xiàn)PGA就開始轉換到下一個數(shù)據(jù)值。

??? 對于某一個特定頻率,可以使用增加保持時間容限并且減少建立時間容限的方法來平衡建立時間和保持時間容限。這是通過在時鐘反饋路徑上插入可變延時的途徑實現(xiàn)的。對于低頻,建立和保持時間容限足夠大,容限平衡將失去意義。

圖6. 容限平衡


圖6. 容限平衡

其它處理過程

??? 由于FPGA器件的靈活性,可以考慮多種設計方法。研究這些方法的具體細節(jié)超出了本篇應用筆記的范圍,這里只簡單描述其中幾種:

  1. 使用DCM相位偏移控制輸出數(shù)據(jù)變化,而不是靠增加DCM時鐘反饋路徑的長度來增加額外延時。這種方法在軟件延時調整方面具有優(yōu)勢,但同時引入了由FPGA相位偏移電路帶來的更多的時序不確定性。
  2. 在DCM反饋路徑中使用ODELAY器件。同樣,在軟件延時調整靈活性方面具有優(yōu)勢,但也會引入更多的時序不確定性。
  3. 使用方法1或者方法2,但對器件進行逐個校準。MAX5881特性數(shù)據(jù)表明,在所有器件整個溫度范圍內,每個器件的數(shù)據(jù)采樣窗變化量是151ps相比于340ps。每個器件的微小時序變化可以補償FPGA時序不確定性。使用這種方法,可以減小FPGA器件間的某些時序差異。

結論

??? 通過仔細選擇系統(tǒng)架構、PCB設計和利用特定的設計,F(xiàn)PGA可以成功地與MAX5881接口,并且具有正的數(shù)據(jù)時序容限。
本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。