新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DM9000A的DSP以太網(wǎng)接口設(shè)計與實現(xiàn)

基于DM9000A的DSP以太網(wǎng)接口設(shè)計與實現(xiàn)

作者: 時間:2014-03-12 來源:網(wǎng)絡(luò) 收藏
nt-family: 宋體, Georgia, verdana, serif; background-color: rgb(255, 255, 255); ">初始化流程如圖4所示。

本文引用地址:http://m.butianyuan.cn/article/241677.htm

完成上述初始化步驟后,就處于正常工作狀態(tài),可以收發(fā)數(shù)據(jù)包。若有異常發(fā)生,就需要重復(fù)上述步驟,重啟以使芯片恢復(fù)到正常狀態(tài)。

3.1.2 數(shù)據(jù)幀發(fā)送

內(nèi)部有16 KB的SRAM作為接收/發(fā)送數(shù)據(jù)的緩存區(qū),其中前3 KB的空間,地址從0x0000H~0x0BFFH,用來緩存需要發(fā)送的數(shù)據(jù)。

數(shù)據(jù)發(fā)送的具體步驟如下:

(1)利用寫操作寄存器MWCMD(F8H),將需要發(fā)送的數(shù)據(jù)幀寫入DM9000A的發(fā)送緩存區(qū)。

(2)將數(shù)據(jù)幀長度寫入長度寄存器TXPLL(FCH)和TXPLH(FDH)。

(3)設(shè)置發(fā)送控制寄存器TCR(02H),TXREQ=1,數(shù)據(jù)幀開始發(fā)送。

(4)檢查網(wǎng)絡(luò)狀態(tài)寄存器NSR(01H)的TX2END和TX1END位,判斷此幀數(shù)據(jù)是否發(fā)送完。

數(shù)據(jù)幀發(fā)送流程圖如圖5所示。

3.1.3 數(shù)據(jù)幀接收

當(dāng)DM9000A數(shù)據(jù)接收使能后,DM9000A就會自動接收數(shù)據(jù)。DM9000A接收到的數(shù)據(jù)先保存在地址從0x0C00~0x3FFF的13 KB內(nèi)部SRAM緩存空間中,它是一個環(huán)形結(jié)構(gòu)。

利用寄存器MRCMDX(FOH)和寄存器MRCMD(F2H)可獲取緩存中的數(shù)據(jù)幀信息。接收到的數(shù)據(jù)幀格式如圖6所示。

其中第1個字節(jié)是接收數(shù)據(jù)標(biāo)志字節(jié),表征接收到數(shù)據(jù)幀是否有效。第2個字節(jié)是接收數(shù)據(jù)幀的狀態(tài)字節(jié),其中的內(nèi)容與接收狀態(tài)寄存器RSR中的內(nèi)容相同,可以用來判斷所接收的數(shù)據(jù)幀是否正常。第3,4個字節(jié)是接收到數(shù)據(jù)的長度字節(jié),其中低位在前,高位在后。從第5個字節(jié)開始的數(shù)據(jù)才是真正數(shù)據(jù)幀內(nèi)容。

數(shù)據(jù)接收過程如下:

(1)檢查中斷狀態(tài)寄存器:ISR(FEH),若PRS位為1,說明有新的數(shù)據(jù)幀接收,寫1清除PRS位;若為0,說明無數(shù)據(jù),直接返回。

(2)讀取第1個字節(jié),即接收數(shù)據(jù)標(biāo)志字節(jié)。如果該字節(jié)為01,則表示接收下來的是有效數(shù)據(jù)幀;如果該位為00則表示沒有數(shù)據(jù)到達(dá),或數(shù)據(jù)已經(jīng)接收完成;如果既不是01又不是00,則認(rèn)為有異常發(fā)生,這時就要將DM9000A芯片重啟以使芯片恢復(fù)到正常狀態(tài)。

(3)讀取第2個字節(jié),即接收狀態(tài)字節(jié)。根據(jù)接收狀態(tài)字節(jié)判斷所接收的數(shù)據(jù)幀是否正常。

(4)讀取第3,4字節(jié),即數(shù)據(jù)幀長度字節(jié)。

(5)讀取真正的數(shù)據(jù)幀內(nèi)容。

(6)根據(jù)獲取的長度信息,判斷是否讀完一幀。如果讀完,接著讀下一幀,直到遇到首字節(jié)是00H的幀,說明接收數(shù)據(jù)已讀完。

數(shù)據(jù)幀接收流程如圖7所示。

3.2 上層通信協(xié)議程序設(shè)計

TCP/IP協(xié)議模型可以分為四個層次,從下到上依次為:鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層。每一層都有不同的功能,低一層為高一層提供服務(wù)。

標(biāo)準(zhǔn)的TCP/IP協(xié)議棧對處理器的計算、存儲要求比較高,然而,系統(tǒng)的計算資源和存儲資源通常是非常有限,在中實現(xiàn)標(biāo)準(zhǔn)的TCP/IP協(xié)議棧將占用大量系統(tǒng)資源,不利于其他方面的應(yīng)用,因此必須對它進(jìn)行簡化并優(yōu)化,盡可能做到代碼精簡,降低存儲開銷。本系統(tǒng)設(shè)計和實現(xiàn)了TCP/IP通信協(xié)議的必要部分,包括:ARP,IP,ICMP,TCP,UDP等協(xié)議。

ARP(地址解析協(xié)議)為IP地址到對應(yīng)的硬件地址之間提供動態(tài)映射。IP協(xié)議是TCP/IP協(xié)議的核

雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理


關(guān)鍵詞: DM9000A DSP 以太網(wǎng)接口

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉