TM1300 DSP系統(tǒng)以太網接口的設計
5 CS8900A網絡接口驅動程序設計
本文引用地址:http://yuyingmama.com.cn/article/266272.htmpSOS+是WindRiver公司專門為嵌入式系統(tǒng)設計和開發(fā)提供的一個模塊化、高性能的實時操作系統(tǒng)。它采用模塊化結構,包含的一系列軟件功能模塊有:實時多任務內核pSOS+、多處理器多任務內核pSOS+m、TCP/IP協(xié)議棧pNA+、遠程調用函數庫pRPC+和文件系統(tǒng)pHILE+等。
基于pSOS+實時操作系統(tǒng)的網絡接口框圖如圖3所示。

下面根據網絡結構的分層依次進行分析。
(1)物理層
以太網接口的物理實現(xiàn)前面已經分析過。
(2)NI(網絡接口)層
pNA+通過一個用戶提供的稱為網絡接口(NI)的軟件訪問網絡。一方面它直接驅動網絡接口芯片,控制太網數據幀的收發(fā);另一方面它向pNA+提供符合pNA+要求的函數接口。在pNA+和NI之間的函數接口是標準的,和網絡的物理媒介以及網絡拓撲無關。這些函數可以使得pNA+不需要知道網絡接口底層的細節(jié),可以理解它是pSOS+中的硬件抽象層(HAL)。這些函數如表1所列。
表1 各函數的功能

這些函數的實現(xiàn)是網絡驅動程序設計的主要任務,它們的代碼在cs8900a.c中。這些函數一方面驅動網卡收發(fā),另一方面為pNA+提供了一套屏蔽硬件底層細節(jié)的函數實現(xiàn)。另外,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設定網關*/
另外,還要給這個CS8900A網卡設定一個MAC物理地址。這個地址可以在配置文件mybsp.h中設定為不與網上其它網卡沖突的任意值,如:
#define BSP_CS8900_IND_ADDR "00:24:20:10:FF:41"
(3)網絡層及傳輸層pSOS+的pNA+模塊集成了網絡層和傳輸層。PNA+在整個網絡體系結構中處在第3層,包含IP協(xié)議、ARP協(xié)議的實理,ICMP協(xié)議、IGMP協(xié)議的實現(xiàn);提供了對用戶數據報UDP和流式TCP兩種傳輸協(xié)議的支持,還提供了符合BSD標準的Socket接口,為應用的實現(xiàn)提供了方便的編程環(huán)境。
(4)應用層在應用層實現(xiàn)用戶的網絡應用。
網絡接口的調試是在PC機上PING這個CS8900A的網絡接口。如果PING通,表明整個NI層和pNA+已經正常工作了。這個過程中,可以采用tmdbg.exe調試環(huán)境支持的DP()來測試一些結果,克服了TM1300系統(tǒng)沒有顯示支持的不足。
6 小結
本系統(tǒng)在實驗室局域網環(huán)境下,采用雙絞線連接,實現(xiàn)了TM1300與CS8900A的以太網接口的設計,實驗結果可以成功PING通?;赟ocket的簡單的C/S結構的網絡測試程序也正常工作,在網絡低負荷時,可以用于音視頻多媒體數據網上傳輸,具有一定的使用價值。
tcp/ip相關文章:tcp/ip是什么



























評論