新聞中心

EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 基于FPGA的LVDS內(nèi)核設(shè)計及其外圍電路設(shè)計

基于FPGA的LVDS內(nèi)核設(shè)計及其外圍電路設(shè)計

作者: 時間:2012-04-06 來源:網(wǎng)絡(luò) 收藏


2.2

本文引用地址:http://m.butianyuan.cn/article/177585.htm

  中,發(fā)送及接收FIFO的用了雙口快內(nèi)存(Block RAM),時鐘倍頻器用了延遲鎖定環(huán)(DLL)。幀解碼器由30位并行數(shù)據(jù)產(chǎn)生器、同步字檢測陣列和接收狀態(tài)機組成。以下重點介紹幀編碼器和串化器的設(shè)計。

 ?。?)幀編碼器的VHDL語言設(shè)計

  幀編碼器包括一個長為256的計數(shù)器和一個四狀態(tài)的單熱點狀態(tài)機,用以產(chǎn)生同步幀和數(shù)據(jù)幀。部分代碼如下:

  PROCESS(RESET,CLK) //產(chǎn)生長256的計數(shù)器

  IF RESET='1'THEN COUNT=0;

  ELSIF CLK'EVENT AND CLK='1' THEN COUNT=(COUNT+1)MOD 256;

  END PROCESS;

  TC='1'WHEN COUNT=255 ELSE '0';

  TYPE STATE_TYPE IS(IDLE,PACK1,PACK2,TRANSMIT);

  SIGANL SREG:SETAT_TYPE;

  RPOCESS(CLK,RESET) //狀態(tài)機進程

  IF CLK'EVENT AND CLK='1'THEN

  IF RESET=1 TEHE SREG=IDLE ELSE

  CASE SREG IS

  WHEN IDLE=>

  IF SEND_UD='1'THEN SREG=TRANSMIT; //空閑狀態(tài)如有發(fā)送命令,即轉(zhuǎn)入發(fā)送狀態(tài)

  ELSE SREG=PACK1; //否則,發(fā)送填充字1

  WHEN PACK1=>

 ?。ê舐裕?/p>

  (2)串化器的原理設(shè)計

  串化器由多級嵌套的子圖和若干宏模塊組成,原理圖的頂層圖如圖4所示。四個四位并入串出寄存器將16位并行數(shù)據(jù)拆分為四組串行數(shù)據(jù),其中的奇數(shù)位和偶數(shù)位分別通過一個雙數(shù)據(jù)速率寄存器,得到兩個差分信號,同時用另一個雙數(shù)據(jù)速率寄存器產(chǎn)生與之同步的差分時鐘。其中,雙數(shù)據(jù)速率寄存器為時序敏感器件,其內(nèi)部主要部分都加入了時序特性限制,如最大時滯(maxdelay)、最大抖動(maxskew),并用FMAP控件強制性地把相關(guān)信號放入同一個函數(shù)產(chǎn)生器中。

圖4 串化器原理圖

  3 硬件設(shè)計要點

  ①B信號的偏置電壓為1.25V,電壓擺幅只有350mV,傳輸速率≥100Mb/s;因此,電路板制作至關(guān)重要,要求至少使用四層板。

 ?、跒槭垢蓴_信號只以供模方式加到差分線對上(不影響數(shù)據(jù)正確性),要求差分線對間的距離盡可能小。B標(biāo)準(zhǔn)要求差分阻抗為100Ω

  給出。其中,ZDIF為差分線對的差分阻抗,εR為印制板介電常數(shù),δ為信號層到電源層的厚度,b為導(dǎo)線寬度。本電路選用的線距及線寬均為0.18mm。

 ?、劭紤]到阻抗不匹配引起的信號反射和導(dǎo)線的電導(dǎo)效應(yīng),要求XCV50E芯片的差分引腳盡可能地靠近子卡的邊緣連接器(≤1.52cm),并給每個差分引腳串聯(lián)一個20Ω的貼片電阻。

 ?、茈娫捶矫妫篤irtex芯片上電時要求有大于500mA的驅(qū)動電流,同時,由于多個輸出引腳的電位快速變化,要求每對電源和地引腳都要良好旁路。公式:


4 結(jié)論

  當(dāng)使用40MHz的外部時鐘時,B總線上的傳輸速率為120Mb/s,成功實現(xiàn)了多個通信子卡間的高速數(shù)據(jù)通信?,F(xiàn)在,我們正將該通信系統(tǒng)移植到我單位與勝利油田聯(lián)合研制的SL-6000型高分辨率綜合測井系統(tǒng)上。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉