基于FPGA的LVDS接口應(yīng)用
LVDS_TX模塊的設(shè)置如圖7所示,這里使用外部時鐘控制,即在LVDS模塊外重新定制一個PLL,此PLL要設(shè)置在LVDS模式下,PLL類型會自動選擇為Fast PLL。這時PLL會有3個輸出c0,sclkout0,enable0。輸入時鐘inclk0設(shè)為160 MHz,LVDS數(shù)據(jù)率置為640 Mbit·s-1,則輸出c0為核時鐘,頻率為160 MHz,輸出sclkout0為串行化輸出時鐘640 MHz,輸出enable0為LVDS輸入使能信號。本文引用地址:http://www.ex-cimer.com/article/190723.htm
在外部PLL設(shè)置中可以對輸出的核時鐘和高速串行化輸出時鐘的相位進(jìn)行調(diào)節(jié),因為FPGA的高速時鐘由于內(nèi)部布線等原因可能會產(chǎn)生一些相位偏斜,導(dǎo)致數(shù)據(jù)和時鐘不能準(zhǔn)確對齊,這時就需要對時鐘的相位進(jìn)行調(diào)節(jié)來對齊數(shù)據(jù)和時鐘。本實驗中設(shè)置c0的相偏為-45°,則sclkout0會默認(rèn)產(chǎn)生-180°相偏,因為LVDS設(shè)置的是4倍抽取關(guān)系,即45×4=180,使用外部時鐘時還可以根據(jù)需要分別調(diào)節(jié)兩個時鐘的相位。時鐘相位關(guān)系如圖8所示。
用PLL輸出的核時鐘即c0將rearrange模塊輸出的數(shù)據(jù)進(jìn)行同步后送至LVDS_TX模塊,時鐘的連接方法如圖7所示。在enable0信號有效時將數(shù)據(jù)輸入至LVDS模塊,LVDS_TX模塊輸出的24位數(shù)據(jù)輸入給2個DA(I、Q),低12位為I路,高12位為Q路,并將輸出640 MHz同步時鐘送至DA。此時LVDS模塊內(nèi)仍可以調(diào)節(jié)輸出數(shù)據(jù)和輸出時鐘的相位,但只剩下2個相位值可以調(diào)節(jié),即0°和180°。
4 實驗結(jié)果及分析
實驗中由DSP分別發(fā)送100 MHz和225 MHz的正余弦波形數(shù)據(jù)至FPGA,經(jīng)過雙口RAM和LVDS_TX模塊發(fā)送至AD9735,并從示波器上觀察DA的輸出波形。
實驗中c0相偏為-45°,sclkout0為-180°相偏。由DSP首先發(fā)送的是100 MHz的I、Q波形數(shù)據(jù),AD9735的輸出波形在示波器上顯示如圖9所示,其頻譜如圖10所示。
在100 MHz時,其雜散抑制可達(dá)-41.6 dB。
fpga相關(guān)文章:fpga是什么
評論