【正文】
的值不同,說明數(shù)據(jù)包存在錯誤,進行丟棄。該字段的最小值為8字節(jié)(沒有純數(shù)據(jù)的UDP數(shù)據(jù)報)。UDP 偽首部的作用不是用戶數(shù)據(jù)的真正首部,只是為了計算檢驗和時,臨時和 UDP 用戶數(shù)據(jù)連接在一起,得到一個過度的 UDP 數(shù)據(jù)報,用于就算檢驗和,偽首部即不向下傳輸,也不向上傳輸。其目的是讓 UDP 兩次檢查數(shù)據(jù)是否己經(jīng)正確到達(dá)目的地(例如,IP 沒有接收地址不是本主機的數(shù)據(jù)報,以及 IP 沒有把應(yīng)傳給另一高層的數(shù)據(jù)報傳給UDP )。UDP 數(shù)據(jù)報和 TCP 段都包含一個 12 字節(jié)長的偽首部。如果它超過網(wǎng)絡(luò)的MTU,那么就要對 IP 數(shù)據(jù)報進行分片。 UDP 不提供可靠性:它把應(yīng)用程序傳給 IP 層的數(shù)據(jù)發(fā)送出去,但是并不保證它們能到達(dá)目的地。 用戶數(shù)據(jù)報協(xié)議(UDP) UDP 是一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議:進程的每個輸出操作都正好產(chǎn)生一個 UDP 數(shù)據(jù)報,并組裝成一份待發(fā)送的 IP 數(shù)據(jù)報。8 位類型 8 位代碼 16 位檢驗和不同類型和代碼有不同的內(nèi)容圖 22 ICMP 報文的格式 當(dāng)發(fā)送一份 ICMP 差錯報文時,報文始終包含 IP 的首部和產(chǎn)生 ICMP 差錯報文的 IP 數(shù)據(jù)報的前 8 個字節(jié)。類型字段可以有巧個不同的值,以描述特定類型的ICMP 報文,某些 ICMP 報文還使用代碼字段的值來進一步描述不同的條件。ICMP 報文的格式如圖 22 所示。ICMP 報文通常被 IP 層或更高層協(xié)議(TCP 或 UDP )使用。 互聯(lián)網(wǎng)控制報文協(xié)議(ICMP) ICMP 經(jīng)常被認(rèn)為是 IP 層的一個組成部分。無連接就是IP并不維護任何關(guān)于后續(xù)數(shù)據(jù)報的狀態(tài)信息,每個數(shù)據(jù)報的處理是相互獨立的,也就是IP數(shù)據(jù)報可以不按發(fā)送順序接收。IP提供不可靠、無連接的數(shù)據(jù)報傳送。在發(fā)送一份IP數(shù)據(jù)報之前,首先要在ARP 緩存表中查找目的IP 地址對應(yīng)的硬件地址(以太網(wǎng)地址),然后按照硬件地址進行以太網(wǎng)數(shù)據(jù)包封裝。目的地址為廣播地址的數(shù)據(jù)報用于DHCP 協(xié)議中,對系統(tǒng)IP 地址的獲得。接下來是源IP地址與目的IP地址,長度都為32位。當(dāng)收到一份IP數(shù)據(jù)報后,同樣對首部中每個 16bi進行二進制反碼的求和,由于接收方在計算過程中包含了發(fā)送方存在首部中的檢驗和,因此,如果首部在傳輸過程中沒有發(fā)生任何差錯,那么接收方計算的結(jié)果應(yīng)該為全1;如果結(jié)果不是全1,即檢驗和錯誤,那么I P就丟棄收到的數(shù)據(jù)報。在本系統(tǒng)中,只用到了ICMP協(xié)議和 UDP協(xié)議。協(xié)議字段:該字段長度為8bit,標(biāo)識IP包攜帶的是何種協(xié)議數(shù)據(jù)包。TTL( timetolive):生存時間字段設(shè)置了數(shù)據(jù)報可以經(jīng)過的最多路由器數(shù)。3bit的標(biāo)志字段中的第一位決定是否進行分片,當(dāng)該位置1時表示不分片,在該系統(tǒng)中傳輸只是在以太網(wǎng)中進行,其MTU(maximum transfer unit)為1500字節(jié),而實際傳輸?shù)臄?shù)據(jù)量不會超過一個數(shù)據(jù)包,所以對IP 數(shù)據(jù)報不分片。標(biāo)識、標(biāo)志、片偏移字段:這3個字段用來控制數(shù)據(jù)報的分片與重組。利用首部長度字段和總長度字段,就可以知道IP數(shù)據(jù)報中數(shù)據(jù)內(nèi)容的起始位置和長度。該項一般設(shè)為全0。普通IP數(shù)據(jù)報(沒有任何選擇)項字段的值是5,即頭部長度為20字節(jié)。首部長度:指的是首部占32 bit字的數(shù)目包括任何選項。圖21 IP數(shù)據(jù)報格式IP協(xié)議中各字段的含意為:版本:目前的協(xié)議版本號是4,因此IP有時也稱作 IPv4。所有的 TCP, UDP, ICMP 及 IGMP 數(shù)據(jù)都以 IP 數(shù)據(jù)報格式傳輸如圖 21。使用 ARP 協(xié)議檢索到的信息都記錄在一個 ARP 表中,ARP 表作為高速緩存器進行操作,在發(fā)送同一個 IP 地址的時候,從該表中可以檢索到 MAC 地址,值得注意的是,該標(biāo)記錄的信息,在寫入數(shù)分鐘后就會被刪除,這是因為同一 NIC 可以設(shè)定任意的IP 地址,在表中記錄的信息刪除后,同一 IP 若要發(fā)送數(shù)據(jù),則需再次執(zhí)行 ARP協(xié)議的操作。在同一個 Ether 段上的所有主機都可以收到該 ARP 請求包,并且,ARP 協(xié)議將接收端的 IP 地址與接口的 IP 地址作比較,若相同,則使用 ARP 應(yīng)答包來通知其 MAC 地址。 在 ARP 協(xié)議中的操作,對于連接在同一個 Ether 段上的所有主機來講,需要發(fā)送一個查詢包,即 ARP 請求包。ARP 的功能是在 32 bit 的 IP 地址和采用不同網(wǎng)絡(luò)技術(shù)的硬件地址之間提供動態(tài)映射。知道主機的 IP 地址并不能讓內(nèi)核發(fā)送一幀數(shù)據(jù)給主機。在硬件層次上進行的數(shù)據(jù)幀交換必須有正確的接口地址。系統(tǒng)要同其它計算機通信,需要根據(jù) IP 地址獲得 MAC 地址,就必須要支持 ARP 協(xié)議。幾乎各種不同的 TCP/ IP 實現(xiàn)都會提供下面這些通用的應(yīng)用程序: Tel 遠(yuǎn)程登錄、FTP 文件傳輸協(xié)議、SMTP 簡單郵件傳送協(xié)議、SNMP 簡單網(wǎng)絡(luò)管理協(xié)議 [4]。應(yīng)用層。任何必需的可靠性必須由應(yīng)用層來提供。UDP 則為應(yīng)用層提供一種非常簡單的服務(wù)。它所做的工作包括把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層,確認(rèn)接收到的分組,設(shè)置發(fā)送最后確認(rèn)分組的超時時鐘等。在 TCP/IP 協(xié)議簇中,有兩個互不相同的傳輸協(xié)議:TCP(傳輸控制協(xié)議)和 UDP(用戶數(shù)據(jù)報協(xié)議)。運輸層。網(wǎng)絡(luò)層在處理分組在網(wǎng)絡(luò)中的各種活動,例如分組的選路。 網(wǎng)絡(luò)層。有時也稱作數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口,通常包括操作系統(tǒng)中的設(shè)備驅(qū)動程序和計算機中對應(yīng)的網(wǎng)絡(luò)接口卡。TCP/IP 協(xié)議通常被認(rèn)為是一個四層協(xié)議系統(tǒng)。網(wǎng)絡(luò)協(xié)議通常分不同層次,每一層分別負(fù)責(zé)不同的通信功能。很多不同型號的計算機,運行完全不同的操作系統(tǒng),但 TCP/IP 協(xié)議簇卻允許它們之間相互通信,TCP/IP 協(xié)議簇的作用極其重要,在現(xiàn)代信息社會中的作用已經(jīng)超出了原來期望成為網(wǎng)絡(luò)通信的重要組成部分,發(fā)揮著越來越大的效能 [4]。第 2 章 網(wǎng)絡(luò)協(xié)議概述及規(guī)范本章主要討論我們將要實現(xiàn)的網(wǎng)絡(luò)協(xié)議 TCP/IP 協(xié)議簇中一些相關(guān)協(xié)議的基本理論和概念,它們的具體實現(xiàn)形式這章不做進一步的說明,待后續(xù)章節(jié)中再討論,本章是我們進行畢業(yè)設(shè)計網(wǎng)絡(luò)傳輸?shù)睦碚摶A(chǔ)和行為規(guī)范,對設(shè)計圓滿完成起著重要的作用。做了有意的探索。“ 基于 DSP 和以太網(wǎng)數(shù)據(jù)采集系統(tǒng)”的研究工作解決了以 DSP 為核心的處理系統(tǒng)與 Inter 的連接問題,為 DSP 設(shè)備的應(yīng)用開辟了更為廣闊的前景。DSP 芯片是專門為實現(xiàn)各種數(shù)字信號處理算法而設(shè)計的、具有特殊結(jié)構(gòu)的微處理器,其卓越的性能、不斷上升的性價比、日漸完善的開發(fā)方式使其應(yīng)用越來越廣泛。例如 Email, WEB 瀏覽等,或者僅僅停留在企業(yè)與企業(yè)及與個人在商務(wù)方面的信息交上,例如電子商務(wù) ebusiness 等,Inter 技術(shù)將會深入到人們?nèi)粘I詈凸ぷ鞯碾娮釉O(shè)備中,而且勢不可擋,隨著 IA(信息電器)的出現(xiàn),嵌入式網(wǎng)絡(luò)技術(shù)正逐步取代傳統(tǒng)的以 PC 為中的應(yīng)用,成為未來 Inter 發(fā)展中的主力軍,將會廣泛應(yīng)用于智能家居系統(tǒng)、工業(yè)智能化站系統(tǒng)、LED 網(wǎng)絡(luò)控制顯示屏系統(tǒng)、網(wǎng)絡(luò)安全加密系統(tǒng)等各個領(lǐng)域的各個方面。在本次設(shè)計中我們僅對AD轉(zhuǎn)換做一些介紹,而對于信號的處理這里就不再說明,針對以后具體信號再做具體的分析。AD轉(zhuǎn)換:AD轉(zhuǎn)換實現(xiàn)了模擬信號的采樣和信號的數(shù)字化,從而為實現(xiàn)各種信號的采集和處理打下了基礎(chǔ)。反之,RTL8019AS收到物理信號后將其還原成數(shù)據(jù),按指定格式存放在芯片RAM中以便 DSP程序取用。DSP系統(tǒng)對以太網(wǎng)幀的讀寫操作通過對內(nèi)部RAM進行遠(yuǎn)程DMA操作來實現(xiàn)。初始化過程首先對RTL8019AS 進行硬件復(fù)位和軟件復(fù)位然后在0頁寄存器中設(shè)置接收發(fā)送狀態(tài)配置以及發(fā)送緩存區(qū)的啟始頁與接收緩存區(qū)啟止頁地址在1頁寄存器中寫入以太網(wǎng)接口的MAC地址和組播地址。在這里程序的設(shè)計對于TCP/IP協(xié)議簇的應(yīng)用時非常關(guān)鍵的,只有對TCP/IP協(xié)議簇有了較深的認(rèn)識和了解,才能夠很好的實現(xiàn)網(wǎng)絡(luò)通信,從而實現(xiàn)DSP 的以太網(wǎng)傳輸。 軟件實現(xiàn)嵌入式 TCP/IP 協(xié)議:網(wǎng)絡(luò)協(xié)議是網(wǎng)絡(luò)通信的基礎(chǔ),特別是TCP/IP協(xié)議簇已成為當(dāng)今計算機間最常用的網(wǎng)絡(luò)通信標(biāo)準(zhǔn),是全球互聯(lián)網(wǎng)(Inter)的基礎(chǔ)。其中 RTL8019AS 復(fù)位初始化后,應(yīng)對其中的部分寄存器進一步初始化,然后才能發(fā)送數(shù)據(jù)或接收數(shù)據(jù)。 控制程序:利用 VB 來編寫控制程序從而實現(xiàn)本系統(tǒng)與計算機的通信。這一方法可節(jié)省軟件工作量、提高工作效率。 解決方案針對關(guān)鍵問題我們提出了一些解決方案,由于在很多應(yīng)用中要求 DSP 不停下來,而需要從主機中實時地讀取數(shù)據(jù)或者向主機實時地輸出數(shù)據(jù)。 本課題的關(guān)鍵問題及解決方案 本課題的關(guān)鍵問題在本系統(tǒng)的軟件設(shè)計過程中,應(yīng)該充分利用硬件資源及開發(fā)工具,使代碼達(dá)到所期望的性能,并且在 DSP 嵌入式系統(tǒng)的基礎(chǔ)上集成已經(jīng)封裝的 TCP/IP 協(xié)議棧,增加網(wǎng)絡(luò)連接代碼。根據(jù)所設(shè)計子程序及設(shè)計要求編寫網(wǎng)絡(luò)傳輸主程序?qū)崿F(xiàn)設(shè)計要求。軟件實現(xiàn)嵌入式 TCP/IP 協(xié)議。 本課題研究的主要內(nèi)容根據(jù)所設(shè)計的以太網(wǎng)控制器與網(wǎng)絡(luò)的接口硬件電路編寫驅(qū)動控制程序。從應(yīng)用工業(yè)應(yīng)用來看,以太網(wǎng)的應(yīng)用可以大大提高勞動效率,能夠讓儀表在一些危險的環(huán)境下取代人力工作,而得到的數(shù)據(jù)與結(jié)果比人工現(xiàn)場工作的結(jié)果更加科學(xué),精確。 本課題研究的意義從實際來看,設(shè)計基于DSP和以太網(wǎng)數(shù)據(jù)采集系統(tǒng),可以很好地實現(xiàn)網(wǎng)絡(luò)的傳輸。和一些目前應(yīng)用于工業(yè)的其它通信方案比較,以太網(wǎng)方式通常需要功能更強大的微處理器和更大的內(nèi)存。而隨著以太網(wǎng)接口控制器和DSP微處理器的價格不斷下降,使得將以太網(wǎng)直接集成到基于DSP等嵌入式系統(tǒng)的測試、采集、工業(yè)I/O設(shè)備中成為越來越明顯的趨勢。特別是在生產(chǎn)和科研領(lǐng)域?qū)y試的要求越來越高,所需測試和處理的數(shù)據(jù)量也越來越巨大,有時需要多個測試儀器同時進行測試,各測試儀器之間又需要進行數(shù)據(jù)交換;而且測試領(lǐng)域也越來越廣泛,有些現(xiàn)場不適合工作人員親臨,這時就需要通過網(wǎng)絡(luò)進行控制。由于它具有小巧、低功耗、高性能等特性,所以非常適合那些運算量大,對外型有個性要求的嵌入式產(chǎn)品。而隨著 DSP 微處理器的價格不斷下降,低功耗、高性能的 DSP 逐漸取代了通用單片機在數(shù)據(jù)采集處理系統(tǒng)中的地位,而且已經(jīng)有了很大的的市場和發(fā)展前景。全世界嵌入式系統(tǒng)產(chǎn)品潛在的市場將超過 1 萬億美元。對于我所選擇的這個題目,有利于提高我的專業(yè)知識和實踐能力,對于即將進入工作崗位的我來說,無疑是一次好的很好的鍛煉機會,同時,本課題也具有非常強的實際價值和市場潛力。通過畢業(yè)設(shè)計我們能夠?qū)W到了很多東西,畢業(yè)設(shè)計其實就是對四年大學(xué)學(xué)習(xí)的一個綜合,它要求把所學(xué)的知識靈活的運用。在此基礎(chǔ)上,也可以將其作為其于 DSP 和以太網(wǎng)的網(wǎng)絡(luò)測試平臺開發(fā)過程中的調(diào)試工具,從而加速把以太網(wǎng)集成到測試、采集和工業(yè) I/O 儀器中的開發(fā)進程。而網(wǎng)絡(luò)和計算機技術(shù)的發(fā)展,特別是 DSP 技術(shù)的應(yīng)用,可以大大降低這方面的成本?;谝蕴W(wǎng)的 I/O 設(shè)備是將以太網(wǎng)接口直接嵌入到設(shè)備內(nèi)部,所以使得設(shè)備更簡潔,體積更小,安裝也更靈活。以 DSP 為核心的嵌入式系統(tǒng)市場這幾年發(fā)展一直很快。例如:在生產(chǎn)過程中,應(yīng)用這一系統(tǒng)可對生產(chǎn)現(xiàn)場的工藝參數(shù)進行采集、監(jiān)視和記錄,為提高產(chǎn)品質(zhì)量、降低生產(chǎn)成本提供信息和手段;在科學(xué)研究中,應(yīng)用這一系統(tǒng)可獲得大量的動態(tài)信號,是研究瞬間物理過程的有力工具,也是獲得科學(xué)奧秘的重要手段之一。s data exchange with the Ether terminal in VB development environment and pile PC software to realization controllable program. Then, we discuss the main program and the initialized program is designed in DSP development environment. At the same time, the auxiliary files are discussed which is demanded when the protocol program is designed with C language in DSP development environment, including header file and interrupt vectors file and mand file. In the end, the designed program is tested. The result indicates data sampling system that was researched in my subject could realize the transmission of the data through Ether based on DSP and Ether.Key words: DSP, Ether, VB, TCP/IP, AD Transition 目 錄第 1 章 緒論???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????1 概述 ???????????????????????????????????????????????????????????????????????????????????????