亚洲v欧美v国产v在线成_制服丝袜中文字幕丝袜专区_一区二区三区韩国电影_激情欧美一区二区中文字幕

我要投稿 投訴建議

物聯(lián)網(wǎng)的畢業(yè)論文

時間:2020-12-28 11:59:03 畢業(yè)論文范文 我要投稿

精選物聯(lián)網(wǎng)的畢業(yè)論文范文

  基于單片機的嵌入式以太網(wǎng)控制終端設計 摘要:基于單片機技術的以太網(wǎng)終端廣泛應用在各個領域,本文基于建榮AX2005+PHY的解決方案,實現(xiàn)ARP請求,以及ping命令。同時,本文詳細介紹以太網(wǎng)接口的硬件設計和通信電路的抗干擾設計。覆蓋單片機技術,通信技術,計算機網(wǎng)絡技術等多個知識領域。

精選物聯(lián)網(wǎng)的畢業(yè)論文范文

  關鍵詞:以太網(wǎng)協(xié)議; 信道編碼; TCP/IP協(xié)議; 單片機;

  一,概述:隨著單片機技術和嵌入式技術的廣泛應用,以及通信技術的發(fā)展和計算機網(wǎng)絡的普及,人們提出了對基于嵌入式系統(tǒng)的網(wǎng)絡通信技術的應用需求。嵌入式網(wǎng)絡通信系統(tǒng)將過去單一獨立的嵌入式系統(tǒng)組成一個網(wǎng)絡系統(tǒng),使得嵌入式系統(tǒng)不再是一個獨立的個體,而是一個整體信息化網(wǎng)絡的一個部分。該技術廣泛應用在智能設備,信息化家電,智能管理設備,安防監(jiān)控設備等領域。

  嵌入式網(wǎng)絡系統(tǒng)具有以下特點:1,基于單片機系統(tǒng)。2,系統(tǒng)之間存在數(shù)據(jù)通訊。在嵌入式網(wǎng)絡系統(tǒng)的實現(xiàn)方案中,有基于RS232/RS485總線協(xié)議,CAN總線協(xié)議,以太網(wǎng)協(xié)議,USB總線協(xié)議等多種方式。其中基于以太網(wǎng)協(xié)議的實現(xiàn)方案中,具有成本低,安裝方便,通訊距離遠,兼容性好和平臺移植方便等多種優(yōu)勢。該技術廣泛應用在以下領域。 1,實驗室管理監(jiān)控系統(tǒng)

  某生化實驗室需要建立一個實時監(jiān)控系統(tǒng),檢測實驗室人員出入,實驗結(jié)果數(shù)據(jù),實驗室溫度濕度。該實驗室的儀器設備都有RS232接口輸出打印,可以輸出到單片機。門禁和各種傳感器也接入單片機系統(tǒng)。這時候單片機可以通過以太網(wǎng)把數(shù)據(jù)提交到實驗室的服務器上,服務器通過處理提交的數(shù)據(jù),將控制命令通過以太網(wǎng)發(fā)給單片機,單片機再進行相應的操作。

  2,智能家居系統(tǒng)

  現(xiàn)代家居系統(tǒng)中,由于需要寬帶接入,基本上所有住戶都有局域網(wǎng)接入。在住戶內(nèi) 部搭建局域網(wǎng)也很方便。鑒于以上情況,利用以太網(wǎng)實現(xiàn)智能家居網(wǎng)絡能夠?qū)崿F(xiàn)。

  住房內(nèi)的家電和各種設施,可以接入內(nèi)部以太網(wǎng)實現(xiàn)相互通信,或者與上位機實現(xiàn)通信。上位機可以被用戶遠程控制,對居室的家電和設施進行控制,達到對居室的溫度,光亮的調(diào)節(jié),同時可以利用下位機(單片機)將室內(nèi)監(jiān)控系統(tǒng)的狀況傳到上位機,上位機通過分析可以向主人或者相關部門報告火警或者匪警。

  3,信息化家電

  傳統(tǒng)家電是一個獨立存在的系統(tǒng),電器與電器之間沒有絲毫聯(lián)系。在信息化家電系統(tǒng)中,所有信息化家電組成一個局域網(wǎng)絡系統(tǒng),家電屬于該系統(tǒng)中一個部分。信息化家電系統(tǒng)中,比如電飯鍋,可以通過網(wǎng)絡遠程控制。假如用戶需要下班回家就能吃上飯,可以在下班前通過遠程控制協(xié)議給電飯鍋發(fā)出指令,保證下班回家時飯剛好煮好。

  二,實現(xiàn)方案理論設計

  1,網(wǎng)絡協(xié)議簡介

  四層以太網(wǎng)協(xié)議

  網(wǎng)絡協(xié)議通常分不同層次進行開發(fā),每一層分別負責不同的通信功能。一個協(xié)議族,比如TCP/IP,是一組不同層次上的多個協(xié)議的組合。TCP/IP通常被認為是一個四層協(xié)議系統(tǒng),如圖可以看出這個四層協(xié)議的構(gòu)架。

  圖1-1 TCP/IP協(xié)議族的四個層每一層負責不同的功能:

  鏈路層:有時也稱作數(shù)據(jù)鏈路層或網(wǎng)絡接口層,通常包括操作系統(tǒng)中的設備驅(qū)動程序和計算機中對應的網(wǎng)絡接口卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理接口細節(jié)。

  網(wǎng)絡層:有時也稱作互聯(lián)網(wǎng)層,處理分組在網(wǎng)絡中的活動,例如分組的選路。在TCP/I協(xié)議族中,網(wǎng)絡層協(xié)議包括I協(xié)議(網(wǎng)際協(xié)議),ICMP協(xié)議(Interne互聯(lián)網(wǎng)控制報文協(xié)議),以及IGM協(xié)議(Internet組管理協(xié)議)。

  運輸層:主要為兩臺主機上的應用程序提供端到端的通信。在T C P / I P協(xié)議族中,有兩個互不相同的傳輸協(xié)議: TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。

  TCP為兩臺主機提供高可靠性的數(shù)據(jù)通信。它所做的工作包括把應用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡層,確認接收到的分組,設置發(fā)送最后確認分組的超時時鐘等。由于運輸層提供了高可靠性的端到端的通信,因此應用層可以忽略所有這些細節(jié)。 而另一方面, UDP則為應用層提供一種非常簡單的服務。它只是把稱作數(shù)據(jù)報的分組 從一臺主機發(fā)送到另一臺主機,但并不保證該數(shù)據(jù)報能到達另一端。任何必需的可靠 性必須由應用層來提供。

  這兩種運輸層協(xié)議分別在不同的應用程序中有不同的用途,這一點將在后面看到。 應用層:負責處理特定的應用程序細節(jié)。幾乎各種不同的TCP/IP實現(xiàn)都會提供下面這些通用的應用程序:

  Telnet 遠程登錄。

  FTP 文件傳輸協(xié)議。

  SMTP 簡單郵件傳送協(xié)議。

  SNMP 簡單網(wǎng)絡管理協(xié)議。

  假設我們以FTP服務的工作為例,4層協(xié)議的工作原理如圖

  OSI七層協(xié)議

  物理層 : OSI模型的最低層或第一層,該層包括物理連網(wǎng)媒介,如電纜連線連接器。物理層的協(xié)議產(chǎn)生并檢測電壓以便發(fā)送和接收攜帶數(shù)據(jù)的信號。在你的桌面P C 上插入網(wǎng)絡接口卡,你就建立了計算機連網(wǎng)的基礎。換言之,你提供了一個物理層。盡管物理層不提供糾錯服務,但它能夠設定數(shù)據(jù)傳輸速率并監(jiān)測數(shù)據(jù)出錯率。網(wǎng)絡物理問題,如電線斷開,將影響物理層。

  數(shù)據(jù)鏈路層:OSI模型的第二層,它控制網(wǎng)絡層與物理層之間的通信。它的主要功能是如何在不可靠的物理線路上進行數(shù)據(jù)的可靠傳遞。為了保證傳輸,從網(wǎng)絡層接收到的數(shù)據(jù)被分割成特定的可被物理層傳輸?shù)膸怯脕硪苿訑?shù)據(jù)的結(jié)構(gòu)包,它不僅包括原始數(shù)據(jù),還包括發(fā)送方和接收方的網(wǎng)絡地址以及糾錯和控制信息。其中的地址確定了幀將發(fā)送到何處,而糾錯和控制信息則確保幀無差錯到達。數(shù)據(jù)鏈路層的功能獨立于網(wǎng)絡和它的節(jié)點和所采用 2007 AppoTech Limited. All rights reserved DS2005 v100 2

  的物理層類型,它也不關心是否正在運行 Word、Excel或使用Internet 。有一些連接設備,如交換機,由于它們要對幀解碼并使用幀信息將數(shù)據(jù)發(fā)送到正確的接收方,所以它們是工作在數(shù)據(jù)鏈路層的。

  網(wǎng)絡層:OSI模型的第三層,其主要功能是將網(wǎng)絡地址翻譯成對應的物理地址,并決定如何將數(shù)據(jù)從發(fā)送方路由到接收方。

  網(wǎng)絡層通過綜合考慮發(fā)送優(yōu)先權、網(wǎng)絡擁塞程度、服務質(zhì)量以及可選路由的花費來決定從一個網(wǎng)絡中節(jié)點A 到另一個網(wǎng)絡中節(jié)點B 的最佳路徑。由于網(wǎng)絡層處理路由,而路由器因為即連接網(wǎng)絡各段,并智能指導數(shù)據(jù)傳送,屬于網(wǎng)絡層。在網(wǎng)絡中,“路由”是基于編址方案、使用模式以及可達性來指引數(shù)據(jù)的發(fā)送。

  傳輸層:OSI模型中最重要的一層。傳輸協(xié)議同時進行流量控制或是基于接收方可接收數(shù)據(jù)的快慢程度規(guī)定適當?shù)陌l(fā)送速率。除此之外,傳輸層按照網(wǎng)絡能處理的最大尺寸將較長的數(shù)據(jù)包進行強制分割。例如,以太網(wǎng)無法接收大于1500字節(jié)的數(shù)據(jù)包。發(fā)送方節(jié)點的傳輸層將數(shù)據(jù)分割成較小的數(shù)據(jù)片,同時對每一數(shù)據(jù)片安排一序列號,以便數(shù)據(jù)到達接收方節(jié)點的傳輸層時,能以正確的順序重組。該過程即被稱為排序。

  工作在傳輸層的一種服務是 TCP/IP協(xié)議套中的TCP(傳輸控制協(xié)議),另一項傳輸層服務是IPX/SPX協(xié)議集的SPX(序列包交換)。

  會話層:負責在網(wǎng)絡中的兩節(jié)點之間建立和維持通信。 會話層的功能包括:建立通信鏈接,保持會話過程通信鏈接的暢通,同步兩個節(jié)點之間的對 話,決定通信是否被中斷以及通信中斷時決定從何處重新發(fā)送。

  你可能常常聽到有人把會話層稱作網(wǎng)絡通信的“交通警察”。當通過撥號向你的ISP(因特網(wǎng)服務提供商)請求連接到因特網(wǎng)時,ISP服務器上的會話層向你與你的PC客戶機上的會話層進行協(xié)商連接。若你的電話線偶然從墻上插孔脫落時,你終端機上的會話層將檢測到連接中斷并重新發(fā)起連接。會話層通過決定節(jié)點通信的優(yōu)先級和通信時間的長短來設置通信期限

  表示層:應用程序和網(wǎng)絡之間的翻譯官,在表示層,數(shù)據(jù)將按照網(wǎng)絡能理解的方案進行格式化;這種格式化也因所使用網(wǎng)絡的類型不同而不同。

  表示層管理數(shù)據(jù)的解密與加密,如系統(tǒng)口令的處理。例如:在 Internet上查詢你銀行賬戶,使用的即是一種安全連接。你的賬戶數(shù)據(jù)在發(fā)送前被加密,在網(wǎng)絡的另一端,表示層將對接收到的數(shù)據(jù)解密。除此之外,表示層協(xié)議還對圖片和文件格式信息進行解碼和編碼。 應用層:負責對軟件提供接口以使程序能使用網(wǎng)絡服務。術語“應用層”并不是指運行在網(wǎng)絡上的某個特別應用程序 ,應用層提供的服務包括文件傳輸、文件管理以及電子郵件的信息處理。

  兩種協(xié)議對應關系

  我們可以看到,以太網(wǎng)網(wǎng)協(xié)議屬于OSI協(xié)議中的部分,其中OSI協(xié)議最重要的就是多了物理層,它是以太網(wǎng)設備通信的信道部分。鏈路層負責提供通信的時須,而以太網(wǎng)信號在信道中的傳遞全靠物理層。

  2,常用實現(xiàn)方案選型

  嵌入式以太網(wǎng)終端實現(xiàn)方案有多種,但其共同點都是單片機+網(wǎng)絡芯片。主要是兩種方案:單片機+MAC和單片機+PHY。

  MAC是Media Access Control 的縮寫,即媒體訪問控制子層協(xié)議。該協(xié)議位于OSI七層協(xié)議中數(shù)據(jù)鏈路層的下半部分,主要負責控制與連接物理層的物理介質(zhì)。在發(fā)送數(shù)據(jù)的時候,MAC協(xié)議可以事先判斷是否可以發(fā)送數(shù)據(jù),如果可以發(fā)送將給數(shù)據(jù)加上一些控制信息,最終將數(shù)據(jù)以及控制信息以規(guī)定的格式發(fā)送到物理層;在接收數(shù)據(jù)的時候,MAC協(xié)議首先判斷輸入的信息并是否發(fā)生傳輸錯誤,如果沒有錯誤,則去掉控制信息發(fā)送至LLC層。以太網(wǎng)MAC由IEEE-802.3以太網(wǎng)標準定義。

  PHY是位于OSI七層協(xié)議中的物理層,PHY在發(fā)送數(shù)據(jù)的時候,收到MAC過來的.數(shù)據(jù)(對PHY來說,沒有幀的概念,對它來說,都是數(shù)據(jù)而不管什么地址,數(shù)據(jù)還是CRC),每4bit就增加1bit的檢錯碼,然后把并行數(shù)據(jù)轉(zhuǎn)化為串行流數(shù)據(jù),再按照物理層的編碼規(guī)則把數(shù)據(jù)編碼,再變?yōu)槟M信號把數(shù)據(jù)送出去。收數(shù)據(jù)時的流程反之。

  2007 AppoTech Limited. All rights reserved DS2005 v100 3

  單片機+MAC典型方案為單片機+RTL8019的方案。

  RTL8019AS 是高度集成以太網(wǎng)控制器,它能夠簡單的解答即插即用NE2000兼容適配器,這種適配器具有二重和功率下降特性。通過三電平控制特性,RTL8019AS 是已制的對網(wǎng)絡設備GREEN PC 理想的選擇。全二重功能能夠模擬傳播和接收在雙絞線到全二重以太網(wǎng)交換機。這個特性不僅強帶寬從10 到20MBPS,而且避免了由于以太網(wǎng)頻道爭奪特性導致的讀出多路存取協(xié)議的問題。微軟公司的即插即用功能能減輕用戶較差的營業(yè)收入而注意適配器資源,如IRQ,輸入輸出,和存儲器地址等等。然而,為了特殊的應用而得不到即插即用功能的兼容性,RTL8019AS 支持JUMPER 和JUMPERLESS 選項。

  為了提供完全解決即插即用方案,RTL8019AS 在集成10BASET 收發(fā)器,BNC,和AUI 接口之間的自動檢測功能。此外,8 條IRQ 總線和16 條基本地址總線為大資源情況下提供了寬松的環(huán)境。

  RTL8019AS 支持16k,32k,和64k 字節(jié)BROM 和閃存接口。它仍然提供頁面模式功能,這種功能能支持在僅16k 字節(jié)內(nèi)存系統(tǒng)空間下的4M 字節(jié)的BROM.此外,BROM 的無用命令被用來釋放BROM 內(nèi)存空間。RTL8019AS 用16k 字節(jié)SRAM 設計在單片芯片上,它的設計不僅提供了更多友好的功能,而且節(jié)省了SRAM 存儲資源。

  單片機+PHY典型方案為單片機+RTL8201,RTL8201具有成本低,速度快(支持100M bps)等優(yōu)點。

  RTL8201BL是一個單端口的物理層收發(fā)器,它只有一個MII/SNI(媒體獨立接口/串行網(wǎng)絡接口)接口。它實現(xiàn)了全部的10/100M以太網(wǎng)物理層功能,包括物理層編碼子層(PCS),物理層介質(zhì)連接設備(PMA),雙絞線物理媒介相關子層(TP-PMD),10Base-Tx編解碼和雙絞線媒介訪問單元(TPMAU)。 PECL接口支持連接一個外部的100Base-FX光纖收發(fā)器。這款芯片使用先進的CMOS工藝制作以滿足低壓低功耗的需求。 RTL8201BL可以在NIC,MAU,CNR,ACR,以太網(wǎng)HUB,或以太網(wǎng)交換機中使用。另外,它也可以用于任何有以太網(wǎng)MAC并且需要一個物理上的雙絞線連接或一個光纖PECL接口以連接一個外部的100base-FX 光纖收發(fā)器模塊的嵌入式系統(tǒng)。

  MII接口

  MII即媒體獨立接口,它是IEEE-802.3定義的以太網(wǎng)行業(yè)標準。它包括一個數(shù)據(jù)接口,以及一個MAC和PHY之間的管理接口。數(shù)據(jù)接口包 括分別用于發(fā)送器和接收器的兩條獨立信道。每條信道都有自己的數(shù)據(jù)、時鐘和控制信號。MII數(shù)據(jù)接口總共需要16個信號。管理接口是個雙信號接口:一個是 時鐘信號,另一個是數(shù)據(jù)信號。通過管理接口,上層能監(jiān)視和控制PHY。MII Management interface只有兩條信號線。The configuration and status data is written/read to/from the PHY via the MDIO signal.

  MII標準接口 用于連快Fast Ethernet MAC-block與PHY!敖橘|(zhì)無關”表明在不對MAC硬件重新設計或替換的情況下,任何類型的PHY設備都可以正常工作。在其他速率下工作的與 MII等效的接口有:AUI(10M 以太網(wǎng))、GMII(Gigabit 以太網(wǎng))和XAUI(10-Gigabit 以太網(wǎng))。

  我們使用了珠海建榮集成(Appotech)的AX2005單片機+RTL8201的方案。

  AX2005是一種國產(chǎn)的基于8051內(nèi)核的OTP單片機,具有兩個DPTR地址指針,內(nèi)部集成了部分擴展SRAM,程序存儲器與數(shù)據(jù)存儲器地址可以交叉訪問。該單片機大多數(shù)指令都在一個時鐘周期內(nèi)完成,并且集成了DSP MAC(乘加器),可用于數(shù)字信號處理。

  AX2005具有GPSI接口,可以工作在MII兼容模式下,實現(xiàn)以太網(wǎng)MAC功能,并且工作于DMA模式。單片機性能可以達到100MIPS,集成32KB SRAM,并帶有硬件CRC模塊,可方便的用于以太網(wǎng)數(shù)據(jù)封裝的處理。所以該單片機非常適合用于以太網(wǎng)終端的應用。

  2007 AppoTech Limited. All rights reserved DS2005 v100 4

  AX2005 High Performance 8-bit RISC Microcontroller

  High Performance 8-bit RISC MCU DC-125MHz operation Compatible with 8051

  40ns internal interrupt response at 125 MIPS All instructions are single-cycled except

  branching instructions

  Two data pointers for indirect addressing

  Program Memory and Data Memory 32K Bytes OTP program memory

  64K Bytes instruction SRAM used for

  program and/or data memory 256 Bytes internal data SRAM

  64K Bytes External Memory Interface (EMI),

  support DMA to on-chip SRAM

  Interrupt Features

  26 vectored interrupts 3 levels interrupt priority

  External wakeup/interrupt capabilities on

  Port 1

  2 levels interrupt priority selection for all the

  hardware interrupt sources except Watchdog and LVD where they occupy the third level Flexible I/O

  60 GPIO pins in 7 and a half ports.

  All GPIO pins can be individually

  programmable as input or output

  All GPIO pins are internally pull-up selectable CMOS/TTL-level Schmitt triggered inputs All GPIO pins are 8mA sink/source current

  output driving

  Digital Peripheral Features

  Two 16-bit timers compatible with 8051’s

  timer0 timer1

  Two multi-function 16-bit timers, support

  Capture and PWM mode

  Two 8-bit timers, support Capture mode.

  Watchdog Timer with on-chip 1MHz RC

  oscillator

  Two high-speed full-duplex UART Two high-speed SPI, support DMA 1 GPSI interface, support DMA

  Two 4-channel IIS interfaces, support DMA 1 programmable linear feedback shift

  registers

  1 CRC(循環(huán)冗余校驗) FIFO, can use for CRC16

  and CRC32 calculating 1 ECC(錯誤校驗糾正) FIFO

  1 16-bit/24-bit DSP engine, support DMA. 1 Bit-fetcher, can use for bit stream analyzing Full-speed USB 2.0 OTG(on the go) controller

  with 4 endpoints (including endpoint 0) and 512 bytes FIFO totally.

  Analog Peripheral Features 4~20MHz Crystal Oscillator 1MHz RC oscillator

  Full-speed USB 2.0 OTG PHY

  40~200MHz Flexible PLL-based clock

  generator

  2 channels 16bit Class-D DAC

  1 channel 8 levels Low Voltage Detector Power-on reset

  3.3V to 1.8V Low Drop-Out regulator

  Programming and Debugging Support In-System Programming (ISP) support In-System Debugging (ISD) support

  Power Supply

  LDOVDD, VDDIO, PLLVDD is 3.0-3.6V VDDCORE is 1.6-2.0V

  Packages

  80-pin LQFP (10mm x 10mm) 64-pin LQFP (10mm x 10mm) 48-pin LQFP (7mm x 7mm) DIE for

  2007 AppoTech Limited. All rights reserved DS2005 v100

  3,系統(tǒng)設計與系統(tǒng)框圖

  在基于AX2005單片機的以太網(wǎng)控制終端的方案中,以AX2005單片機為控制核心,單片機負責以下工作:

  硬件系統(tǒng)部分的設計

  1,在單片機內(nèi)部開辟兩個儲存空間,分別用于發(fā)送和接受數(shù)據(jù)流。以太網(wǎng)封裝格式中,是按照6字節(jié)目的硬件地址,6字節(jié)源地址,2字節(jié)類型,46~1500字節(jié)的數(shù)據(jù),4字節(jié)的CRC校驗碼組成。應此,每個空間大小應該設置為1518字節(jié)。單片機訪問這兩個空間,發(fā)送數(shù)據(jù)時,將相應協(xié)議的報頭和報文填入對應的位置,再將空間內(nèi)的整個數(shù)據(jù)發(fā)送出去;接受數(shù)據(jù)時,單片機訪問相應協(xié)議的報頭位置,判斷收到數(shù)據(jù)報的類型,再處理相應的報文。

  圖2-1

  2,單片機利用MII接口與PHY連接,MAC協(xié)議由單片機提供。單片機內(nèi)部產(chǎn)生MAC地址。以太網(wǎng)通信最終實質(zhì)是以太網(wǎng)設備訪問對方的48位MAC地址。建榮的AX2005單片機沒有專門的符合IEEE802.3標準的MII接口,而是GPSI(通用串行接口)工作在MII模式下。由于AX2005的MII/GPSI接口支持DMA工作模式,并內(nèi)部集成有32KB SRAM,可以直接被MII接口控制器讀寫。因此,在該方案中使用DMA模式,MCU只往緩沖區(qū)中讀寫數(shù)據(jù),MII控制器會自動通過DMA將緩沖區(qū)的數(shù)據(jù)發(fā)到以太網(wǎng),或者將以太網(wǎng)的數(shù)據(jù)收到緩沖區(qū)中,供CPU處理。

  3,單片機利用UART接口,通過RS23轉(zhuǎn)換器,在單片機收到以太網(wǎng)數(shù)據(jù)包時,通過串口,將收到的數(shù)據(jù)打印到顯示屏上;蛘咄ㄟ^串口將數(shù)據(jù)發(fā)到單片機,再轉(zhuǎn)發(fā)到以太網(wǎng)。

  6

  圖2-2 IEEE-802.3規(guī)范的以太網(wǎng)接口相關介紹

  ETHERNET的接口實質(zhì)是MAC通過MII總線控制PHY的過程。

  MAC是Media Access Control 的縮寫,即媒體訪問控制子層協(xié)議。該協(xié)議位于OSI七層協(xié)議中數(shù)據(jù)鏈路層的下半部分,主要負責控制與連接物理層的物理介質(zhì)。在發(fā)送數(shù)據(jù)的時候,MAC協(xié)議可以事先判斷是否可以發(fā)送數(shù)據(jù),如果可以發(fā)送將給數(shù)據(jù)加上一些控制信息,最終將數(shù)據(jù)以及控制信息以規(guī)定的格式發(fā)送到物理層;在接收數(shù)據(jù)的時候,MAC協(xié)議首先判斷輸入的信息并是否發(fā)生傳輸錯誤,如果沒有錯誤,則去掉控制信息發(fā)送至LLC層。以太網(wǎng)MAC由IEEE-802.3以太網(wǎng)標準定義。

  MII(Media Independent Interface)即媒體獨立接口, “媒體獨立”表明在不對MAC硬件重新設計或替換的情況下,任何類型的PHY設備都可以正常工作。包括分別用于發(fā)送器和接收器的兩條獨立信道。每條信道都有自己的數(shù)據(jù)、時鐘和控制信號。MII數(shù)據(jù)接口總共需要16個信號,包括TX_ER,TXD<3:0>,TX_EN,TX_CLK,COL,RXD<3:0>,RX_EX,RX_CLK,CRS,RX_DV等。

  MII以4位半字節(jié)方式傳送數(shù)據(jù)雙向傳輸,時鐘速率25MHz。其工作速率可達100Mb/s。MII管理接口是個雙信號接口,一個是時鐘信號,另一個是數(shù)據(jù)信號。通過管理接口,上層能監(jiān)視和控制PHY。其管理是使用SMI(Serial Management Interface)總線通過讀寫PHY的寄存器來完成的。PHY里面的部分寄存器是IEEE定義的,這樣PHY把自己的目前的狀態(tài)反映到寄存器里面,MAC通過SMI總線不斷的讀取PHY的狀態(tài)寄存器以得知目前PHY的狀態(tài),例如連接速度,雙工的能力等。當然也可以通過SMI設置PHY的寄存器達到控制的目的,例如流控的打開關閉,自協(xié)商模式還是強制模式等。不論是物理連接的MII總線和SMI總線還是PHY的狀態(tài)寄存器和控制寄存器都是有IEEE的規(guī)范的,因此不同公司的MAC和PHY一樣可以協(xié)調(diào)工作。當然為了配合不同公司的PHY的自己特有的一些功能,驅(qū)動需要做相應的修改。

  IEEE802.3標準定義的以太網(wǎng)工作方式如下:IEEE802.3中定義的介質(zhì)獨立接口(MII)主要用來連接介質(zhì)訪問控制子層(MAC)和物理層(PHY),目的是使不同的物理層能夠使用統(tǒng)一的接口連到MAC層,即物理層對MAC層是透明的。該接口可用于直接連接MAC與PHY芯片,也可連接分別裝有MAC和PHY的兩塊印制板,此外,還可以通過一段電纜連接裝有MAC和PHY的設備。這一接口支持10Mbps和100Mbps兩種速率,而且兩種速率實現(xiàn)的功能相同,其區(qū)別只是工作頻率不一樣。介質(zhì)獨立接口由18根信號線組成,其中發(fā)送方向7根(TXD<3:0>、TX EN、TX CLK、TX ER),接收方向7根(RXD<3:0>、RX DV、RX CLK、RX ER),此外,還有載波偵聽(CRS)、沖突檢測(COL)和串行管理通道(MDC、MDIO)信號。發(fā)送時鐘(TX CLK)和接收時鐘(RX CLK)一般由PHY提供(本文還將提出一種由另一端MAC或外界提供標準時鐘的設計方案),根據(jù)數(shù)據(jù)率10Mpbs/100Mbps選擇2.5MHz或25MHz時鐘,且不論有無有效數(shù)據(jù)收發(fā),時鐘一直被正常提供。在發(fā)送方向,當介質(zhì)訪問控制子層有數(shù)據(jù)要發(fā)送時,在某個發(fā)送時鐘上升沿應將發(fā)送使能信號(TX EN)置為高電平,同時發(fā)送待發(fā)數(shù)據(jù)(TXD<3:0>)的前同步碼,直到數(shù)據(jù)發(fā)送完畢,發(fā)送使能信號被置為低電平為止。而在接收方向,一旦MAC控制器檢測出接收數(shù)據(jù)有效信號(由PHY發(fā)出)為高電平,系統(tǒng)將在接下來的每個接收時鐘上升沿采集接收數(shù)據(jù)(RXD<3:0>),直到接收數(shù)據(jù)有效

  信號位被置為低電平為止。在半雙工模式下,PHY將根據(jù)物理鏈路狀況輸出載波偵聽(CRS)和沖突檢測(COL)信號,這兩種信號都不必與時鐘同步。

  4,網(wǎng)絡協(xié)議設計詳解

  在該以太網(wǎng)控制終端設計中由于只需要實現(xiàn)ping功能,參考《TCP/IP詳解 卷1:協(xié)議》,該方案中需要實現(xiàn)ARP地址解析協(xié)議,IP協(xié)議,ICMP協(xié)議,并實現(xiàn)UDP和TCP協(xié)議。

  1)以太網(wǎng)首部:

  以太網(wǎng)首部長度14字節(jié),是由6字節(jié)的目的地址,6字節(jié)源地址,2字節(jié)類型構(gòu)成。6字節(jié)以太網(wǎng)首部地址又叫MAC地址,MAC地址具有唯一性,每個以太網(wǎng)設備都有自己的MAC地址。以太網(wǎng)設備相互通信時,硬件尋址對方的MAC地址。由于以太網(wǎng)中每個設備的MAC地址都是唯一的,所以只要確定一個目標地址就能確定一個唯一的設備。在廣播模式下,目標地址為全部為0XFF。以太網(wǎng)數(shù)據(jù)包類型標志為2字節(jié),其中IP包為0x0800,ARP包為0x0806。以太網(wǎng)數(shù)據(jù)包最后有一個4字節(jié)的CRC校驗包,確保數(shù)據(jù)在以太網(wǎng)傳輸中的正確性。一個以太網(wǎng)數(shù)據(jù)包最小長度64字節(jié),最大長度為1518字節(jié)。因此任何一個以太網(wǎng)數(shù)據(jù)包,不管是什么類型,必須滿足以太網(wǎng)數(shù)據(jù)包最小長度。

  2)ARP地址解析協(xié)議:

  數(shù)據(jù)鏈路如以太網(wǎng)或令牌環(huán)網(wǎng)都有自己的尋址機制(常常為48 bit地址),這是使用數(shù)據(jù)鏈路的任何網(wǎng)絡層都必須遵從的。一個網(wǎng)絡如以太網(wǎng)可以同時被不同的網(wǎng)絡層使用。當一臺主機把以太網(wǎng)數(shù)據(jù)幀發(fā)送到位于同一局域網(wǎng)上的另一臺主機時,是根據(jù)48 bit的以太網(wǎng)地址來確定目的接口的。設備驅(qū)動程序從不檢查I P數(shù)據(jù)報中的目的I P地址。地址解析為這兩種不同的地址形式提供映射: 32 bit的I P地址和數(shù)據(jù)鏈路層使用的任何類型的地址。

  ARP的數(shù)據(jù)包格式如下,長度為42字節(jié)。以太網(wǎng)首部14個字節(jié),源地址為本機的固定地址,是個唯一的值,供硬件尋址用;目標地址在ARP請求中為廣播模式,即全部為0xff,當從設備收到ARP請求后,回復ARP應答,在ARP應答中以太網(wǎng)目的地址為主機的以太網(wǎng)硬件地址,以太網(wǎng)源地址為本機以太網(wǎng)硬件地址;幀類型2字節(jié)長度,在ARP包中為0x0806。ARP報文為28個字節(jié),硬件類型為2字節(jié),硬件類型字段表示硬件地址的類型,它的值為1即表示以太網(wǎng)地址。協(xié)議類型為2字節(jié),協(xié)議類型字段表示要映射的協(xié)議地址類型,它的值為0x0800即表示IP地址。它的值與包含IP數(shù)據(jù)報的以太網(wǎng)數(shù)據(jù)幀中的類型字段的值相同,這是有意設計的。接下來的兩個1字節(jié)的字段,硬件地址長度和協(xié)議地址長度分別指出硬件地址和協(xié)議地址的長度,以字節(jié)為單位。對于以太網(wǎng)上IP地址的ARP請求或應答來說,它們的值分別為6和4。操作字段指出四種操作類型,它們是ARP請求(值為1)、ARP應答(值為2)、RA RP請求(值為3)和RARP應答(值為4)。這個字段必需的,因為A R P請求和A R P應答的幀類型字段值是相同的。 接下來的四個字段是發(fā)送端的硬件地址(在本例中是以太網(wǎng)地址)、發(fā)送端的協(xié)議地址(IP地址)、目的端的硬件地址和目的端的協(xié)議地址。注意,這里有一些重復信息:在以太網(wǎng)的數(shù)據(jù)幀報頭中和A R P請求數(shù)據(jù)幀中都有發(fā)送端的硬件地址。

  對于一個ARP請求來說,除目的端硬件地址外的所有其他的字段都有填充值。當系統(tǒng)收到

  一份目的端為本機的ARP請求報文后,它就把硬件地址填進去,然后用兩個目的端地址分別替換兩個發(fā)送端地址,并把操作字段置為2,最后把它發(fā)送回去。

  由于在以太網(wǎng)協(xié)議中,以太網(wǎng)報文長度在46~1500字節(jié),然后再跟4字節(jié)的CRC校驗,一個完整的以太網(wǎng)數(shù)據(jù)包最小長度為64字節(jié)。所以一個ARP包長度必須滿足以太網(wǎng)數(shù)據(jù)包最小長度,必須要有18字節(jié)的填充,再跟4字節(jié)的CRC校驗。

  3)IP網(wǎng)際協(xié)議:IP是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的TCP、UDP、ICMP及IGMP數(shù)據(jù)都以IP數(shù)據(jù)報格式傳輸

  IP提供不可靠、無連接的數(shù)據(jù)報傳送服務。不可靠(unreliable)的意思是它不能保證IP數(shù)據(jù)報能成功地到達目的地。IP僅提供最好的傳輸服務。無連接(connectionless)這個術語的意思是IP并不維護任何關于后續(xù)數(shù)據(jù)報的狀態(tài)信息。每個數(shù)據(jù)報的處理是相互獨立的。這也說明, IP數(shù)據(jù)報可以不按發(fā)送順序接收。

  IP數(shù)據(jù)報的格式如圖2-4所示。普通的IP首部長為20個字節(jié),除非含有選項字段。

  協(xié)議版本號是4,因此IP有時也稱作IPv4,以后還有一種新的IPv6協(xié)議,在此不作介紹。 首部長度指的是首部占32bit字的數(shù)目,包括任何選項。由于它是一個4比特字段,因此首部最長為60個字節(jié)。普通IP數(shù)據(jù)報(沒有任何選擇項)字段的值是5。

  服務類型(TOS)字段包括一個3 bit的優(yōu)先權子字段(現(xiàn)在已被忽略),4bit的TOS子字段和1bit未用位但必須置0。4 bit的TOS分別代表:最小時延、最大吞吐量、最高可靠性和最小費用。4bit中只能置其中1bit。如果所有4bit均為0,那么就意味著是一般服務。服務類型參見(表2-1)。

  總長度字段是指整個IP數(shù)據(jù)報的長度,以字節(jié)為單位。利用首部長度字段和總長度字段,就可以知道IP數(shù)據(jù)報中數(shù)據(jù)內(nèi)容的起始位置和長度。由于該字段長16比特,所以IP數(shù)據(jù)報最長可達65535字節(jié)。當數(shù)據(jù)報被分片時,該字段的值也隨著變化。盡管可以傳送一個長達65535字節(jié)的IP數(shù)據(jù)報,但是大多數(shù)的鏈路層都會對它進行分片。而且,主機也要求不能接收超過576字節(jié)的數(shù)據(jù)報。由于TCP把用戶數(shù)據(jù)分成若干片,因此一般來說這個限制不會影響TCP?傞L度字段是IP首部中必要的內(nèi)容,因為一些數(shù)據(jù)鏈路(如以太網(wǎng))需要填充一些數(shù)據(jù)以達到最小長度。盡管以太網(wǎng)的最小幀長為46字節(jié)(見圖2-2),但是IP數(shù)據(jù)可能會更短。如果沒有總長度字段,那么IP層就不知道46字節(jié)中有多少是IP數(shù)據(jù)報的內(nèi)容。

  標識字段唯一地標識主機發(fā)送的每一份數(shù)據(jù)報。通常每發(fā)送一份報文它的值就會加1。標識字段應該由讓IP發(fā)送數(shù)據(jù)報的上層來選擇。假設有兩個連續(xù)的IP數(shù)據(jù)報,其中一個是由TCP生成的,而另一個是由UDP生成的,那么它們可能具有相同的標識字段。盡管這也可以照常工作(由重組算法來處理),但是在大多數(shù)從伯克利派生出來的系統(tǒng)中,每發(fā)送一個IP數(shù)據(jù)報,IP層都要把一個內(nèi)核變量的值加1,不管交給IP的數(shù)據(jù)來自哪一層。內(nèi)核變量的初始值根據(jù)系統(tǒng)引導時的時間來設置。

  片偏移字段指的是該片偏移原始數(shù)據(jù)報開始處的位置。另外,當數(shù)據(jù)報被分片后,每個片的總長度值要改為該片的長度值。

  TTL(time-to-live)生存時間字段設置了數(shù)據(jù)報可以經(jīng)過的最多路由器數(shù)。它指定了數(shù)據(jù)報的生存時間。TTL的初始值由源主機設置(通常為32或64),一旦經(jīng)過一個處理它的路由器,它的值就減去1。當該字段的值為0時,數(shù)據(jù)報就被丟棄,并發(fā)送ICMP報文通知源主機。第8章我們討論Traceroute程序時將再回來討論該字段。

  協(xié)議字段為IP在首部中存入一個長度為8bit的數(shù)值。1表示為ICMP協(xié)議, 2表示為IGMP協(xié)議,6表示為TCP協(xié)議,17表示為UDP協(xié)議。

  首部檢驗和字段是根據(jù)IP首部計算的檢驗和碼。它不對首部后面的數(shù)據(jù)進行計算。ICMP、IGMP、UDP和TCP在它們各自的首部中均含有同時覆蓋首部和數(shù)據(jù)檢驗和碼。為了計算一份數(shù)據(jù)報的IP檢驗和,首先把檢驗和字段置為0。然后,對首部中每個16bit進行二進制反碼求和(整個首部看成是由一串16bit的字組成),結(jié)果存在檢驗和字段中。當收到一份IP數(shù)據(jù)報后,同樣對首部中每個16bit進行二進制反碼的求和。由于接收方在計算過程中包含了發(fā)送方存在首部中的檢驗和,因此,如果首部在傳輸過程中沒有發(fā)生任何差錯,那么接收方計算的結(jié)果應該為全1。如果結(jié)果不是全1(即檢驗和錯誤),那么I P就丟棄收到的數(shù)據(jù)報。但是不生成差錯報文,由上層去發(fā)現(xiàn)丟失的數(shù)據(jù)報并進行重傳。

  4)ICMP Internet控制報文協(xié)議與ping命令:ICMP經(jīng)常被認為是IP層的一個組成部分。____

  它傳遞差錯報文以及其他需要注意的信息。ICMP報文通常被IP層或更高層協(xié)議(TCP或UDP)使用。一些ICMP報文把差錯報文返回給用戶進程。

  ICMP報文各種類型如圖2-7所示,不同類型由報文中的類型字段和代碼字段來共同決定。圖中的最后兩列表明ICMP報文是一份查詢報文還是一份差錯報文。因為對ICMP差錯報文有時需要作特殊處理,因此我們需要對它們進行區(qū)分。例如,在對ICMP差錯報文進行響應時,永遠不會生成另一份ICMP差錯報文(如果沒有這個限制規(guī)則,可能會遇到一個差錯產(chǎn)生另一個差錯的情況,而差錯再產(chǎn)生差錯,這樣會無休止地循環(huán)下去)。當發(fā)送一份ICMP差錯報文時,報文始終包含IP的首部和產(chǎn)生ICMP差錯報文的IP數(shù)據(jù)報的前8個字節(jié)。這樣,接收ICMP差錯報文的模塊就會把它與某個特定的協(xié)議(根據(jù)IP數(shù)據(jù)報首部中的協(xié)議字段來判斷)和用戶進程(根據(jù)包含在IP數(shù)據(jù)報前8個字節(jié)中的TCP或UDP報文首部中的TCP或UDP端口號來判斷)聯(lián)系起來。

  下面各種情況都不會導致產(chǎn)生ICMP差錯報文:

  1) ICMP差錯報文(但是,ICMP查詢報文可能會產(chǎn)生ICMP差錯報文)。

  2) 目的地址是廣播地址(見圖3-9)或多播地址(D類地址,見圖1-5)的IP數(shù)據(jù)報。

  3) 作為鏈路層廣播的數(shù)據(jù)報。

  4) 不是IP分片的第一片(將在11.5節(jié)介紹分片)。

  5) 源地址不是單個主機的數(shù)據(jù)報。這就是說,源地址不能為零地址、環(huán)回地址、廣播地址或多播地址。

  這些規(guī)則是為了防止過去允許ICMP差錯報文對廣播分組響應所帶來的廣播風暴。

  ICMP地址掩碼請求用于無盤系統(tǒng)在引導過程中獲取自己的子網(wǎng)掩碼(3.5節(jié))。系統(tǒng)廣播它的ICMP請求報文(這一過程與無盤系統(tǒng)在引導過程中用RARP獲取IP地址是類似的)。無盤系統(tǒng)獲取子網(wǎng)掩碼的另一個方法是BOOTP協(xié)議,我們將在第16章中介紹。ICMP地址掩碼請求和應答報文的格式如圖2-8所示。

  ICMP報文中的標識符和序列號字段由發(fā)送端任意選擇設定,這些值在應答中將被返回。這樣,發(fā)送端就可以把應答與請求進行匹配。

  Ping程序由目的是為了測試另一臺主機是否可達。該程序發(fā)送一份ICMP回顯請求報文給主機,并等待返回ICMP回顯應答。一般來說,如果不能Ping到某臺主機,那么就不能Telnet或者FTP到那臺主機。反過來,如果不能Telnet到某臺主機,那么通?梢杂肞ing程序來確定問題出在哪里。Ping程序還能測出到這臺主機的往返時間,以表明該主機離我們有“多遠”。

  我們稱發(fā)送回顯請求的ping程序為客戶,而稱被ping的主機為服務器。大多數(shù)的TCP/IP實現(xiàn)都在內(nèi)核中直接支持Ping服務器—這種服務器不是一個用戶進程。ICMP回顯請求和回顯應答報文如圖2-9所示。

  在局域網(wǎng)上運行ping程序的結(jié)果輸出一般有如下格式:

  當返回ICMP回顯應答時,要打印出序列號和TTL,并計算往返時間。從上面的輸出中可以看出,回顯應答是以發(fā)送的次序返回的( 0,1,2等)。

  ping程序通過在ICMP報文數(shù)據(jù)中存放發(fā)送請求的時間值來計算往返時間。當應答返回時,用當前時間減去存放在ICMP報文中的時間值,即是往返時間。輸出的第一行包括目的主機的I P地址,盡管指定的是它的名字。這說明名字已經(jīng)經(jīng)過解析器被轉(zhuǎn)換成I P地址了,F(xiàn)在,我們發(fā)現(xiàn),如果敲入ping命令,幾秒鐘過后會在第1行打印出IP地址, DNS就是利用這段時間來確定主機名所對應的IP地址。

  通常,第1個往返時間值要比其他的大。這是由于目的端的硬件地址不在ARP高速緩存中第1個RTT中多出的3ms很可能就是因為發(fā)送ARP請求和接收ARP應答所花費的時間。

  以上是ping功能的實現(xiàn)原理,UDP和TCP協(xié)議實現(xiàn)參考《TCP/IP詳解 卷1:協(xié)議》,本文只給出UDP和TCP的封裝格式。

  5)UDP協(xié)議

  UDP是一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議:進程的每個輸出操作都正好產(chǎn)生一個UDP數(shù)據(jù)報,并組裝成一份待發(fā)送的I P數(shù)據(jù)報。這與面向流字符的協(xié)議不同,如T C P,應用程序產(chǎn)生的全體數(shù)據(jù)與真正發(fā)送的單個IP數(shù)據(jù)報可能沒有什么聯(lián)系。UDP數(shù)據(jù)報封裝成一份IP數(shù)據(jù)報的格式如圖2-11。

  UDP不提供可靠性:它把應用程序傳給IP層的數(shù)據(jù)發(fā)送出去,但是并不保證它們能到達目的地。應用程序必須關心IP數(shù)據(jù)報的長度。

  端口號表示發(fā)送進程和接收進程。TCP和UDP用目的端口號來分用來自IP層的數(shù)據(jù)的過程。由于IP層已經(jīng)把IP數(shù)據(jù)報分配給TCP或UDP,因此TCP端口號由TCP來查看,而UDP端口號由UDP來查看。TCP端口號與UDP端口號是相互獨立的。

  UDP長度字段指的是UDP首部和UDP數(shù)據(jù)的字節(jié)長度。該字段的最小值為8字節(jié)(發(fā)送一份0字節(jié)的UDP數(shù)據(jù)報是OK)。這個UDP長度是有冗余的。IP數(shù)據(jù)報長度指的是數(shù)據(jù)報全長,因此U D P數(shù)據(jù)報長度是全長減去I P首部的長度(該值在首部長度字段中指定)。

  UDP檢驗和覆蓋UDP首部和UDP數(shù)據(jù);叵隝P首部的檢驗和,它只覆蓋IP的首部—并不覆蓋IP數(shù)據(jù)報中的任何數(shù)據(jù)。UDP和TCP在首部中都有覆蓋它們首部和數(shù)據(jù)的檢驗和。UDP的檢驗和是可選的,而TCP的檢驗和是必需的。

  6)TCP協(xié)議

  TCP的服務:盡管TCP和UDP都使用相同的網(wǎng)絡層(IP),TCP卻向應用層提供與UDP完全不同的服務。TCP提供一種面向連接的、可靠的字節(jié)流服務。

  TCP數(shù)據(jù)被封裝在一個IP數(shù)據(jù)報中,如圖2-13所示。

  每個TCP段都包含源端和目的端的端口號,用于尋找發(fā)端和收端應用進程。這兩個值加上IP首部中的源端IP地址和目的端IP地址唯一確定一個TCP連接。

  序號用來標識從TCP發(fā)端向TCP收端發(fā)送的數(shù)據(jù)字節(jié)流,它表示在這個報文段中的的第一個數(shù)據(jù)字節(jié)。如果將字節(jié)流看作在兩個應用程序間的單向流動,則TCP用序號對每個字節(jié)進行計數(shù)。序號是32bit無符號數(shù),序號到達232-1后又從0開始。

  既然每個傳輸?shù)淖止?jié)都被計數(shù),確認序號包含發(fā)送確認的一端所期望收到的下一個序號。因此,確認序號應當是上次已成功收到數(shù)據(jù)字節(jié)序號加1。只有ACK標志為1時確認序號字段才有效。

  首部長度給出首部中32bit字的數(shù)目。需要這個值是因為任選字段的長度是可變的。這個字段占4bit,因此TCP最多有60字節(jié)的首部。然而,沒有任選字段,正常的長度是20字節(jié)。在TCP首部中有6個標志比特。它們中的多個可同時被設置為1。我們在這兒簡單介紹它們的用法。

  URG 緊急指針( u rgent pointer)有效。

  ACK 確認序號有效。

  PSH 接收方應該盡快將這個報文段交給應用層。

  RST 重建連接。

  SYN 同步序號用來發(fā)起一個連接。

  FIN 發(fā)端完成發(fā)送任務。

  TCP的流量控制由連接的每一端通過聲明的窗口大小來提供。窗口大小為字節(jié)數(shù),起始于確認序號字段指明的值,這個值是接收端正期望接收的字節(jié)。窗口大小是一個16bit字段,因而窗口大小最大為65535字節(jié)。

  檢驗和覆蓋了整個的TCP報文段:TCP首部和TCP數(shù)據(jù)。這是一個強制性的字段,一定是由發(fā)端計算和存儲,并由收端進行驗證。TCP檢驗和的計算和UDP檢驗和的計算相似。

  5,程序運行流程

  本文僅要求實現(xiàn)對ping的響應,在嵌入式系統(tǒng)中,一般只要求以太網(wǎng)終端具備對ping的應答能力,不需要ping請求。另外,嵌入式以太網(wǎng)終端大多數(shù)工作在從模式,因而可以省略ARP請求的功能。

  對于將來功能的擴展升級,可以在TCP和UDP中間任選一種協(xié)議作為數(shù)據(jù)傳輸。對于控制信號,文件傳輸,采用TCP協(xié)議。對于流媒體信號,可以采用UDP保證實時性。

  由于TCP或者UDP與ICMP同屬于IP數(shù)據(jù)報。在修改ICMP服務程序后,可以作TCP或者UDP服務程序用。

  6,以太網(wǎng)PHY層設計的注意事項

  以太網(wǎng)PHY層屬于通信系統(tǒng)中的信道,因此要考慮到傳輸信道中的抗干擾問題。

  PHY通過RJ45接口接入銅線,這種傳輸介質(zhì)可以實現(xiàn)長距離通信。PHY的功能是將MII接口的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),在信道中收發(fā)。參考《通信原理》,信道中應該加入擾碼,保證信道中的信號具有一定的頻率,防止在信道中被慮掉。PHY可以配置成半雙工、全雙工兩種模式,和10M、100M兩種連接速度。

  100BaseTX采用4B/5B編碼。PHY在發(fā)送數(shù)據(jù)的時候,收到MAC過來的數(shù)據(jù)(對PHY來說,沒有幀的概念,對它來說,都是數(shù)據(jù)而不管什么地址,數(shù)據(jù)還是CRC),每4bit就增加 AppoTech Limited. All rights reserved DS2005 v100 16

  1bit的檢錯碼,然后把并行數(shù)據(jù)轉(zhuǎn)化為串行流數(shù)據(jù),再按照物理層的編碼規(guī)則把數(shù)據(jù)編碼,再變?yōu)槟M信號把數(shù)據(jù)送出去。收數(shù)據(jù)時的流程反之。

  PHY還有個重要的功能就是實現(xiàn)CSMA/CD的部分功能。它可以檢測到網(wǎng)絡上是否有數(shù)據(jù)在傳送,如果有數(shù)據(jù)在傳送中就等待,一旦檢測到網(wǎng)絡空閑,再等待一個隨機時間后將送數(shù)據(jù)出去。如果兩個碰巧同時送出了數(shù)據(jù),那 樣必將造成沖突,這時候,沖突檢測機構(gòu)可以檢測到?jīng)_突,然后各等待一個隨機的時間重新發(fā)送數(shù)據(jù)。這個隨機時間很有講究的,并不是一個常數(shù),在不同的時刻計算出來的隨機時間都是不同的,而且有多重算法來應付出現(xiàn)概率很低的同兩臺主機之間的第二次沖突。

  通信速率通過雙方協(xié)商,協(xié)商的結(jié)果是兩個設備中能同時支持的最大速度和最好的雙工模式。這個技術被稱為Auto Negotiation或者NWAY。

  隔離變壓器把PHY送出來的差分信號用差模耦合的線圈耦合濾波以增強信號,并且通過電磁場的轉(zhuǎn)換耦合到連接網(wǎng)線的另外一端。RJ-45中1、2是傳送數(shù)據(jù)的,3、6是接收數(shù)據(jù)的。新的PHY支持AUTO MDI-X功能(也需要隔離變壓器支持)。它可以實現(xiàn)RJ-45接口的1、2上的傳送信號線和3、6上的接收信號線的功能自動互相交換。

  RTL8201 PHY核心電路需要2.5V電壓供電。不過,數(shù)字IO和DAC電路需要3.3V電源支持。RTL8201BL有一個內(nèi)嵌的減壓器將3.3V轉(zhuǎn)換為2.5V。就像許多商用變壓設備,該電路的

  2.5V輸出引腳(PWFBOUT),需要使用一個22μF的鉭電容作為該設備的頻率校正部分,另外還需要一個小的電容(0.1μF)用于高頻去噪。PWFBIN引腳通過一個鐵氧體磁珠從PWFBOUT引腳引入2.5V電源,如下圖所示。這里著重強調(diào)的是,不能夠使用任何其它電源設備為PWFBOUT和PWFBIN引腳提供外部的2.5V電源支持。

  模擬和接地層應該盡可能的大且完整。如果接地層足夠大,則將模擬和數(shù)字接地分開將是更好的構(gòu)造。不過,如果總的接地層并不十分大,那么將接地層分開的做法就不太合適。在這種情況下,所有的接地引腳可以一起連接到一個單一的大且完整的接地層。

  三,選定方案的實現(xiàn)

  1,硬件設計:

  單片機與PHY的MII接口配置

  要將RTL8201BL設置為MII操作模式,就必須拉高MII/SNIB引腳并對ANE、SPEED和DUPLEX引腳進行適當設置。

  MII是一個介于PHY和MAC之間的符合IEEE 802.3u標準的18信號接口。該接口在兩種頻率下操作:25Mhz和2.5Mhz,支持100Mbps/10Mbps兩種帶寬下的收發(fā)功能。發(fā)送數(shù)據(jù)時,MAC首先聲明TXEN信號,然后將字節(jié)數(shù)據(jù)變?yōu)?位的半字節(jié)并通過TXD[0..3]將其傳遞給PHY。在內(nèi)部TXEN被聲明期間,PHY用TXC — PHY支持的傳輸時鐘信號 — 同步對TXD[0..3]的采樣。接收信息包時,PHY將聲明RXEN信號,傳遞由RXC時鐘控制的接收半字節(jié)數(shù)據(jù)RXD[0..3],它從接收的數(shù)據(jù)中恢復。CRS和COL信號用于沖突檢測和處理。

  在100Base-TX模式,當5B下的解碼信號不是空閑(not IDLE)時,CRS信號將聲明;而當5B被認為空閑時,其將被解除聲明。在10Base-T模式,當10M前導同步信號被確定時,CRS信號將聲明;而當空閑(IDLE)模式被確定時,其將被解除聲明。

  在100Mbps模式,當5B解碼是/J/K/時,RXDV信號將被聲明;如果5B是/T/R/或者空閑則其將被解除聲明。在10Mbps模式,RXDV與CRS信號相同。

  如果任何5B解碼錯誤發(fā)生,比如無效的J/K,T/R,無效的符號等,RXER(Receive Error,接收錯誤)信號將被聲明。該引腳會被拉高一個或多個時鐘周期以指示適配子層(Reconciliation Sublayer,適配層是MAC層和物理層之間的通路,譯注)在幀的某個位置發(fā)現(xiàn)一個錯誤。

  RTL8201BL不使用TXER信號并且不會影響傳輸功能。

  AX2005支持GPSI模塊, 可以工作在主模式和從模式下,包括以下特征

  獨立的TX,RX結(jié)構(gòu),每個都有各自的4字節(jié)FIFO 支持4種時序模式,分別是GPSI模式,類SPI模式,類UART模式和類USART模式。 硬件頭校驗功能

  AppoTech Limited. All rights reserved DS2005 v100 17

  提供發(fā)射時鐘的分頻器

  獨立的RX,TX DMA控制,二者可以同時工作。 12個引腳,兼容MII模式 RX Data In (GRD) – P2.5 RX Data1 In (GRD) – P3.3 RX Data2 In (GRD) – P3.4 RX Data3 In (GRD) – P3.5 RX Clock In (GRC) – P2.4 RX Enable In (GRE) – P2.7 TX Data Out (GTD) – P2.3 TX Data1 Out (GTD) – P1.4 TX Data2 Out (GTD) – P1.5 TX Data3 Out (GTD) – P1.6 TX Clock Out (GTC) – P2.2 TX Enable Out (GTE) – P2.6

  LED接口/PHY地址配置

  上電重新配置用于MII管理寄存器接口的PHY地址[0:4]期間,這五個引腳被鎖存。然后,在初始復位之后的正常操作時,它們作為狀態(tài)指示LED的驅(qū)動引腳使用。其驅(qū)動極性,或者為高或者為低,由上電復位期間每個PHY地址[4:0]的鎖定狀態(tài)決定。如果鎖定狀態(tài)為高,則其為低;如果鎖定狀態(tài)為低,則其為高。

  此方案中,RTL8201被配置成強制10Mbps全雙工模式,使用MII接口,地址為1,不使用MII管理接口去修改配置。

【物聯(lián)網(wǎng)的畢業(yè)論文】相關文章:

什么是物聯(lián)網(wǎng)?02-10

物聯(lián)網(wǎng)就業(yè)前景02-14

物聯(lián)網(wǎng)工程就業(yè)前景12-31

物聯(lián)網(wǎng)工程專業(yè)就業(yè)方向12-31

物聯(lián)網(wǎng)工程就業(yè)前景分析07-07

物聯(lián)網(wǎng)工程就業(yè)前景如何?07-23

物聯(lián)網(wǎng)社會實踐報告02-03

物聯(lián)網(wǎng)應用調(diào)研報告范本04-08

關于物聯(lián)網(wǎng)課程報告總結(jié)05-09