• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機與無線通信 > 設計應用 > 基于FPGA的LVDS高速數據通信卡設計

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

    作者: 時間:2012-05-23 來源:網絡 收藏

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

    本文引用地址:http://www.czjhyjcfj.com/article/154880.htm

    c.jpg


    信號接收器接收外部的數據幀,檢出幀頭,并將幀數據傳送給雙口RAM進行處理,一個數據幀包含32 bit的幀頭和256×32 bit的幀數據。接收的雙口RAM實現數據的乒乓存儲,寫數據的寬度為1 bit,讀數據的寬度為32 bit,以此來實現數據的串并轉換,同時實現數據時鐘域的轉換。接收數據控制模塊用于產生雙口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所示。

    d.jpg



    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總線協議進行全面測試。


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 特克斯县| 朝阳县| 汾西县| 隆尧县| 建平县| 普定县| 清水河县| 江源县| 郴州市| 昆明市| 西乡县| 喀什市| 浦东新区| 沙田区| 东丰县| 宝山区| 阿克陶县| 石屏县| 大丰市| 中山市| 彩票| 平塘县| 泾阳县| 桂东县| 瑞昌市| 黄石市| 赞皇县| 武邑县| 祁东县| 根河市| 昂仁县| 宜章县| 图木舒克市| 平凉市| 阳东县| 唐河县| 武胜县| 温宿县| 奇台县| 准格尔旗| 泸定县|