新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于SoPC的網絡模塊設計與實現

        基于SoPC的網絡模塊設計與實現

        作者: 時間:2012-06-27 來源:網絡 收藏

        DM9000A為本的核心,其如圖6所示。其中:

        本文引用地址:http://www.104case.com/article/154540.htm


        通信,最重要的就是協議的一致。本將各個協議字段存儲在一維無符號字符型數組中,根據各個協議需求的不同而開辟不同的空間,如下:
        j.JPG
        接收到的數據報存儲在無符號字符型數組中,其中數組長度,即可接收的數據報長度MAX_PACKET_SIZE由頭文件確定為1522,如下:
        unsigned char rcv [MAX_PACKET_SIZE];
        //接收到的報文

        k.JPG


        控制流程如圖7所示。系統首先對控制器DM9000A進行初始化,包括ARP、內存、定時器等的初始化。初始化完成之后,通過特定接口設置網卡的IP地址、子網掩碼、默認網關等信息。接下來,網絡開啟中斷,以便接收網絡控制器的中斷信號。當接收到發送端或接收端的中斷信號后,分別進入到各自的處理進程中進行處理。若沒有中斷,系統則進入等待狀態。

        3 系統測試
        由前面的工作,完成了網絡模塊軟、硬件部分的。將設計下載到FPGA平臺中,運行該系統。
        使用網線將FPGA的RJ45接口與路由器相連接。網絡模塊自動獲取IP地址為192.168.0.101,子剛掩碼為255.255.255.0,默認網關為192.168.0.1計算機也與同一個路由器相連,其獲取的IP地址為192.168.0.100。這樣計算機與FPGA中網絡模塊處于同一網段,互相之間可以通信。使用Ping命令,由計算機向網絡模塊的IP地址192.168.0.101發送500個包,無丟包現象,在這500個數據包中,返回速度在2~5ms之間。通過在NiosⅡIDE中編程網絡模塊Ping計算機,同樣發送500個包沒有丟包現象。
        將另一個同樣的FPGA連接到路由器上,獲取到IP地址192.168.0.102。在NiosⅡIDE中編程,IP地址為192.168.0.101的FPGA通過網絡模塊向IP地址為192.168.0.102的FPGA發送UDP格式的控制報文,可以順利控制后者面板上LED燈的亮滅,延遲不超過1秒。
        本設計完成了的網絡摸塊的軟硬件設計與調試,驗證了網絡饃塊的工作狀況,并在此基礎上網絡的控制命令的傳送,使設計能與PC機或其他各種電子設備進行數據交換。隨著物聯網技術的發展,網絡的系統必將具有廣闊的應用前景。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兴安盟| 海原县| 忻城县| 沧源| 同仁县| 英吉沙县| 柳江县| 昂仁县| 隆回县| 永川市| 南宫市| 南阳市| 连平县| 文山县| 浪卡子县| 芮城县| 司法| 通化县| 海淀区| 贺兰县| 会泽县| 威海市| 太和县| 平陆县| 介休市| 柳州市| 吉安市| 普洱| 孝感市| 承德市| 潞西市| 洪洞县| 涟源市| 临洮县| 东平县| 确山县| 五华县| 鲁甸县| 石柱| 涞源县| 乌拉特中旗|