999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于DM9000A的DSP以太網接口設計與實現

2013-04-12 00:00:00沈豪敏張濤王健
現代電子技術 2013年24期

摘 要: 為了實現DSP與外圍設備進行以太網數據通信,采用了一種基于網絡控制芯片DM9000A的DSP以太網接口實現方式。它以TI公司的DSP處理器TMS320F28335和DM9000A網絡芯片為硬件平臺,通過DSP總線控制DM9000A內部寄存器,完成DM9000A的初始化以及底層以太網數據的發送接收,并對TCP/IP協議進行裁剪,包括IP,ARP,ICMP,UDP和TCP等協議,實現了適用于DSP設備的以太網數據通信功能。

關鍵詞: DM9000A; DSP; 以太網接口; TCP/IP

中圖分類號: TN911?34; TP393.1 文獻標識碼: A 文章編號: 1004?373X(2013)24?0140?04

Design and realization of DSP Ethernet interface based on DM9000A

SHEN Hao?min1, ZHANG Tao2, WANG Jian1,2

(1. College of Electronic Information, Hangzhou Electronic Science and Technology University, Hangzhou 310018, China;

2. Focused Photonics (Hangzhou) Inc, Hangzhou 310052, China)

Abstract: In order to achieve Ethernet data communication between DSP and peripheral devices, a mde of DSP Ethernet interface based on network control chip DM9000A was adopted. Taking TMS320F28335 DSP of TI and network control chip DM9000A as hardware platform, DM9000A internal registers is controlled with DSP bus to complete DM9000A initialization and the underlying Ethernet data transceiving. The Ethernet data communication functions suitable for DSP devices were achieved by simplifying TCP/IP protocol, including IP, ARP, ICMP, UDP, TCP protocols, etc.

Keywords: DM9000A; DSP; Ethernet interface; TCP/IP

DSP(Digital Signal Processor)是一種獨特的微處理器,是以數字信號來處理大量信息的器件。它強大的數據處理能力和高運行速度,是最值得稱道的兩大特色。隨著網絡技術的發展,在工業控制、智能儀器、智能家庭等領域,越來越多的DSP設備要求具有以太網通信功能,以便與外部網絡設備進行數據通信。以太網控制芯片是以太網接口的核心器件,其性能是影響網絡性能的關鍵因素之一, 如何正確使用網絡控制器是設計以太網接口的關鍵[1]。本文采用處理器+以太網控制芯片+TCP/IP協議的DSP以太網接入方式,設計并實現了基于DSP的精簡TCP/IP協議棧,并固化在DSP內,無需操作系統也可運行[2]。

1 總體設計

本系統使用32位DSP處理器TMS320F28335和以太網控制芯片DM9000A為核心,DSP控制整個系統的運行,DM9000A實現網絡傳輸的底層功能[3]。并對TCP/IP協議棧自行裁剪,構成了DSP的以太網接口,實現了網絡通信。其系統總體框圖如圖1所示。

圖1 系統總體框圖

2 系統硬件設計

2.1 DM9000A功能結構

DM9000A是DAVICOM公司推出的一款高度集成、低成本的快速以太網控制器,實現以太網媒體介質訪問層(MAC)和物理層(PHY)的功能。該芯片具有通用的處理器接口,片內集成了10/100M自適應的PHY,內部含有16 KB SRAM用于接收/發送的F1F0緩存,3.3 V 供電, 并且支持IEEE 802.3 以太網傳輸和8/16 接口的兩種主機工作模式協議[4]。功能結構如圖2所示。

圖2 DM9000A功能結構框圖

2.2 接口電路的連接

接口電路主要由DSP、以太網控制芯片DM9000A、隔離變壓器和RJ?45構成。DSP控制整個系統的運行,DM9000A實現以太網數據的底層傳輸。隔離變壓器的主要作用:其一,可以增強信號,使其傳輸距離更遠;其二,使芯片端與外部隔離,增強抗干擾能力,并對芯片端起保護作用;其三,當接到不同電平(如有的PHY芯片是2.5 V,有的PHY芯片是3.3 V)的網口時,不會對彼此設備造成影響。RJ?45接口可用于連接RJ?45接頭,適用于由雙絞線構建的網絡,這種是最常見的以太網接口。DM9000A采用16位接口模式,數據地址復用總線D0~D15與DSP總線XD0~XD15相連;DM9000A的寫信號引腳與DSP的XWE0n相連;讀信號引腳與DSP的讀引腳相連;DM9000A的片選信號引腳與DSP的CS0n相連;DM9000A的訪問類型引腳CMD與DSP的普通I/O口GPIO61相連,高電平訪問DM9000A的數據端口,低電平訪問地址端口;DM9000A的復位引腳 與DSP的GPIO60相連;DM9000A的物理層接口TX+,TX?,RX+,RX?通過隔離變壓器連接RJ?45至以太網。其以太網接口硬件連接如圖3所示。

圖3 以太網接口硬件連接圖

3 系統軟件設計

網絡接口的軟件主要有DM9000A驅動程序設計和上層通信協議程序設計兩個部分。DM9000A驅動程序設計主要是通過TMS320F28335控制總線配置DM9000A內部寄存器,完成對DM9000A初始化、以太網數據幀的發送和以太網數據幀的接收三部分。上層通信協議程序設計是對TCP/IP棧裁剪移植,主要完成對接收到的以太網數據幀進行解析并處理,并把要發送的數據封裝成以太網數據,然后發送。

3.1 DM9000A驅動程序設計

3.1.1 DM9000A初始化

DM9000A正常工作需要在上電后對內部寄存器進行初始化,具體流程如下:

(1)啟動PHY。設置通用寄存器GPR(1FH)的GEPIO0=0。

(2)進行兩次軟啟動。設置網絡控制寄存器NCR(00H)的RST=1,10 μs后RST=0,同樣的操作進行兩次。

(3)選擇網絡模式。設置NCR的LBK=00,設置網絡工作模式為正常模式。

(4)清除發送標志。設置網絡狀態寄存器NSR(01H) WAKEST=1,TX2END=1,TX1END=1。

(5)寫6 B的以太網節點地址到物理地址寄存器PAR(10H~15H)中。

(6)設置中斷屏蔽寄存器IMR(FFH)的PAR=1,使能指針自動跳回,當SRAM讀/寫指針超過SRAM 的大小時, 指針自動跳回起始位置;PRI=1,使能數據包接收中斷。

(7)設置接收控制寄存器RCR(05H)的WTDIS=1,看門狗定時禁止;DSI_LONG=1,丟棄長數據包;DIS_CRC=1丟棄CRC校驗錯誤的數據包;RXEN =1, 使能接收功能。

初始化流程如圖4所示。

圖4 DM9000A初始化流程圖

完成上述初始化步驟后,DM9000A就處于正常工作狀態,可以收發數據包。若有異常發生,就需要重復上述步驟,重啟DM9000A以使芯片恢復到正常狀態。

3.1.2 數據幀發送

DM9000A 內部有16 KB的SRAM作為接收/發送數據的緩存區, 其中前3 KB的空間,地址從0x0000H~0x0BFFH,用來緩存需要發送的數據。

數據發送的具體步驟如下:

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

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

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

(4)檢查網絡狀態寄存器NSR(01H)的TX2END和TX1END位,判斷此幀數據是否發送完。

數據幀發送流程圖如圖5所示。

圖5 數據幀發送流程圖

3.1.3 數據幀接收

當DM9000A數據接收使能后, DM9000A 就會自動接收數據。DM9000A接收到的數據先保存在地址從0x0C00~0x3FFF 的13 KB內部SRAM緩存空間中, 它是一個環形結構。

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

圖6 接收到的數據幀格式

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

數據接收過程如下:

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

(2)讀取第1個字節,即接收數據標志字節。如果該字節為01,則表示接收下來的是有效數據幀;如果該位為00則表示沒有數據到達,或數據已經接收完成;如果既不是01又不是00,則認為有異常發生,這時就要將DM9000A芯片重啟以使芯片恢復到正常狀態。

(3)讀取第2個字節,即接收狀態字節。根據接收狀態字節判斷所接收的數據幀是否正常。

(4)讀取第3,4字節,即數據幀長度字節。

(5)讀取真正的數據幀內容。

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

數據幀接收流程如圖7所示。

圖7 數據幀接收流程圖

3.2 上層通信協議程序設計

TCP/IP協議模型可以分為四個層次[6],從下到上依次為:鏈路層、網絡層、傳輸層和應用層。每一層都有不同的功能,低一層為高一層提供服務。

標準的TCP/IP協議棧對處理器的計算、存儲要求比較高,然而,DSP系統的計算資源和存儲資源通常是非常有限,在DSP中實現標準的TCP/IP協議棧將占用大量系統資源,不利于DSP其他方面的應用,因此必須對它進行簡化并優化,盡可能做到代碼精簡,降低存儲開銷[7]。本系統設計和實現了TCP/IP通信協議的必要部分,包括:ARP,IP,ICMP,TCP,UDP等協議。

ARP(地址解析協議)為IP地址到對應的硬件地址之間提供動態映射。IP協議是TCP/IP協議的核心,所有的TCP,UDP,ICMP的數據都是以IP數據格式傳輸的[8]。ICMP(網絡控制報文)是用來傳遞差錯報文以及其他需要注意的信息,有各種類型的ICMP報文,本文只用到ICMP的請求回顯(類型字段為8、代碼字段為0)。TCP提供一種面向連接的、可靠的字節流服務[9],交換數據之前必須先建立一個TCP連接,即“三次握手”。UDP是一個簡單的面向數據報的傳輸層協議,它把應用程序傳給IP層的數據發送出去,但是并不保證他們能到達目的地。在鏈路層,當DM9000A完成一個以太網數據幀接收后,將其讀入暫存數組,檢查以太網幀類型字段,該字段值為0x0806,表示數據幀為ARP幀;該字段的值為0x0800,表示數據幀為IP幀。接著,分別交由ARP協議處理模塊或IP協議處理模塊。編程時使用框架如下:

if(完成以太網數據幀接收)

{ if(以太網類型字段==0x0806)

{ARP處理模塊}

if(以太網類型字段==0x0800)

{IP處理模塊}

}

網絡層收到的為ARP數據報,ARP根據操作字段(ARP請求為1,ARP應答為2),或者發送ARP應答或者更新ARP地址映射表。若為IP數據報,IP協議處理模塊對數據包解析后,IP首部協議字段若為1就將數據交給ICMP協議處理模塊,若為6則交給TCP處理模塊,若為17則交給UDP處理模塊。傳輸層得到UDP的報文后,按照UDP協議中的端口,分別送給不同的應用層序。若傳輸層得到的是TCP報文,則要根據TCP的狀態轉換圖進行處理[10]。在TCP或UDP的處理模塊中,根據目的端口號,分別將數據送往不同的用戶應用程序。其工作流程如圖8所示。

4 結 語

本文把高度集成、低成本的快速以太網控制器DM9000A與數據處理能力強大、高運行速度的DSP(TMS320F28335)相結合,設計出了一種DSP的以太網接口。實驗結果表明,DSP系統可以通過該接口實現以太網數據通信,經自行裁剪的TCP/IP協議棧,不僅實現了IP,ARP,ICMP,TCP和UDP協議,而且提高了數據傳輸效率。該接口具有硬件接口簡單、外圍器件少、運行穩定可靠、性價比高等特點,同時也能夠滿足測試、采集等高速數據傳輸系統的要求,符合當今DSP設備趨于網絡化發展的方向。

圖8 TCP/IP工作流程圖

參考文獻

[1] 施勇,溫陽東.基于DM9000A 的嵌入式以太網接口設計與實現[J].合肥工業大學學報:自然科學版,2011,34(4):519?524.

[2] 趙國峰,邱作雨,張毅.基于單片機的嵌入式TCP/IP協議棧的設計與實現[J].計算機技術與發展,2009,19(3):137?140.

[3] 劉亞萍,甄國涌,劉東海.基于MSP430和DM9000的以太網接口設計[J].自動化與儀表,2010(7):17?20.

[4] 唐娜.基于TMS320F2812和DM9000A以太網接口設計[J].測量與測試技術,2010,37(11):14?16.

[5] 蘇耀峰,王德剛,魏急波.DM9000A原理及其與基帶信號處理平臺的結合應用[J].電子設計工程,2007(4):53?56.

[6] 朱升林.嵌入式網絡那些事[M].北京:中國水利水電出版社,2012.

[7] 王原麗,王麗.基于ARM的嵌入式TCP/IP協議棧的實現[J].現代電子技術,2005,28(22):4?9.

[8] 龍鵬飛,宮蓉蓉.一種新的嵌入式TCP/IP協議棧的研究與實現[J].微計算機應用,2007,28(4):372?375.

[9] STEVENS W R.TCP/IP詳解卷1:協議[M].范建華,譯.北京:機械工業出版社,2000.

[10] 李正軍.現場總線與工業以太網及其應用技術[M].北京:機械工業出版社,2011.

主站蜘蛛池模板: 欧美中文字幕一区| 欧美日韩免费观看| 国产99视频在线| 国产精品香蕉在线| 国产成人免费| 99视频有精品视频免费观看| 第九色区aⅴ天堂久久香| 都市激情亚洲综合久久| 国产爽爽视频| 99r在线精品视频在线播放| h视频在线播放| 亚洲水蜜桃久久综合网站| 亚洲v日韩v欧美在线观看| 国产另类视频| 久久精品这里只有国产中文精品 | 黄色成年视频| 五月丁香伊人啪啪手机免费观看| 一本久道久综合久久鬼色| 狠狠色婷婷丁香综合久久韩国| 九九九久久国产精品| 国产三级国产精品国产普男人| 亚洲AV电影不卡在线观看| 亚洲天天更新| 丁香婷婷综合激情| 日韩国产一区二区三区无码| 国产高潮流白浆视频| 精品人妻系列无码专区久久| 91丝袜乱伦| 成人一区在线| 国产美女一级毛片| 国产视频一区二区在线观看| 又污又黄又无遮挡网站| 一区二区三区四区日韩| 99视频在线免费| 亚洲天堂在线免费| 中文天堂在线视频| 成年人国产网站| 国产主播喷水| 一级毛片免费高清视频| 亚洲精品成人片在线观看| 东京热高清无码精品| 黑色丝袜高跟国产在线91| 国产三区二区| 久久国产毛片| AV片亚洲国产男人的天堂| 在线99视频| 日本国产在线| 2020国产在线视精品在| 欧美日韩综合网| 久久精品亚洲热综合一区二区| 激情爆乳一区二区| 亚洲欧美天堂网| 国产一级做美女做受视频| 亚洲黄网视频| 在线免费亚洲无码视频| 四虎亚洲精品| 亚洲综合专区| 久久综合亚洲色一区二区三区| 国产sm重味一区二区三区| 中文一区二区视频| 性色在线视频精品| 99久久国产综合精品2020| 欧美亚洲激情| 依依成人精品无v国产| 国产白浆在线| 日韩国产一区二区三区无码| 色婷婷视频在线| 精品五夜婷香蕉国产线看观看| 国产va视频| 免费国产高清视频| 第一页亚洲| 久久久久国产精品嫩草影院| 免费国产高清视频| 精品91自产拍在线| 综合五月天网| 波多野结衣在线一区二区| 久久一本日韩精品中文字幕屁孩| 尤物精品视频一区二区三区| 国产成a人片在线播放| 日本一区二区三区精品视频| 欧美国产在线精品17p| 国产男女XX00免费观看|