《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的LVDS高速數據通信卡
基于FPGA的LVDS高速數據通信卡
摘要: 介紹了基于FPGA和PCI9054的LVDS數據通信卡的設計,通過FPGA實現了LVDS數據的接收發送控制、PCI9054實現了與上位機的數據交互,實現了10~200 Mbit·s-1速率的LVDS數據接收以及10~50 Mbit·s-1任意速率的LVDS數據發送。此板卡的設計,可以有效地應用于某遙測模擬信號源,并對待測設備的LVDS總線協議進行全面測試。
Abstract:
Key words :

    某遙測信號模擬源是用于產生模擬信號處理器、遙測組件測試和交付測試的前端輸入信號的專用設備。該信號源生成各種類型的信號,輸入給待測產品,測試時比對遙測信號模擬源生成的信號和其經過待測產品以后的信號,以判斷產品的功能是否正常。設計中的板卡為該遙測信號模擬源的組成部分,主要用于測試產品的LVDS總線協議的功能是否正常。由于待測信號的特殊應用,要求板卡能夠接收200 Mbit·s-1內的高速串行數據并能發送10~50 Mbit·s-1的任意速率LVDs數據。因PCI總線速度高、兼容性好、可靠性高且成本低,使其在各種與主機通信的總線技術中優勢明顯。FPGA資源豐富、速度快、開發方便快捷,因此在高速數據通信中應用廣泛。DDS頻率合成技術通過頻率控制字、相位控制字及參考時鐘的控制來實現輸出信號的調頻調相,并且輸出信號具有頻率轉換快、頻率分辨率高和相位噪聲低等優點。綜合上述特點,設計運用PCI9054實現PCI總線接口,FPGA實現數據接收發送控制及接口實現,DDS芯片AD9851產生任意LVDS數據發送時鐘,最后使用MFC實現板卡的交互界面并對板卡實現測試。

1 硬件設計

數據接收系統是將目標信號進行采集、處理并存儲,形成計算機可以處理的數據格式,即包含信號輸入單元、信號處理單元和信號輸出單元。數據發送系統是將目標數據傳送給下位機,下位機進行數據格式處理,然后按照數據協議形式通過信號輸出單元發送出去。除此之外整個系統還需要緩沖區、時鐘以及電源等相關模塊支持。圖1所示為本板卡的硬件設計框圖。

基于FPGA的LVDS高速數據通信卡設計

1.1 PCI接口設計

PCI總線是由Intel等公司制定的具有嚴格規范的外部設備互聯總線,是目前計算機中廣泛采用的局部總線,它的信號線包括32根地址數據復用線、仲裁、接口控制線、總線命令字節允許復用線和系統復位等。PCI接口設計一般采用兩種方法:(1)利用CPLD/FPGA實現,這種方法可以針對自己的需要定制功能,設計靈活性大。(2)用通用的接口芯片,如AMCC公司的S5933、PLX公司的PCI9054等。因PCI總線協議復雜,自行設計接口費時費力,而PCI接口芯片具有設計簡單、功能強大、可靠性好等特點,從而大大減少開發工作量。綜上所述,設計選用PCI90 54,C從模式工作,本地總線端輸入時鐘50 MHz,配置芯片為Mierochip Technology公司的93LC56串行EEPROM。

1.2 LVDS接口設計

低壓差分信號(Low Voltage Differential Signaling,LVDS)采用極低的電壓擺幅高速差動傳輸數據,可以實現點對點或一點對多點的連接。文中采用Cyclone I系列EP1C6Q240FPGA,它支持高速LVDS接口,利用其I/O的LVDS驅動器把FPGA內部邏輯信號轉換為低壓差分信號對,經過傳輸線傳送到對方差分接收電路。在Cyclone I系列FPGA中,使用LVDS接口只需在其配套的Quartus II軟件的MegaWizard中調用Alt lvds并進行定制即可。

基于FPGA的LVDS高速數據通信卡設計

LVDS接口電路的設計如圖2所示,FPGA發送端通過LVDS發送差分信號,在差分線上分別串接一個120 Ω電阻,再在其間并接一個170 Ω電阻,削弱差分信號的幅值,防止信號產生震蕩;FPGA接收端在差分線間并接一個100 Ω的終端電阻,電流主要通過終端電阻形成回路,從而在接收器的輸入端形成差分接收的信號電壓;PCB布線時防止LVDS高速信號串擾和互擾,避免其他信號耦合到LVDS傳輸線上,應盡量將LVDS信號和其他信號分別布在兩個信號層上。

1.3 其他接口設計

為滿足PCI總線的DMA傳輸特性,需要在硬件上加入緩沖區。輸入的LVDS速率越高,需要的緩沖區容量越大,以保證不丟失數據。因此設計選用Micron公司提供的MT48LC2M32 SDRAM作為緩沖區,它是一款64 MB全同步SDRAM。另外,輸出的LVDS信號要求10~50 MHz頻率范圍內任意可調,因此選用AD公司采用CMOS技術生產的直接數字合成器AD9851,它的最高工作時鐘為180 MHz,內部除了完整的高速DDS外,還集成了時鐘6倍頻器和一個高速比較器,并且它的接口控制簡單,可以用8位并行口或串行口直接輸入頻率、相位等控制數據。設計中通過FPGA中PLL輸出30 MHz時鐘,倍頻器將參考時鐘倍頻至180 MHz,控制接口采用并行口傳輸。

除此之外,時鐘模塊采用有源晶振為系統提供50 MHz時鐘,SDRAM時鐘由FPGA內部PLL合成。電源模塊采用外圍電路簡單的LDO(Low Dropout Regulator)提供3.3V及1.5V電源電壓。

1.4 FPGA內部結構設計

FPGA內部結構的邏輯設計是本板卡設計的核心部分,圖3所示為本系統FPGA內部結構框圖。

基于FPGA的LVDS高速數據通信卡設計

LVDS信號接收器接收外部的LVDS數據幀,檢出幀頭,并將幀數據傳送給雙口RAM進行處理,一個數據幀包含32 bit的幀頭和256×32 bit的幀數據。接收的雙口RAM實現數據的乒乓存儲,寫數據的寬度為1 bit,讀數據的寬度為32 bit,以此來實現數據的串并轉換,同時實現數據時鐘域的轉換。LVDS接收數據控制模塊用于產生雙口RAM和SDRAM控制器的地址總線、數據總線和控制總線,實現各接收模塊聯合控制和數據轉移,同時它還負責從SDRAM控制器讀取數據送至FPGA內的FIFO緩沖區,用于PCI總線交互。

LVDS信號發送部分由LVDS發送數據控制、雙口RAM、FIFO緩沖、LVDS信號發送器和DDS控制器組成。LVDS發送數據控制用于產生各模塊的地址、數據和控制總線,實現數據轉移和交互。雙口RAM實現并串轉換和乒乓存儲。LVDS信號發送器為數據幀添加包頭,并連同幀數據以AD98 51產生的發送頻率串行發送出去。

 

另外,SDRAM控制器是FPGA內用于外部SDRAM控制的模塊,PCI本地總線控制器是FPGA內用于控制PCI9054本地總線交互的模塊,DDS控制器是FPGA內用于外部AD9851控制的模塊。PLL是Ahera FPGA內提供的模擬延遲鎖相環模塊,可以實現系統時鐘的倍頻、分頻及延遲等時鐘控制操作。通過該模塊可以實現系統內不同時鐘域的時鐘分配。

2 軟件設計

系統設備的驅動程序采用Windows下的WDM(Windows Driver Model)驅動程序。目前開發WDM驅動程序通常有3種工具,即Windows DDK、DriverStudio和WinDriver。由于DriverStudio包含完善的源代碼生成工具以及相應的類庫和驅動程序樣本,提供了在VC++下進行驅動程序開發的支持,因此設計中使用DdverStudio來開發WDM驅動程序。

設計的上層應用程序采用Microsoft Virtual Studio作為開發平臺,通過MFC設計了人機交互界面,主要用于完成接收數據顯示存儲、發送數據載入、發送頻率控制字以及PCI控制命令等功能。其程序面板如圖4所示。

基于FPGA的LVDS高速數據通信卡設計

3 結果測試

在Ahium Designer 2009平臺上進行板卡硬件原理圖和PCB圖設計,FPGA芯片采用Altera公司的EP1C6Q240C6,使用Quartus II 9.0開發系統實現編程和仿真,完成對電路設計的功能仿真和時序仿真。

在Quartus II中進行引腳分配并編譯完工程后,將設計文件下載到FPGA的配置芯片中。在硬件上將LVDS的發送端和接收端連接以實現自發自收。在PC機的應用程序中設置發送頻率為50 MHz,然后點擊“發送頻率控制字”按鈕發送頻率控制字,載入從0開始的連續累加數字,點擊“開始發送”按鈕發送數據,然后點擊“開始接收”按鈕接收數據。從圖4所示的發送與接收數據顯示可以發現,接收到的LVDS數據與發送的LVDS數據完全一致,系統的發送功能與接收功能符合設計要求。

4 結語

介紹了基于FPGA和PCI9054的LVDS數據通信卡的設計,通過FPGA實現了LVDS數據的接收發送控制、PCI9054實現了與上位機的數據交互,實現了10~200 Mbit·s-1速率的LVDS數據接收以及10~50 Mbit·s-1任意速率的LVDS數據發送。此板卡的設計,可以有效地應用于某遙測模擬信號源,并對待測設備的LVDS總線協議進行全面測試。

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品99久久久久久有的能看| 99精品欧美一区| 日韩午夜精品| 亚洲午夜未删减在线观看| 伊人男人综合视频网| 国产精品视频观看| 欧美日韩成人在线播放| 久久成人综合网| 亚洲性人人天天夜夜摸| 亚洲精品一区二区三区蜜桃久| 午夜免费电影一区在线观看| 99亚洲精品| 亚洲电影第三页| 国产午夜精品美女视频明星a级 | 亚洲午夜精品网| 亚洲精品日本| 久久成人这里只有精品| 亚洲影院高清在线| 99ri日韩精品视频| 亚洲国产精品va在线看黑人动漫| 国产亚洲一级高清| 欧美天天综合网| 亚洲高清不卡一区| 欧美特黄一级| 久久精品人人做人人爽| 亚洲免费视频网站| 中文高清一区| 亚洲国产精品一区二区第一页| 亚洲欧美一区二区原创| 亚洲一区免费视频| 99国产精品99久久久久久粉嫩 | 国产精品福利网站| 欧美日韩在线直播| 欧美剧在线观看| 欧美精品免费在线| 欧美精品一区二区三区蜜桃 | 欧美日韩三区| 欧美亚洲成人免费| 欧美色综合天天久久综合精品| 欧美专区日韩视频| 欧美在线啊v| 欧美在线www| 久久久久久久一区二区| 久久理论片午夜琪琪电影网| 欧美一级在线播放| 欧美在线视频网站| 久久精品国产免费观看| 久久国产视频网站| 久久久久久9| 久久久视频精品| 久久免费国产精品| 久久野战av| 欧美大片免费看| 欧美日韩高清不卡| 欧美日韩美女| 国产精品每日更新| 国产人成精品一区二区三| 国产午夜精品在线| 韩日午夜在线资源一区二区| 亚洲欧美日韩国产综合精品二区| 亚洲区在线播放| 亚洲精品国产精品国自产观看| 亚洲国产毛片完整版| 日韩视频第一页| 亚洲视频在线播放| 正在播放亚洲一区| 午夜久久tv| 久久亚洲欧洲| 欧美日韩国产麻豆| 国产欧美短视频| 欧美网站在线| 国产亚洲观看| 亚洲国产日韩欧美在线99| 99精品国产在热久久| 亚洲欧美国产毛片在线| 亚洲第一久久影院| 9国产精品视频| 欧美在线三区| 欧美国产免费| 国产精品视频久久| 国产美女精品人人做人人爽| 一区二区三区中文在线观看 | 99国产一区二区三精品乱码| 在线亚洲精品| 中国日韩欧美久久久久久久久| 亚洲一区二区在线| 久久久人人人| 欧美日韩国产在线播放网站| 欧美三级欧美一级| 国产在线精品一区二区中文| 亚洲欧洲日本国产| 亚洲影院色无极综合| 91久久精品国产91久久| 亚洲在线免费| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美日韩中文| 韩国av一区二区三区四区| 99国产精品私拍| 最新亚洲一区| 久久免费国产精品1| 国产欧美二区| 亚洲男人影院| 亚洲综合国产精品| 欧美日韩情趣电影| 91久久香蕉国产日韩欧美9色| 亚洲高清不卡在线观看| 欧美专区一区二区三区| 国产精品九九久久久久久久| 亚洲免费观看| 亚洲精品孕妇| 欧美波霸影院| 樱桃成人精品视频在线播放| 性欧美xxxx视频在线观看| 亚洲专区在线| 欧美调教vk| 一本色道久久综合精品竹菊 | 香蕉久久夜色精品| 午夜精品久久久久久久久久久| 欧美三级乱码| 日韩亚洲国产精品| 在线视频精品一区| 欧美日韩国产在线播放| 亚洲免费成人av电影| 一区电影在线观看| 欧美日韩成人网| 亚洲免费观看高清完整版在线观看| 亚洲免费电影在线观看| 欧美激情精品久久久| 亚洲日本在线观看| 日韩亚洲欧美中文三级| 午夜亚洲视频| 亚洲黄色小视频| 美女视频黄a大片欧美| 悠悠资源网久久精品| 亚洲福利一区| 欧美福利视频网站| 亚洲区欧美区| 一本在线高清不卡dvd| 欧美视频中文一区二区三区在线观看 | 久久免费视频在线观看| 国产视频在线观看一区| 久久国产精品亚洲va麻豆| 久久久青草婷婷精品综合日韩| 激情五月婷婷综合| 亚洲精品美女久久7777777| 欧美精品免费播放| 一级成人国产| 欧美伊人影院| 影音国产精品| 野花国产精品入口| 国产精品国产一区二区 | 9人人澡人人爽人人精品| 欧美三级欧美一级| 亚洲欧美日韩人成在线播放| 久久久久久久999精品视频| 一区二区在线观看视频| 日韩一级黄色大片| 国产精品女人久久久久久| 久久国产天堂福利天堂| 欧美久久久久中文字幕| 亚洲午夜一区二区三区| 久久久精彩视频| 亚洲韩国一区二区三区| 亚洲在线一区二区三区| 狠狠狠色丁香婷婷综合激情| 99精品欧美一区二区三区| 国产精品日韩欧美| 亚洲国产视频a| 欧美午夜精品伦理| 久久精品人人做人人爽电影蜜月| 欧美精品在线一区| 亚洲欧美在线x视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 99精品视频免费| 久久婷婷国产综合尤物精品| 日韩天堂在线视频| 久久久www免费人成黑人精品| 亚洲国产一区二区三区高清| 欧美一区1区三区3区公司| 亚洲国内高清视频| 亚洲欧美日韩一区| 在线观看日韩专区| 亚洲欧美成人一区二区在线电影 | 一级成人国产| 国产亚洲视频在线| 亚洲伦理中文字幕| 国产精品日韩专区| 国产精品a久久久久久| 亚洲精品欧美一区二区三区| 欧美成人首页| 亚洲一区精品电影| 欧美国产先锋| 小处雏高清一区二区三区| 欧美日产一区二区三区在线观看 | 亚洲女爱视频在线| 欧美freesex8一10精品| 亚洲欧美日韩在线不卡| 欧美精品在线极品| 久久精品人人做人人爽电影蜜月| 国产精品美女久久久|