《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的總線型LVDS通信系統設計
基于FPGA的總線型LVDS通信系統設計
摘要: 我們用FPGA芯片自行設計BLVDS內核及擴展部分。相比之下,使用FPGA可大幅減少芯片數量,降低成本,提高系統可靠性,同時具有更大的靈活性和向后兼容性。由于目前尚無實用的16位VLVDS收發器芯片問世,本設計也填補了專用芯片(ASIC)的空白。
關鍵詞: FPGA LVDS XCV50E
Abstract:
Key words :

  低壓差分信號LVDS(Low Voltage Differential Signal)是由ANSI/TIA/EIA-644-1995定義的用于高速數據傳輸的物理層接口標準。它具有超高速(1.4Gb/s)、低功耗及低電磁輻射的特性,是在銅介質上實現千兆位級高速通信的優先方案;可用于服務器、可堆壘集線器、無線基站、ATM交換機及高分辨率顯示等等,也可用于通信系統的設計。BLVDS(Bus LVDS)是LVDS技術在多點通信領域的擴展,要求附加總線仲裁設計、更大的驅動電流(10mA)和更好的阻抗匹配設計。

  通常是LVDS電路設計使用各種專用芯片,如美國國家半導體公司的DS92LV16等。我們用FPGA芯片自行設計BLVDS內核及擴展部分。相比之下,使用FPGA可大幅減少芯片數量,降低成本,提高系統可靠性,同時具有更大的靈活性和向后兼容性。由于目前尚無實用的16位VLVDS收發器芯片問世,本設計也填補了專用芯片(ASIC)的空白。

  我們選了Xilinx公司的XCV50E。此芯片屬于Virtex-E系列,具有如下特性: *0.18nm 6層金屬工藝,具有5.8萬個系統門;

 

  *使用1.8V核心電壓,低功耗設計;

  *130MHz同部時鐘;

  *64KB的同步塊同存(BlockRAM),可實現真正的雙口操作;

  *支持包括LVDS、BLVDS在內的20種高性能接口標準;

  *8個全數字的延遲鎖定環DLL(Delay Locked Loops),具有時鐘移相和乘除功能;

  *支持IEEE 1149.1邊界掃描標準,具有基于SRAM的在系統配置功能。

  我們使用Xilinx Foudation F3.1i軟件開發XCV50E芯片。設計流程為:首先用編寫VHDL語言程序、繪制原理圖或設計狀態機的方法生成網絡表,功能仿真正確后,經過翻譯、映射、放置和布線、時序優化及配置過程,生成比特流文件。然后,進行時序仿真,仿真通過后下載到PROM中。(我們用了Xilinx公司的XC18V01。)

  1 結構及工作過程

  1.1 系統結構和FPGA結構

  本通信系統由背板和若干通信子卡組成。背板并更有8個插槽,并布有BLVDS總線和其它控制、地址總線。通信子卡由EP7211芯片(負責數據處理)、XCV50E及DRAM、PROM等外圍芯片和元件組成,系統結構如圖1所示。

系統結構

 

  設計完成后的XCV50E由控制部分、發送FIFO、幀編碼器、串化器、解串器、幀解碼器、數據檢出器、接收FIFO、時鐘倍頻器及輸入輸出單元等部分組成,結構如圖2所示。

結構

  1.2 工作過程

  在發送子卡中,EP7211將待發數據整理成多個長255字,字寬16位的數據幀,發至FPGA內的發送FIFO中。該FPGA得到總線控制權后,即發送同步幀(由同步字與填充字組成),待被尋址的接收子卡實現與自己的同步后,再發送數據幀。各幀數據經串化器轉化為兩對差分信號,并從中獲得同步信息并實現同步,繼而檢出有效數據,寫入接收FIFO,同時以快中斷(FIQ)通知EP7211。

  2 軟件設計

  2.1 EP7211程序設計

  通信子卡內的EP7211為系統級芯片,用來預處理和接收數據。EP7211的內核為ARM7TDMI,使用32位精簡指令。發送數據的流程如圖3所示。接收較簡單,只需在快中斷(FIQ)服務程序中寫入接收FIFO的讀取代碼即可。

流程

  2.2 FPGA設計

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

  (1)幀編碼器的VHDL語言設計

  幀編碼器包括一個長為256的計數器和一個四狀態的單熱點狀態機,用以產生同步幀和數據幀。部分代碼如下:

  PROCESS(RESET,CLK) //產生長256的計數器

  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) //狀態機進程

  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; //空閑狀態如有發送命令,即轉入發送狀態

  ELSE SREG<=PACK1; //否則,發送填充字1

  WHEN PACK1=>

  (后略)

  (2)串化器的原理設計

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

串化器原理圖

  圖4 串化器原理圖

  3 硬件設計要點

  ①BLVDS信號的偏置電壓為1.25V,電壓擺

 

幅只有350mV,傳輸速率≥100Mb/s;因此,電路板制作至關重要,要求至少使用四層板。

 

  ②為使干擾信號只以供模方式加到差分線對上(不影響數據正確性),要求差分線對間的距離盡可能小。BLVDS標準要求差分阻抗為100Ω

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

  ③考慮到阻抗不匹配引起的信號反射和導線的電導效應,要求XCV50E芯片的差分引腳盡可能地靠近子卡的邊緣連接器(≤1.52cm),并給每個差分引腳串聯一個20Ω的貼片電阻。

  ④電源方面:Virtex芯片上電時要求有大于500mA的驅動電流,同時,由于多個輸出引腳的電位快速變化,要求每對電源和地引腳都要良好旁路。 公式:

公式

  4 結論

  當使用40MHz的外部時鐘時,BLVDS總線上的傳輸速率為120Mb/s,成功實現了多個通信子卡間的高速數據通信。現在,我們正將該通信系統移植到我單位與勝利油田聯合研制的SL-6000型高分辨率綜合測井系統上。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产精品夜色视频一区二区 | 国产精品久久毛片 | 日本一级在线播放线观看免 | 欧美成年人视频 | 最新理论三级中文在线观看 | 国产一区二区三区四区波多野结衣 | 国产高清一级片 | 免费观看一级欧美大 | 中文字幕亚洲一区二区三区 | 久久aa毛片免费播放嗯啊 | 久久91av | 亚欧成人毛片一区二区三区四区 | 亚洲无卡视频 | 国内精品久久久久久影院老狼 | 亚洲在线久久 | 日韩美一区二区 | 中文字幕在线观看一区 | 国产精品久久久久久久久久久不卡 | 一级黄色欧美片 | 成人午夜两性视频免费看 | 亚洲精品国产成人中文 | 玖玖精品在线 | 久久久精品久久 | 18video9ex欧美生活片 | 美女啪啪网站又黄又免费 | 亚洲成人一级 | a欧美| 老司机午夜精品网站在线观看 | 亚洲国产一区二区三区在线观看 | 日本精品中文字幕有码 | 性欧美巨大 | 亚洲一区二区三区免费视频 | 精品国产v无码大片在线观看 | 国内精品久久久久久久久 | 日本高清色视频www 日本高清在线精品一区二区三区 | 成年人一级片 | 欧美精品自拍 | 欧美在线一级毛片视频 | 欧美 亚洲 在线 | 国产自在自线午夜精品 | 国产香蕉98碰碰久久人人 |