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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Spartan-6的多路網絡數據采集卡設計與實現

    基于Spartan-6的多路網絡數據采集卡設計與實現

    作者:田丹,李浩,鄢林,陳曦 時間:2012-01-09 來源:電子產品世界 收藏

      引言

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

      隨著互聯網的迅猛發展,網絡監控的需求日益迫切。為了實現對網絡實時監控,有必要及時全面地收集、分析網絡的數據,準確獲取網絡信息,對網絡的信息進行監控,及時發現可能會出現的問題。然而隨著網絡帶寬的增加和規模的擴大,大規模網絡數據采集面臨著數據規模龐大和數據到達速度過快的挑戰。為了克服上述困難,通常采用硬件實現完成數據采集功能。

      隨著的發展,其內部資料日益豐富,速度和性能大大提高,特別是內部嵌入了大量IP核,使得上進行高速網絡數據采集成為可能。本文涉及的多路網絡采集卡系統采用Xilinx的Spartan 6系列中XC6SLX45T ,獲取8路10/100M RJ45端口送來的網絡數據包,并將數據包發送到PC機進行分析和監控,最終根據分析結果來判斷網絡中的異常情況。

      系統概述

      系統框圖

      圖1所示為系統的原理框圖。8路10/100M網絡數據通過RJ45接口送入到PHY芯片,PHY芯片完成轉換之后,通過MII接口送到FPGA。FPGA中集成了8路MAC核,將網絡數據輸出到隊列管理;隊列管理對每路MAC的數據包進行管理,并輸出到PCIe的DMA模塊;DMA模塊將數據包發送到PCIe硬核,直接寫入到PC機的內存,以便PC機進行分析。

      

     

      隊列管理

      由于網絡數據的包大小不同,在一個包沒有讀完之前有可能第二個包到來,因此有必要對網絡的數據包進行隊列管理,避免數據包丟失的情況。

      本系統中的隊列管理采用雙口RAM和FIFO聯合構成,其中雙口RAM用來存儲數據包,FIFO用來存儲數據包的起始地址和結束地址。當FIFO有數據時說明RAM中有數據包,如果此時并沒有數據包在向DMA中寫數據,那么就可以讀出當前數據包寫入到DMA模塊;如果此時正在向DMA模塊寫數據,則等待寫完后再讀下一個包。

      由于網絡數據和PCIe DMA模塊的時鐘處于兩個時鐘域,所以采用雙口RAM和FIFO也可以起到數據同步的作用。



    關鍵詞: xilinx FPGA Spartan-6 201112

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 怀宁县| 德令哈市| 咸丰县| 曲松县| 柳江县| 河北区| 同江市| 全椒县| 宣恩县| 凤山县| 汉中市| 泾川县| 靖远县| 元谋县| 淮南市| 柞水县| 盐城市| 阳东县| 鹤壁市| 当涂县| 灌南县| 措勤县| 蒙阴县| 甘谷县| 襄汾县| 确山县| 曲靖市| 大英县| 霍城县| 尖扎县| 达孜县| 永城市| 吕梁市| 石家庄市| 新闻| 苗栗市| 余干县| 甘德县| 会宁县| 文成县| 东乡县|