【正文】
基于DM9000A的TCP通信設計摘 要隨著時代的發(fā)展,因特網的廣泛普及,人們對智能化產品需求的增加, 許多應用領域紛紛與網絡技術結合,出現(xiàn)了信息家電如PDA、可視電話 、移動電話 、機頂盒和數(shù)碼相機等嵌入式設備,它們正逐漸走向網絡化,以共享互聯(lián)網中龐大的信息資源。本課題設計了一個基于DM9000A的TCP通信,以DM9000A以太網控制器為核心,TCP/IP協(xié)議為重點,采用軟硬結合方式實現(xiàn)設計。課題系統(tǒng)的介紹了硬件網絡控制器DM9000A的內部結構與特點,并編寫了相應的程序代碼及闡述了它的驅動原理,采用軟件編程定義TCP/IP協(xié)議層的各幀結構, 通過分析協(xié)議的通信原理及具體實現(xiàn)過程,將簡化的TCP/IP協(xié)議移植到ARM硬件平臺。并利用協(xié)議的接口函數(shù)編寫上層應用程序,最后在應層實現(xiàn)EM客戶端與PC服務器端之間的數(shù)據(jù)傳輸。實驗證明,本課題的設計能夠成功的實現(xiàn)ARM平臺上的移植,并完成數(shù)據(jù)的準確傳輸,這將為以后網絡之間的通信提供了方便。關鍵詞:DM9000A;以太網;TCP/IP協(xié)議 TCP munication design based on DM9000AAbstractWith the development of the times, the popularization of internet widespread, people’s demand on the increase of intelligent product , many application domains in abundance with networking union. Appeared information home appliances such as PDA, videophone, mobile telephone, settop boxes and digital camera etc, they are gradually embedded equipment, to share internet towards network in the enormous information resources. This topic is TCP munication design based on DM9000A, takes the DM9000A Ethernet controller as the core, TCP/IP protocol for key point, and selects the soft and hard union method to realize the design. This topic systematically introduces the hardware network controller DM9000A’s internal structure and characteristics, and have piled the corresponding procedure code and elaborated its actuation principle. Using software programming definition TCP/IP protocol layer each frame structure, and realizes the process specifically through the analysis agreement39。s correspondence principle, will simplify the TCP/IP protocol transplanted to ARM hardware platform. And using agreement connection function pilation upper formation application procedure, finally in should the level realize between the EM client side and the PC server end data transmission. The experiment proved that this topic39。s design can succeed realizes in the ARM platform transplant, and pletes the data the accurate transmission, this will be for the munication between network and network and will provides convenient for every one after. Key word:DM9000A。 etherne。TCP/IP protocol 目 錄1 緒論 1 TCP/IP協(xié)議的發(fā)展 1 目前國內外TCP/IP協(xié)議的應用 2 本課題的設計內容與結構 22 以太網接口 4 硬件平臺描述 4 DM9000A芯片的內部結構和工作原理 5 DM9000A的驅動 7 以太網接口設計 123 TCP/IP通信協(xié)議的實現(xiàn) 16 TCP/IP通信的設計思想 16 TCP/IP協(xié)議的介紹 16 數(shù)據(jù)報的封裝 17 主程序流程 17 ARP協(xié)議及其實現(xiàn) 19 IP協(xié)議及其實現(xiàn) 23 IP協(xié)議幀數(shù)據(jù)結構 23 IP協(xié)議的實現(xiàn) 25 ICMP協(xié)議及其實現(xiàn) 27 TCP協(xié)議及其實現(xiàn) 29 TCP協(xié)議幀數(shù)據(jù)格式 29 TCP協(xié)議端口及套接字 31 TCP協(xié)議的通訊過程 31 TCP協(xié)議的實現(xiàn) 344 應用層的實現(xiàn) 36結 論 39致 謝 40參考文獻 41附 錄 421 緒論 TCP/IP協(xié)議的發(fā)展早在阿帕網(ARPR)產生運作之初,通過接口信號處理機實現(xiàn)互聯(lián)的電腦并不多,大部分電腦相互之間不兼容,在一臺電腦上完成的工作,很難拿到另一臺電腦上去用,每一個電腦在各自的系里都運行良好,但卻不能共享資源。面對這樣的狀況,科學家們提出這樣一個理念:讓所有電腦能夠實現(xiàn)“資源共享”。這就得在這些系統(tǒng)的標準之上,建立一種大家共同都必須遵守的標準,讓不同的電腦按照一定的規(guī)則進行“談判”,并且在談判之后能“握手”。隨著接口信號處理機”(IMP)的研試及網絡測評中心的建立,科學家們又提出用網絡思想設計網絡布局,網絡測評系統(tǒng)的想法。然而考慮到如何讓各種電腦都認可的信號來打開通信管道,并且數(shù)據(jù)通過后還要關閉通道的問題上,便引進了通信“協(xié)議”的概念。70年代,“包切換”理論為網絡之間的聯(lián)接方式提供了理論基礎,建立一種對各種操作系統(tǒng)普適的協(xié)議,利用包交換技術實現(xiàn)網絡之間的通信。這就產生了目前在開放系統(tǒng)下的所有網民和網管人員都在使用的“傳輸控制協(xié)議”和“因特網協(xié)議”即TCP/IP協(xié)議。通過制定詳細定義的TCP/IP協(xié)議標準,第一次實現(xiàn)了將信息包通過點對點的衛(wèi)星網絡,再通過陸地電纜,再通過衛(wèi)星網絡,再由地面?zhèn)鬏?,貫串歐洲和美國,經過各種電腦系統(tǒng),遠距離的可靠數(shù)據(jù)傳輸。從而驗證了TCP/IP的成功,使其得以發(fā)展[1]。TCP/IP的成功,給網絡通信帶來了很多方便,最初的TCP/IP是借助與因特網的密切關系才得以發(fā)展起來的。在網絡中,TCP/IP提供了在兩端計算機之間數(shù)據(jù)交換的環(huán)境,它的功能取決于兩臺計算機間進行的通信內容,即通過在兩端計算機上運行的程序決定TCP/IP網絡究竟能做些什么。TCP/IP協(xié)議具有可靠性與面向連接性,能使計算機之間直接交換數(shù)據(jù),實現(xiàn)資源的共享。不管在商務還是在家庭中,把計算機與網絡相連,利用TCP/IP協(xié)議通信獲得全世界信息,推進了TCP/IP技術的增強。TCP/IP包含了所有網絡綜合技術,具備了涵蓋所有類型網絡的功能,目前大量的研究機構研究將它推向開放式的網絡化協(xié)議。TCP/IP技術在與時俱進,不斷增強,它已進入我們生活的方方面面。 目前國內外TCP/IP協(xié)議的應用目前TCP/IP協(xié)議已成為占主導地位的通訊協(xié)議,它能使各種業(yè)務在不同的網上實現(xiàn)互聯(lián)互通,從技術上為網絡融合奠定了基礎,是研究和應用現(xiàn)代網絡必不可少的知識,也是從事網絡設計與應用工作的基石。它之所以能夠獲得如此成就,是因為它具有如下的特點: 開放的協(xié)議標準,可以獨立于特定計算機和操作系統(tǒng)的開放方式;獨立于特定的物理網絡硬件,可以運行在多種網絡傳輸介質上;共同的地址規(guī)劃方案,使得整個網絡中的任何TCP/IP設備都具有一個唯一的地址;標準化的高層協(xié)議提供了多種可靠的用戶服務。TCP/IP在誕生之初,主要以文字為中心進行信息交換,用于遠程登錄、電子郵件和文件傳送等方面的應用。不久,它應用于萬維網,實現(xiàn)了圖像和聲音、動畫等在內的大量可視化信息的訪問。隨著因特網的的普及與發(fā)展,TCP/IP也廣為人知,應用于介紹各種新聞、提供各種服務中,如傳送影像和聲音的服務,航天飛機升空實況轉播,音樂會實況傳播,講演活動的介紹等?,F(xiàn)在,TCP/IP已推廣到因特網以外的網絡領域,比如商店的收款機、銀行的ATM自動取款機、測量儀器、機械設備的控制與監(jiān)視、公司內部網絡及家庭內的居室自動化等等,開展了各種網絡應用[2]。隨著人們對智能化產品需求的增加,未來的嵌入式產品,包括各種家電、通信、PDA、儀器儀表等設備正逐漸走向網絡化,TCP/IP協(xié)議在嵌入式系統(tǒng)的研究也越來越有實際意義,因而基于TCP/IP協(xié)議使嵌入式設備的網絡化開發(fā)也有廣闊的市場前景。目前嵌入式系統(tǒng)作為新技術的發(fā)展方向,已廣泛的應用在軍事國防,消費電子,網絡通信,工業(yè)控制等領域。隨著因特網的普及,出現(xiàn)了信息家電,如PDA、可視電話 、移動電話 、機頂盒和數(shù)碼相機等嵌入式設備,它們的市場需求也越來越大,正逐漸走向網絡化,以共享互聯(lián)網中龐大的信息資源 。TCP/IP協(xié)議已成為目前最為流行及廣泛使用的以太網協(xié)議,TCP通信也將成為基于ARM的有線通信的的主要通信方式,實現(xiàn)遠程圖像監(jiān)控系統(tǒng)、遠程溫度環(huán)境監(jiān)控系統(tǒng),網絡通信等廣泛的應用。 本課題的設計內容與結構本課題是基于DM9000A的TCP通信設計,首先對以太網控制器DM9000A作了簡要的說明,并闡述了它的驅動原理,編寫了相應的程序代碼,其次分析了TCP/IP協(xié)議的通信原理及實現(xiàn)過程,講述了以太網層、傳輸層、網絡層的具體處理過程,最后基于TCP協(xié)議進行網絡通信,實現(xiàn)應用層的數(shù)據(jù)傳輸設計。本課題共分為四部分,內容安排如下:本課題第一部分為緒論,介紹了TCP的發(fā)展、應用背景及國內外發(fā)展前景,說明了TCP/IP應用的領域及網絡通信的可靠性。本課題第二部分為以太網接口DM9000A。主要介紹了本課題的硬件平臺,DM9000A的工作原理及驅動過程等。編寫相關程序代碼,實現(xiàn)數(shù)據(jù)的接收、發(fā)送處理,它為本課題的主要部分,實現(xiàn)了網絡數(shù)據(jù)的傳輸。本課題第三部分為TCP/IP協(xié)議的實現(xiàn)。主要介紹了以太網層、傳輸層、網絡層等各層中的協(xié)議及數(shù)據(jù)的接收、發(fā)送實現(xiàn)。針對TCP協(xié)議,更加系統(tǒng)的說明了它的具體通訊過程,如建立連接、數(shù)據(jù)傳輸、關閉連接等。這一部分對每個協(xié)議的實現(xiàn)過程都有概括的表述,做為基礎,有利于一些的理解。本課題第四部分為應用層的實現(xiàn)。介紹應用層的協(xié)議功能,實現(xiàn)應用層客戶端與服務器端之間的通信。2 以太網接口 硬件平臺描述ARM處理器FLASH網絡接口SRAM串行口LCD接口USB接口網絡驅動JTAG電源晶振USB接口 硬件平臺本課題實現(xiàn)TCP/。在這個開發(fā)平臺上,ARM處理器選用S3C44B0X,與ARM連接的有JTAG接口,用于調試程序用的。電源晶振是給ARM提供電源,ARM才能進行正常工作,ARM的晶振最大為66MHZ。FLASH相當于ARM的ROM,用來儲存程序,它的地址范圍0X00000000~0X01C00000。SDRAM用來儲存數(shù)據(jù),它的地址范圍為0X0C000000~0X0E000000。串行口用于跟外界連接,進行數(shù)據(jù)交換,如把控制命令下載到ARM中。LCD接口是連接LCD顯示器的,可以用來顯示ARM運行的結果,在調試仿真的時候很方便、直觀。USB接口用于跟外界交換數(shù)據(jù),如將數(shù)據(jù)從U盤中傳入ARM中。網絡驅動中用的網卡是DM9000A,用于S3C44B0X和網絡間的數(shù)據(jù)接收和發(fā)送,DM9000A采用的晶振是25MHZ。本文的設計中將CMD引腳與處理器的地址線ADR2相連,網絡控制器CMD引腳決定了處理器訪問的是哪個端口寄存器:當CMD=0時,主機訪問的是INDEX(地址)端口寄存器,它的地址為0X06000000;當CMD=1時,訪問的是DATA(數(shù)據(jù))端口寄存器,它的地址為0X06000004。通過這樣一個ARM平臺,就能很好地實現(xiàn)以太網通信。下文便是詳細講述在這個平臺上是如何實現(xiàn)通信的。 DM9000A芯片的內部結構和工作原理 1. 總體介紹DM9000A是一款完全集成的和符合成本效益單芯片快速以太網MAC控制器與一般處理接口,一個10/100M自適應的PHY和4K DWORD值的SRAM 。DM9000A還提供了介質無關的接口,來連接所有提供支持介質無關接口功能的家用電話線網絡設備或其他收發(fā)器。該DM9000A支持8位,16位接口訪問內部存儲器,以支持不同的處理器。DM9000A物理協(xié)議層接口完全支持使用10MBps下3類、4類、5類非屏蔽雙絞線和100MBps下5類非屏蔽雙絞線。這是完全符合IEEE ,它的自動協(xié)調功能將自動完成配置以最大限度地適合其線路帶寬。這個工作里面DM9000A是非常簡單的,所以用戶可以容易的移植任何系統(tǒng)下的端口驅動程序[3]。 2. 特點(1)支持處理器讀寫內部存儲器的數(shù)據(jù)操作命令以字節(jié)/字/雙字的長度進行 (2)集成10/100M自適應收發(fā)器 (3)支持介質無關接口 (4)支持背壓模式半