新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > TM1300 DSP系統以太網接口的設計

        TM1300 DSP系統以太網接口的設計

        作者: 時間:2014-12-02 來源:網絡 收藏

          5 網絡接口驅動程序設計

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

          pSOS+是WindRiver公司專門為嵌入式系統設計和開發提供的一個模塊化、高性能的實時操作系統。它采用模塊化結構,包含的一系列軟件功能模塊有:實時多任務內核pSOS+、多處理器多任務內核pSOS+m、TCP/IP協議棧pNA+、遠程調用函數庫pRPC+和文件系統pHILE+等。

          基于pSOS+實時操作系統的網絡接口框圖如圖3所示。

          

         

          下面根據網絡結構的分層依次進行分析。

          (1)物理層

          以太網接口的物理實現前面已經分析過。

          (2)NI(網絡接口)層

          pNA+通過一個用戶提供的稱為網絡接口(NI)的軟件訪問網絡。一方面它直接驅動網絡接口芯片,控制太網數據幀的收發;另一方面它向pNA+提供符合pNA+要求的函數接口。在pNA+和NI之間的函數接口是標準的,和網絡的物理媒介以及網絡拓撲無關。這些函數可以使得pNA+不需要知道網絡接口底層的細節,可以理解它是pSOS+中的硬件抽象層(HAL)。這些函數如表1所列。

          表1 各函數的功能

          

         

          這些函數的實現是網絡驅動程序設計的主要任務,它們的代碼在cs8900a.c中。這些函數一方面驅動網卡收發,另一方面為pNA+提供了一套屏蔽硬件底層細節的函數實現。另外,NI還包括一個用于處理數據包中斷的中斷例程。

          每一個NI都應該分配一個唯一的IP地址,可以在pSOS+配置文件sys_conf.h中設定IP地址、網關、掩碼等網絡接口參數。如:

          #define SD_LAN1 YES

          #define SD_LAN1_IP 0xca726878 /*202.114.104.120設定IP地址*/

          #define SD_LAN1_SUBNET_MASK 0xffffff00

          /*設定掩碼*/

          #define SD_DEF_GTWY_IP 0xca726821 /*202.114.104.33設定網關*/

          另外,還要給這個網卡設定一個MAC物理地址。這個地址可以在配置文件mybsp.h中設定為不與網上其它網卡沖突的任意值,如:

          #define BSP_CS8900_IND_ADDR "00:24:20:10:FF:41"

          (3)網絡層及傳輸層pSOS+的pNA+模塊集成了網絡層和傳輸層。PNA+在整個網絡體系結構中處在第3層,包含IP協議、ARP協議的實理,ICMP協議、IGMP協議的實現;提供了對用戶數據報UDP和流式TCP兩種傳輸協議的支持,還提供了符合BSD標準的Socket接口,為應用的實現提供了方便的編程環境。

          (4)應用層在應用層實現用戶的網絡應用。

          網絡接口的調試是在PC機上PING這個的網絡接口。如果PING通,表明整個NI層和pNA+已經正常工作了。這個過程中,可以采用tmdbg.exe調試環境支持的DP()來測試一些結果,克服了系統沒有顯示支持的不足。

          6 小結

          本系統在實驗室局域網環境下,采用雙絞線連接,實現了與CS8900A的以太網接口的設計,實驗結果可以成功PING通。基于Socket的簡單的C/S結構的網絡測試程序也正常工作,在網絡低負荷時,可以用于音視頻多媒體數據網上傳輸,具有一定的使用價值。

        tcp/ip相關文章:tcp/ip是什么



        上一頁 1 2 下一頁

        關鍵詞: TM1300 DSP CS8900A

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 娄烦县| 谢通门县| 蓝山县| 米泉市| 临夏县| 绵竹市| 无棣县| 临澧县| 库车县| 乃东县| 犍为县| 囊谦县| 花莲县| 博罗县| 罗田县| 水城县| 布拖县| 平昌县| 钦州市| 绥滨县| 信丰县| 布尔津县| 富民县| 基隆市| 仪陇县| 昌江| 衡阳市| 榆林市| 常山县| 文山县| 大洼县| 应城市| 靖远县| 进贤县| 梁山县| 宜昌市| 宜章县| 上饶市| 宁国市| 偏关县| 长岭县|