新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > FPGA控制DM9000A進行以太網數據收發的Verilog實現

        FPGA控制DM9000A進行以太網數據收發的Verilog實現

        作者: 時間:2010-08-18 來源:網絡 收藏
        本文為實現高速數據的實時遠程傳輸處理,提出了采用直接控制DMA進行以太網數據收發的設計思路,實現了一種低成本、低功耗和高速率的網絡傳輸功能,最高傳輸速率可達100Mbps。

        DMA簡介

        主要特點
        DMA實現以太網媒體介質訪問層(MAC)和物理層(PHY)的功能,包括MAC數據幀的組裝/拆分與收發、地址識別、CRC編碼/校驗、MLT-3編碼器、接收噪聲抑制、輸出脈沖成形、超時重傳、鏈路完整性測試、信號極性檢測與糾正等。

        工作原理
        DM9000A可以和微處理器以8位或16位的總線方式連接,并可根據需要以單工或全雙工等模式運行。在系統上電時,處理器通過總線配置DM9000A內的網絡控制寄存器(NCR)、中斷寄存器(ISR)等,以完成DM9000A的初始化。隨后,DM9000A進人數據收發等待狀態。

        當處理器要向以太網發送數據幀時,先將數據打包成UDP或IP數據包,并通過8位或16位總線逐字節發送到DM9000A的數據發送緩存中,然后將數據長度等信息填充到DM9000A的相應寄存器內,隨后發送使能命令,DM9000A將緩存的數據和數據幀信息進行MAC組幀,并發送出去。

        當DM9000A接收到外部網絡送來的以太網數據時,首先檢測數據幀的合法性,如果幀頭標志有誤或存在CRC校驗錯誤,則將該幀數據丟棄,否則將數據幀緩存到內部RAM,并通過中斷標志位通知處理器,處理器收到中斷后將DM9000A接收RAM的數據讀出進行處理。

        DM9000A自動檢測網絡連接情況,根據網速設定內部的數據收發速率是10Mbps或100Mbps。同時,DM9000A還能根據RJ45接口是采用對等還是交叉連接方式而改變數據收發引腳的方向,因此,無論外部網線采用對等還是交叉方式,系統均能正常通信。

        基于和DM9000A的網絡接口設計與實現

        下面給出DM9000A與的硬件設計和軟件配置方法。FPGA啟動以太網發送程序,將解調數據發送到DM9000A,完成數據發送過程。在接收方向,網絡工作站把控制指令按照一定的幀格式組幀發送到以太網,DM9000A接收到發給自己的以太網幀并通知FPGA啟動以太網接收程序,FPGA將相應的數據從DM9000A的接收FIFO讀出。

        與FPGA的數據接口和控制接口
        DM9000A的外部總線符合ISA標準。可通過ISA總線直接與FPGA無縫連接。其硬件連接原理如圖1所示。


        初始化模塊
        DM9000A正常工作需要在上電后對內部寄存器進行初始化,該過程通過FPGA對DM9000A外部控制總線和數據總線的讀寫操作完成。具體流程如下所示:

        上一頁 1 2 下一頁

        關鍵詞: Verilog 9000A FPGA 9000

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 通海县| 霍山县| 剑河县| 阿瓦提县| 临颍县| 景泰县| 许昌县| 平南县| 南木林县| 亚东县| 察哈| 乌恰县| 九龙县| 略阳县| 永寿县| 兴宁市| 会昌县| 满洲里市| 巩留县| 黎平县| 福清市| 河北省| 获嘉县| 锡林郭勒盟| 滁州市| 都安| 沂源县| 白水县| 社会| 得荣县| 凉山| 蛟河市| 马关县| 大埔区| 莆田市| 响水县| 锡林郭勒盟| 宜良县| 班戈县| 始兴县| 蕉岭县|