基于FPGA的LVDS接口應用
2.2 AltlvdS_tx時(shí)鐘模式
Altlvds模塊內部有一個(gè)PLL,可以得到所需要的輸出數據時(shí)鐘,在圖1中可以看到選項Use External PLL,當選擇此項時(shí),表示使用外部時(shí)鐘,則需要在FPGA中重新做一個(gè)PLL,并將輸出時(shí)鐘和LVDS模塊進(jìn)行相應的連接。
當使用內部PLL時(shí),如圖2所示,What is the phase alignment of‘tx_in’with respect to the rising edgeof‘tx_inclock’?(in degrees)即可以調節tx_in輸入數據和tx_inclock輸入時(shí)鐘的相位偏移,而Register‘tx_in’input port using選項表示輸入數據是用輸入時(shí)鐘tx_inclock控制還是用核時(shí)鐘tx_coreclock控制,默認的是核時(shí)鐘,而當使用tx_inclock時(shí)鐘緩存輸入數據時(shí),可能會(huì )提示建立時(shí)間的問(wèn)題,而對高速時(shí)鐘來(lái)說(shuō),使用核時(shí)鐘緩存時(shí),會(huì )用最優(yōu)的相位位置來(lái)緩存數據。本文引用地址:http://dyxdggzs.com/article/190723.htm
如圖4所示,發(fā)送器設置界面中What is the phasealignment of‘tx_outclock’with respect to‘tx_out’?選項可以設置輸出數據和輸出時(shí)鐘的相位關(guān)系。當選擇‘tx_coreclock’輸出時(shí)可選擇核時(shí)鐘的時(shí)鐘源What isthe clock resource used for‘tx_coreclock’?可選擇Global Clock全局時(shí)鐘或Regional Clock區域時(shí)鐘,默認的是Auto Selection.,由編譯時(shí)自動(dòng)選擇。
當使用外部時(shí)鐘時(shí),即在圖1中選擇Use ExternalPLL,此時(shí)新建一個(gè)PLL來(lái)提供時(shí)鐘源,這時(shí)LVDS模塊只能設置輸出數據與時(shí)鐘的相位關(guān)系,其余選項不可設置。
3 Altlvds_tx模塊在DAC系統中的應用實(shí)驗
3.1 系統硬件設計
DAC系統原理框圖如圖5所示。
系統中DSP使用TigerSHARC處理器TS101,FPGA采用Aitera公司的StratixII系列EP2S90F1020C3,DAC芯片采用ADI公司的AD9735。
AD9735為12 bit數模轉換器,可以提供高達1 200 MS·s-1的采樣速率,且設有一個(gè)SPI端口,可以對D/A內部參數進(jìn)行設置,并回讀狀態(tài)寄存器。
系統中由DSP將處理好的數據發(fā)送至FPGA,在FPGA內部先由雙口RAM進(jìn)行緩存,然后將讀出的數據送至LVDS_TX模塊,輸出LVDS數據和數據時(shí)鐘到AD9735。實(shí)驗中數據率為640 Mbit·s-1,并且提供640 MHz的系統時(shí)鐘給AD9735。由于接口時(shí)鐘速率提高,傳統系統同步方式的數據接口電路難以實(shí)現,則采用源同步的方式更加可行,要求時(shí)鐘伴隨數據輸出,AD9735的數據輸入接口就是按照源同步的模式設計,它要求保證時(shí)鐘與數據的邊沿對齊,即需要輸入數據隨路時(shí)鐘與數據采用同樣的機理產(chǎn)生。所以通過(guò)LVDS_TX模塊產(chǎn)生所需的數據和640 MHz時(shí)鐘送至AD9735。
3.2 系統軟件設計
在FPGA中使用全局時(shí)鐘100 MHz通過(guò)PLL產(chǎn)生160 MHz時(shí)鐘來(lái)控制雙口RAM的寫(xiě)地址計數器時(shí)鐘,并作為L(cháng)VDS_TX模塊外部時(shí)鐘PLL的輸入時(shí)鐘。如圖6所示,DSP送來(lái)的24位波形數據,低12位為I路數據,高12位為Q路數據送至雙口RAM,由DSP的60 MHz時(shí)鐘寫(xiě)入,用LVDS模塊的外部PLL產(chǎn)生的核時(shí)鐘做讀數時(shí)鐘,一次讀出96位,即4個(gè)點(diǎn)的數據。其中Rearrange模塊功能為實(shí)現數據位重新排列,為后面的LVDS_TX模塊數據做準備(如圖3所示),使最終輸出數據能夠保證正確的數據順序。
fpga相關(guān)文章:fpga是什么
評論