freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

八位單片機(jī)以太網(wǎng)接入研究與實(shí)現(xiàn)(編輯修改稿)

2025-07-16 15:26 本頁面
 

【文章內(nèi)容簡介】 PICMP。首部校驗(yàn)和字段——是根據(jù)PI首部計(jì)算的校驗(yàn)和碼。它不對首部后面的數(shù)據(jù)行計(jì)算。CIMP、IGMP、UDP和TCP在它們各自的首部中均含有同時覆蓋首部和數(shù)據(jù)的校驗(yàn)和碼。為了計(jì)算一份數(shù)據(jù)報(bào)的IP校驗(yàn)和,首先把校驗(yàn)和字段置為0。然后,對首部中每個16bit進(jìn)行二進(jìn)制反碼求和(整個首部看成是由一串16bit的字組成),結(jié)果存在校驗(yàn)和字段中。當(dāng)收到一份Pl數(shù)據(jù)報(bào)后,同樣對首部中每個16bit進(jìn)行二進(jìn)制反碼的求和。由于接收方在計(jì)算過程中包含了發(fā)送方存在首部中的校驗(yàn)和,因此,果首部在傳輸過程中沒有發(fā)生任何差錯,那么接收方計(jì)算的結(jié)果應(yīng)該為全1。如果結(jié)果不是全1(即校驗(yàn)和錯誤),那么PI就丟棄收到的數(shù)據(jù)報(bào)。但是不生成差錯報(bào)文,由上層去發(fā)現(xiàn)丟失的數(shù)據(jù)報(bào)并進(jìn)行重傳。CIMP、IGMP、UDP和TCP都采用相同的校驗(yàn)和算法。IP報(bào)文頭中含有使一些重要網(wǎng)絡(luò)功能成為可能的必要信息,包括:(1)尋址和路由(2)分段和重組(3)傳輸過程中數(shù)據(jù)損壞檢測和更正。盡管有這些功能,但PI畢竟只是一個網(wǎng)際協(xié)議。為了使其發(fā)揮作用,必須和傳輸協(xié)議以及鏈路層協(xié)議一起工作。因?yàn)樗惶峁z測數(shù)據(jù)報(bào)是否到達(dá)目的地機(jī)制,并且不檢測是否有數(shù)據(jù)報(bào)被破壞和丟失。UDP(User Datagram Protocol)是一個簡單的面向數(shù)據(jù)報(bào)的傳輸層協(xié)議,UDP提供了一種基本的、低延時的傳輸。字段解釋如下:UDP源端口號16位的源端口號是源計(jì)算機(jī)上的連接號。源端口號和源IP地址作為報(bào)文的返回地址之用。UDP目的端口號16位的目的端口號是目的計(jì)算機(jī)上的連接號。目的端口號用于把到達(dá)目的地的報(bào)文轉(zhuǎn)發(fā)到正確的應(yīng)用。UDP協(xié)議使用端口號為不同的應(yīng)用保留其各自的數(shù)據(jù)傳輸通道。UDP和TCP協(xié)議正是采用這一機(jī)制實(shí)現(xiàn)對同一時刻內(nèi)多項(xiàng)應(yīng)用同時發(fā)送和接收數(shù)據(jù)的支持。數(shù)據(jù)發(fā)送一方將UDP數(shù)據(jù)報(bào)通過源端口發(fā)送出去,而數(shù)據(jù)接收方則通過目的端口接收數(shù)據(jù)。UDP長度UDP長度字段指的是UDP首部和UDP數(shù)據(jù)的字節(jié)長度。該字段的最小值為8字節(jié)。Pl數(shù)據(jù)報(bào)長度指的是數(shù)據(jù)報(bào)全長,因此UDP數(shù)據(jù)報(bào)長度是全長減去IP首部的長度。UDP校驗(yàn)和一一校驗(yàn)和是一個16位的錯誤檢查域,基于報(bào)文的內(nèi)容計(jì)算得到。UDP校驗(yàn)和覆蓋UDP首部和UDP數(shù)據(jù)(PI首部的校驗(yàn)和只覆蓋IP的首部,并不覆蓋PI數(shù)據(jù)報(bào)中的任何數(shù)據(jù))。包括3部分:偽首部、UDP首部和應(yīng)用層數(shù)據(jù),位于UDP報(bào)頭前12個字節(jié)的是偽首部。[32]UDP校驗(yàn)和的基本計(jì)算方法與PI首部校驗(yàn)和計(jì)算方法相類似(16位字的二進(jìn)制反碼和),但它們之間存在不同的地方。首先,UDP數(shù)據(jù)報(bào)的長度可以為奇數(shù)字節(jié),但是校驗(yàn)和算法是把若干個16位字相加。解決方法是必要時在最后添充字節(jié)O。其次,UDP數(shù)據(jù)報(bào)和TCP報(bào)都包含一個12字節(jié)的偽首部,它是為了計(jì)算IP首部一些字段,這些字段包括PI頭中的32位源IP地址和32為目的IP地址。UDP被設(shè)計(jì)成一個有效的和最小的傳輸協(xié)議。它只包括用于轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)至合適應(yīng)用(端口號)的足夠信息,并且執(zhí)行一定的錯誤檢查。UDP使用盡力方式傳送數(shù)據(jù)報(bào),由于某種原因傳輸失敗,數(shù)據(jù)報(bào)被丟棄并且不試圖重傳。UDP經(jīng)常被認(rèn)為是不可靠的,因?yàn)樗痪哂腥魏蜹CP的可靠性機(jī)制。但是UDP具有TCP所望塵莫及的速度優(yōu)勢。雖然TCP協(xié)議中植入了各種安全保障功能,但是在實(shí)際執(zhí)行的過程中會占用大量的系統(tǒng)開銷,無疑使速度受到嚴(yán)重的影響。反觀UDP由于排除了信息可靠傳遞機(jī)制,將安全和排序等功能移交給上層應(yīng)用來完成,極大降低了執(zhí)行時間,使速度得到了保證。UDP最適合于小的發(fā)送(也就是單獨(dú)的報(bào)文)。因此,在嵌入式系統(tǒng)的應(yīng)用中,UDP協(xié)議應(yīng)用應(yīng)最為廣泛。ICMP(Internet control Message Protocol)報(bào)文分為兩大類,差錯報(bào)告報(bào)文和查詢報(bào)文。經(jīng)常被認(rèn)為是Pl層的一個組成部分,它傳遞差錯報(bào)文以及其他需要注意的信息。ICMP報(bào)文通常被IP層或更高層協(xié)議(UDP或TCP)使用。ICMP報(bào)文是在IP數(shù)據(jù)報(bào)內(nèi)部被傳輸?shù)摹!?2】。ICMP報(bào)文的格式如表3—3所示【31】【42】。所有報(bào)文的前4個字節(jié)都是一樣的,但是剩下的其他字節(jié)則互不相同。類型字段可以有15個不同的值,以描述特定類型的ICMP報(bào)文。在本系統(tǒng)中,主要是對PING命令的響應(yīng)。PING程序的目的是為了測試另一臺主機(jī)是否可達(dá)。該程序發(fā)送一份CIMP回顯請求報(bào)文給主機(jī),并等待返回CIMP回顯應(yīng)答。使用PING命令的ICMP報(bào)文格式如表3一4所示。其中,類型8代表發(fā)送PING,0代表響應(yīng)PING。代碼0為PING命令。標(biāo)志和序號是為了使響應(yīng)和發(fā)送的數(shù)據(jù)相對應(yīng)??蛇x數(shù)據(jù)是任意的,但響應(yīng)和發(fā)送的數(shù)據(jù)是相同的。校驗(yàn)和字段覆蓋整個CIMP報(bào)文。使用的算法與IP首部校驗(yàn)和算法相同。當(dāng)一臺主機(jī)把以太網(wǎng)數(shù)據(jù)幀發(fā)送到位于同一局域網(wǎng)上的另一臺主機(jī)時,是根據(jù)48bit的以太網(wǎng)地址來確定目的接口的。設(shè)備驅(qū)動程序從不檢查IP數(shù)據(jù)報(bào)中的目的IP地址。地址解析為這兩種不同的地址形式提供映射:32bit的PI地址和數(shù)據(jù)鏈路層使用的任何類型的地址【33】。ARP發(fā)送一份稱作ARP請求的以太網(wǎng)數(shù)據(jù)幀給以太網(wǎng)上的每個主機(jī)。這個過程稱作廣播,ARP請求數(shù)據(jù)幀中包含目的主機(jī)的PI地址,其意思是“如果你是這個IP地址的擁有者,請回答你的硬件地址”,而此時發(fā)送的目標(biāo)物理地址是FFFFFFFFFFFF。目的主機(jī)的ARP層收到這份廣播報(bào)文后,識別出這是發(fā)送端在尋問它的PI地址,于是發(fā)送一個ARP應(yīng)答。這個ARP應(yīng)答包含IP地址及對應(yīng)的硬件地址【43】。在以太網(wǎng)上解析PI地址時,【31】【36】。以太網(wǎng)報(bào)頭中的前兩個字段是以太網(wǎng)的源地址和目的地址。目的地址為全1的特殊地址是廣播地址。電纜上的所有以太網(wǎng)接口都要接收廣播的數(shù)據(jù)幀。兩個字節(jié)長的以太網(wǎng)幀類型表示后面的數(shù)據(jù)類型。對于ARP請求或應(yīng)答來說,該字段的值為0X0806。硬件類型字段表示硬件地址的類型。它的值為1即表示以太網(wǎng)地址。協(xié)議類型字段表示要映射的協(xié)議地址類型,值為OXO80O即表示PI地址。接下來的兩個1字節(jié)的字段,硬件地址長度和協(xié)議地址長度分別指出硬件地址和協(xié)議地址的長度,以字節(jié)為單位。對于以太網(wǎng)上PI地址的ARP請求或應(yīng)答來說,它們的值分別為6和4。兩個字節(jié)的動作字段指出四種操作類型,它們是ARP請求(值為)l、ARP應(yīng)答(值為2)、RARP請求(值為3)和RARP應(yīng)答(值為4)。這個字段是必需的,因?yàn)锳RP請求和ARP應(yīng)答的幀類型字段值是相同的。接下來的四個字段是發(fā)送端的以太網(wǎng)地址、發(fā)送端的PI地址、目的端的以太網(wǎng)地址和目的端的Pl地址。對于一個ARP請求來說,除目的端硬件地址外的所有其它字段都要填充值。當(dāng)系統(tǒng)收到一份目的端為本機(jī)的ARP請求報(bào)文后,它就把硬件地址填進(jìn)去,然后用兩個目的端地址分別替換兩個發(fā)送端地址,并把操作字段置為2,最后把它發(fā)送回去。本章主要分析了TCP/PI協(xié)議的結(jié)構(gòu),介紹了單片機(jī)TCP/PI的協(xié)議構(gòu)架,并逐層介紹了其主要協(xié)議,其中包括協(xié)議的原理及各協(xié)議間的相互作用。第4章系統(tǒng)硬件構(gòu)成為使本系統(tǒng)硬件接口簡單化、降低成本、適當(dāng)縮短開發(fā)周期,系統(tǒng)中應(yīng)盡可能減少外圍器件。系統(tǒng)的CPU選用單片機(jī)AT89C52,單片機(jī)AT89C52有SK字節(jié)的片內(nèi)ROM和256字節(jié)的片內(nèi)RAM。片外RAM使用62256,這種RAM有32K字節(jié)的使用空間。這兩種芯片的選用,主要是為精簡TCP/PI協(xié)議棧的嵌入提供條件,同時保證擁有較大的數(shù)據(jù)處理空間。網(wǎng)卡芯片DM900O是主要的工作部件,完成對網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送和接收。濾波變壓器PH163112,用來對網(wǎng)絡(luò)上的脈沖進(jìn)行轉(zhuǎn)換和濾波。網(wǎng)絡(luò)連接采用IOBASE—T電纜連接至HUB。網(wǎng)絡(luò)單片機(jī)通過網(wǎng)卡芯片DM90OO接入以太網(wǎng),下面主要闡述網(wǎng)卡芯片DM9000的工作原理,介紹單片機(jī)對DM9000的控制原理及初始化步驟,并提供DM9000和單片機(jī)的接口方案。DM9000芯片是臺灣Davi公司生產(chǎn)的一款以太網(wǎng)控制芯片,在網(wǎng)絡(luò)中它可自動獲得同設(shè)定MAC地址一致的PI包,完成PI包的收發(fā),它采用LQFPl00管腳封裝,內(nèi)部集成了16K的SRAM,提供8位和16位兩種接口,在本課題中使用8位模式,【40】。DM9000的技術(shù)特性如下:()l封裝采用LQFP100管腳封裝,所占用之面積和高度小。(2),最大耗用電流為100mA,十分省電。(3)MEC連接模式有ISAsbit/IsA16bit/upsbit/up16bit/up32bit/68K模式??煞奖愫筒煌妷汉徒缑娴腗CU連接。4)內(nèi)置10/10OMPHY,支持多種連接模式:電端口支持10MHALF/10MFuLL/100MHALF/100MFULL/AUTO(NWAY)。另提供光端口100M HALF/200MFULL。(5)支持EEPROM(93C46),可供存放系統(tǒng)所需信息。DM9000的寄存器很多,這里只列出本系統(tǒng)相關(guān)的寄存器,如表4—1所示【40】。、寫入寄存器方式DM9000控制讀取和寫入寄存器方式,十分容易。DM90OO有數(shù)據(jù)和地址兩個端口。而這兩個端口由CMD管腳控制,若CMD接高電位時為控制數(shù)據(jù)端口,CMD接低電平時為控制地址端口。要讀寫任何一個寄存器時,方式如下: (1)將AEN,SA4~9使DMg000使能。(2)設(shè)置CMD管腳為低電位。(3)將要讀寫的寄存器的地址填入地址端口(IOW)。(4)設(shè)置CMD管腳為高電位。5)將要讀寫的寄存器的數(shù)據(jù)填入或讀出數(shù)據(jù)端口(IOW,IOR)。DM9000共有16KByte(000Oh一3FFFh)內(nèi)存,而讀寫內(nèi)存由MWCMD、MRCMD這二個寄存器來控制。而MWRL,MWRH寄存器提供現(xiàn)在寫入內(nèi)存的位置,MRRL,MRRH寄存器提供現(xiàn)在讀取內(nèi)存的位置。而內(nèi)存每次移動依工作模式,每次移動一個Byte(8bit)或二個Byte(16bit)或四個Byte(32bit)。(l)對DM9000進(jìn)行軟件重置。(2)清除中斷設(shè)定,以免因中斷導(dǎo)致DM9000初始化動作不正常。(3)設(shè)定DM900O相關(guān)接口(內(nèi)部PHY,外部MII,Reverse—MII)。(4)設(shè)定物理地址位置。(5)設(shè)定Multicast設(shè)置。(6)其它相關(guān)設(shè)置。(7)開啟接收資料功能。內(nèi)存中默認(rèn)值有3KByt。(O000h~OBFFh)提供給傳送功能使用。而傳送一個封包的流程如下:()l將要傳送封包的長度,填入到TXPLL,TXPLH寄存器。(2)將要傳送封包的數(shù)據(jù)由MWCMD寄存器填入內(nèi)存中。(3)由TCR寄存器使DM9000送出封包數(shù)據(jù)。(4)若內(nèi)存的寫入位置超過OBFFh時,自動將下一個位置回復(fù)到0000h。內(nèi)存中默認(rèn)值有13KByt(OC00h一03FFh)提供
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1