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

正文內(nèi)容

基于mcs-51單片機(jī)技術(shù)以太網(wǎng)接口設(shè)計(jì)-預(yù)覽頁(yè)

 

【正文】 個(gè)路由器減1,因此通過(guò)TTL可以算出數(shù)據(jù)包到達(dá)目的地所經(jīng)過(guò)的路由器的個(gè)數(shù)。用于保證首部數(shù)據(jù)的完整性。l 選項(xiàng)字段為變長(zhǎng)字段,是在傳輸數(shù)據(jù)報(bào)時(shí)可選的附加功能,用于控制數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸路徑、記錄數(shù)據(jù)報(bào)經(jīng)過(guò)的路由器以及獲取數(shù)據(jù)報(bào)在途中經(jīng)過(guò)的路由器的時(shí)間戳。實(shí)現(xiàn)這些控制功能的協(xié)議是位于IP層的因特網(wǎng)控制報(bào)文協(xié)議ICMP(Internet Control Massage Protocol)。:8位類型8位代碼16位校驗(yàn)和首部其它部分?jǐn)?shù)據(jù)首部 ICMP報(bào)文格式ICMP報(bào)文首部的通用部分由類型、代碼和校驗(yàn)和3個(gè)字段構(gòu)成。與IP數(shù)據(jù)報(bào)首部校驗(yàn)和不同的地方是,ICMP校驗(yàn)和是整個(gè)報(bào)文的校驗(yàn)和,另外使用校驗(yàn)和進(jìn)行校驗(yàn)的設(shè)備不是中間的路由器,而是最終的目的地。所有報(bào)文的前4個(gè)字節(jié)都是一樣的,但是剩下的其他字節(jié)則互不相同。 目的站不可達(dá)報(bào)文格式類型3代碼015校驗(yàn)和收到IP一部分,包括IP首部以及前8字節(jié)字段類型8或0代碼檢驗(yàn)和標(biāo)識(shí)符序號(hào)可選數(shù)據(jù)位88161616由請(qǐng)求報(bào)文發(fā)送,有應(yīng)答報(bào)文重復(fù) 回應(yīng)請(qǐng)求與應(yīng)答報(bào)文格式 字段類型8和0代碼檢驗(yàn)和標(biāo)識(shí)符序號(hào)可選數(shù)據(jù)位88161616由請(qǐng)求報(bào)文發(fā)送,由應(yīng)答報(bào)文重復(fù)注:類型0為回應(yīng)應(yīng)答報(bào)文,8為回應(yīng)請(qǐng)求報(bào)。在TCP/IP協(xié)議的傳輸層,提供了面向連接的傳輸控制協(xié)議TCP和無(wú)連接的用戶數(shù)據(jù)報(bào)協(xié)議UDP。為了保證信息能夠正確地到達(dá)指定的端進(jìn)程,必須顯示地給出全局惟一的信宿端得進(jìn)程表示符。它關(guān)聯(lián)了應(yīng)用程序和端口,并且為每一個(gè)端口分配多個(gè)通信端點(diǎn),從而可以實(shí)現(xiàn)同一應(yīng)用程序的多進(jìn)程服務(wù)。然后客戶根據(jù)服務(wù)器的熟知地址建立socket連接。應(yīng)用程序()應(yīng)用程序()臨時(shí)端口熟知端口TCPTCP主機(jī)A客戶主機(jī)B服務(wù)器IP地址:IP地址:字節(jié)流 進(jìn)程標(biāo)識(shí)與流傳輸一個(gè)TCP連接的建立過(guò)程需要經(jīng)過(guò)客戶端與服務(wù)器之間的三次握手。也就是發(fā)送的數(shù)據(jù)部分第一個(gè)字節(jié)的序號(hào)。l 保留字段長(zhǎng)度為6比特,留作將來(lái)使用。其計(jì)算方法與IP數(shù)據(jù)報(bào)首部校驗(yàn)和的計(jì)算方法相同。HTTP協(xié)議是建立在請(qǐng)求/響應(yīng)模型上的,每次發(fā)送請(qǐng)求時(shí)必須重新建立連接,也就是程序每次只處理一個(gè)請(qǐng)求。但是在嵌入式系統(tǒng)中不要求HTTP的持續(xù)連接,而且傳輸?shù)臄?shù)據(jù)量也不是很大。3) 雙向傳輸。HTTP允許瀏覽器和服務(wù)器協(xié)商一些細(xì)節(jié),如在傳輸中使用的字符集,發(fā)送方指定它提供的能力,接收方指定它接收的能力。6) 支持中介。它采用一種穩(wěn)定的,面向連接的傳輸協(xié)議,如TCP,但是不提供可靠性或重傳機(jī)制[5] 第3章 硬件實(shí)現(xiàn) 物理層接口實(shí)現(xiàn)系統(tǒng)采用基于因特網(wǎng)的接入方式,實(shí)現(xiàn)串行通訊協(xié)議和以太網(wǎng)協(xié)議的轉(zhuǎn)換。RS232選用MAXM公司的MAX232(A)。其功能大致可分為以下兩種。接收時(shí),判斷報(bào)文的目的地址是否為本機(jī)地址,如果是,對(duì)報(bào)文進(jìn)行校驗(yàn)。這項(xiàng)功能包括載波監(jiān)聽、發(fā)送時(shí)間等。PLS將MAC傳送來(lái)的NRI(不歸零編碼)編碼的數(shù)據(jù)轉(zhuǎn)換成曼徹斯特編碼后并將數(shù)據(jù)通過(guò)AUI發(fā)送到MAU,或通過(guò)AUI從MAU接收以曼徹斯特編碼方式編碼的數(shù)據(jù),并將數(shù)據(jù)進(jìn)行NRI譯碼后將數(shù)據(jù)發(fā)送到MAC。網(wǎng)絡(luò)的沖突檢測(cè)、沖突退避重發(fā)、檢測(cè)接收?qǐng)?bào)文目的地址是否匹配、檢測(cè)報(bào)文CRC校驗(yàn)等工作都由硬件來(lái)完成,本系統(tǒng)中只要對(duì)發(fā)送、接收、初始化、中斷處理、出錯(cuò)處理和I/O操作等進(jìn)行控制。一般將前12頁(yè)(即地址為0x4000~0x4bff)作為發(fā)送緩沖區(qū),且分為兩個(gè)6頁(yè)。要接收和發(fā)送數(shù)據(jù)包就必須通過(guò)DMA讀寫RTL8019AS內(nèi)部的16KB RAM。生產(chǎn)廠商和產(chǎn)品標(biāo)識(shí)代碼也是單雙地址重復(fù)存儲(chǔ)的。寄存器分為4頁(yè):Page0~Page3,由RTL8019AS的命令寄存器(CR)中的PS0、PS1為來(lái)決定要訪問(wèn)的頁(yè)。 RTL8019AS內(nèi)部寄存器簡(jiǎn)介寄存器的設(shè)置和使是RTL8019AS應(yīng)用的關(guān)鍵。其中0x00~0x1f是控制寄存器??赡苁蔷幊讨惺褂米铑l繁的寄存器。2TXP發(fā)送包時(shí)必須置位。職位時(shí)既不發(fā)送也不接收。6RDC遠(yuǎn)程DMA完成時(shí)置位5CNT在一個(gè)或多個(gè)網(wǎng)絡(luò)故障計(jì)數(shù)器(tally counters)的最高位為1時(shí)置位4OVW接收緩存用盡時(shí)置位3TXE發(fā)送出錯(cuò)位,當(dāng)一個(gè)包由于沖突過(guò)多而退出時(shí)置位2RXE當(dāng)包接收出現(xiàn)CRC、幀對(duì)位或幀丟失等錯(cuò)誤時(shí)置位1PTX表示包發(fā)送無(wú)誤0PRX表示包接收無(wú)誤3. IMR:中斷屏蔽寄存器(0FH;類型:0頁(yè)寫,2頁(yè)讀)各位與ISR對(duì)應(yīng)。位76543210符號(hào)OWCCDH1CRSABTCOL1PTX其中:ABT一表示網(wǎng)絡(luò)接口控制器由于過(guò)多沖突而退出發(fā)送。4PRO置位時(shí)所以具有物理地址的包均接受。8. RSR:接收狀態(tài)寄存器(0CH;類型:0頁(yè)讀)位符號(hào)簡(jiǎn)述7DFR延遲。5PHY接收包為多發(fā)或廣播目標(biāo)地址時(shí)置位。3——總為12PAE幀對(duì)齊出錯(cuò),表示輸入包未在字節(jié)邊界終止,CRC與邊界字節(jié)不符1CRCCRC出錯(cuò)0PRX包接收無(wú)誤 與DMA有關(guān)的寄存器1. CLDA0,1:當(dāng)前本地DMA寄存器(0lH與02H;類型:0頁(yè)讀)從這兩個(gè)寄存器可讀出當(dāng)前本地DMA地址。一般用作一個(gè)指針來(lái)指示主機(jī)己出的最后一個(gè)環(huán)形緩存頁(yè)。7. NCR:碰撞數(shù)寄存器(05H;類型:0頁(yè)讀)該寄存器記錄節(jié)點(diǎn)在一次包發(fā)送中遭遇的碰撞次數(shù)。09H;類型:0頁(yè)寫)這兩個(gè)寄存器設(shè)置遠(yuǎn)程DMA的起始地址。16. CURR:當(dāng)前頁(yè)寄存器(07H;類型:1頁(yè)讀寫)該寄存器指向擬接受包的第一個(gè)緩存頁(yè)的頁(yè)地址。主處理器選用Atmel公司的51單片機(jī)芯片AT89C52,它能夠滿足需求,而且極為常用,價(jià)格便宜,易于獲取。此外,以下器件也是必不可少的:(1)網(wǎng)絡(luò)變壓器網(wǎng)卡控制器與以太網(wǎng)不能直接相連,要通過(guò)網(wǎng)絡(luò)變壓器,本課題選用中山漢仁司的HR61101G作為隔離濾波器件,它起的主要作用是:隔直通交,避免雙絞線上的直流電平干擾網(wǎng)卡芯片的工作點(diǎn);同時(shí),利用變壓器自身的通頻帶限制高頻干擾。SI、SO、SCK引腳分別與單片機(jī)的INTT0、T1相接。232的T1IN腳接單片機(jī)的TXD,232的R1O腳接單片機(jī)的RXD。 第4章 軟件實(shí)現(xiàn)本課題軟件部分分為兩大塊:第一塊是網(wǎng)卡芯片RTL8019AS驅(qū)動(dòng)程序的設(shè)計(jì);第二塊則是TCP/IP協(xié)議棧的嵌入。簡(jiǎn)言之就是8019完成數(shù)據(jù)包和電信號(hào)之間的相互轉(zhuǎn)換:數(shù)據(jù)包===電信號(hào)。 RTL8019AS的初始化[8]初始化函數(shù)用于對(duì)RTL8019AS進(jìn)行初始化操作。6) TCR=0xE0,設(shè)置發(fā)送配置寄存器,啟用CRC自動(dòng)生成和自動(dòng)校驗(yàn),工作在正常模式;7) DCR=0xC8,設(shè)置數(shù)據(jù)配置寄存器,使用FIFO(Final Input Final Output)緩存,普通模式,8位數(shù)據(jù)傳輸,字節(jié)順序?yàn)楦呶蛔止?jié)在前,低位字節(jié)在后;8) IMR=0x00,設(shè)置中斷屏蔽寄存器,屏蔽所有中斷;9) CR=0x61,選擇頁(yè)1的寄存器;10) CURR=0x4D,CURR是RTL8019AS寫內(nèi)存的指針,指向當(dāng)前正在寫的頁(yè)的下一頁(yè),初始化時(shí)指向0x4C+1=0x4D;11) 設(shè)置多址寄存器MAR0~MAR5,均設(shè)置為0x00;12) 設(shè)置網(wǎng)卡地址寄存器PAR0~PAR5;13) CR=0x22,選擇頁(yè)1的寄存器,進(jìn)入正常工作狀態(tài)。發(fā)送報(bào)文時(shí)在RTL8019AS里面定義了兩個(gè)能存儲(chǔ)最大以太網(wǎng)報(bào)文的緩沖區(qū),把前6頁(yè)0x40~0x45定義為發(fā)送緩沖區(qū)1,接下來(lái)的6頁(yè)0x46~0x4B定義為發(fā)送緩沖區(qū)2。這樣就可以做到不斷地進(jìn)行數(shù)據(jù)發(fā)送。若長(zhǎng)度過(guò)小則添加字段,保證長(zhǎng)度為最小報(bào)文長(zhǎng)度,而最大報(bào)文長(zhǎng)度則由上層應(yīng)用控制。3) 設(shè)置發(fā)送長(zhǎng)度。5) 發(fā)送報(bào)文。接收到得第一個(gè)數(shù)據(jù)包由CURR決定。初始化時(shí)使BNRY=CURR1。2) 若有報(bào)文到達(dá),判斷報(bào)文是否正確。否則丟棄該報(bào)文。下面將分別介紹這些協(xié)議的實(shí)現(xiàn)方法。各函數(shù)功能如下:1) ARP初始化函數(shù)完成ARP表的初始化,概括的說(shuō)就是ARP表Timer字段清0。開始合法ARP字段ARP請(qǐng)求?ARP應(yīng)答處理ARP應(yīng)答?更新ARP表喚醒IP發(fā)送函數(shù)結(jié)束NNNYY ARP報(bào)文處理流程圖3) ARP應(yīng)答函數(shù)比較簡(jiǎn)單,除目的端硬件的所有其他的字段都有填充值。程序不主動(dòng)學(xué)習(xí)不是發(fā)給自己IP地址的MAC地址信息,因?yàn)閱纹瑱C(jī)可以擴(kuò)展的資源有限,ARP表占用的內(nèi)存的容量不能太大,所以只有頻繁用到的地址才應(yīng)該放在ARP表中,否則一旦出現(xiàn)“顛簸”,ARP表就失效了。在發(fā)送IP報(bào)文的時(shí)候,IP發(fā)送程序要判斷目的IP地址是否在本網(wǎng)段內(nèi),這就要涉及到子網(wǎng)掩碼和網(wǎng)關(guān)的IP地址。注:本課題不實(shí)現(xiàn)IP分片和重組功能[10]。2) 計(jì)算校驗(yàn)和。若是可識(shí)別的IP報(bào)文,則進(jìn)行ARP緩存表的更新。5) 去掉IP選項(xiàng)。 發(fā)送IP報(bào)文IP報(bào)文發(fā)送函數(shù)負(fù)責(zé)把需要發(fā)送的報(bào)文封裝成IP數(shù)據(jù)報(bào),其中就要判斷報(bào)文的目的地在不在本網(wǎng)段內(nèi),以及ARP緩存表中是否存在地址映射關(guān)系,以此來(lái)選擇是立即發(fā)送報(bào)文還是計(jì)時(shí)等待。開 始本網(wǎng)段內(nèi)報(bào)文?有網(wǎng)關(guān)MAC地址映射?保存發(fā)送狀態(tài)更新ARP表更新網(wǎng)關(guān)ARP表發(fā)送ARP請(qǐng)求清發(fā)送緩沖區(qū)標(biāo)志清發(fā)送緩沖區(qū)標(biāo)志發(fā)送網(wǎng)關(guān)ARP請(qǐng)求調(diào)用IP打包函數(shù)發(fā)送IP報(bào)文調(diào)用IP打包函數(shù)發(fā)送IP報(bào)文結(jié) 束保存發(fā)送狀態(tài)NYNYYN IP報(bào)文發(fā)送流程 差錯(cuò)控制報(bào)文ICMP的實(shí)現(xiàn)ICMP包處理函數(shù)負(fù)責(zé)處理接收到得ICMP報(bào)文,若該報(bào)文為Ping請(qǐng)求則調(diào)用Ping應(yīng)答函數(shù)響應(yīng),若為Ping應(yīng)答則做相應(yīng)的應(yīng)答處理。 開始正確的ICMP報(bào)文?校驗(yàn)和正確否?ICMP請(qǐng)求?ICMP應(yīng)答?結(jié)束發(fā)送ICMP應(yīng)答應(yīng)答處理NNYYNYYN ICMP報(bào)文接收處理流程圖ICMP報(bào)文發(fā)送步驟如下:1) 復(fù)制數(shù)據(jù)到IP緩沖區(qū)中適當(dāng)?shù)奈恢谩?) 發(fā)送ARP請(qǐng)求。在等待應(yīng)答的同時(shí),該工具也有可能應(yīng)答它所接收到得任何ICMP或ARP請(qǐng)求,這就允許存在兩個(gè)節(jié)點(diǎn)互相Ping。狀態(tài)機(jī)越復(fù)雜,維護(hù)的花費(fèi)就越大,對(duì)處理器的存儲(chǔ)能力和運(yùn)算能力的要求就越高。 接收到報(bào)文后的步驟:1) 搜索所有的套接字,匹配IP地址和端口號(hào)。 開 始正確的TCP報(bào)文?校驗(yàn)和正確否?讀入TCP選項(xiàng)(若有)有匹配的SOCKET?有空閑的SOCKET?復(fù)位連接結(jié) 束讀入TCP報(bào)文NNYYNN TCP報(bào)文接收處理流程協(xié)議棧接收到TCP報(bào)文并找到匹配端口后,就要轉(zhuǎn)到TCP的狀態(tài)機(jī)來(lái)實(shí)現(xiàn)后續(xù)處理。為了實(shí)現(xiàn)TCP狀態(tài)機(jī)。2) 將套接字中序號(hào)、確認(rèn)號(hào)、窗口號(hào)、源端口號(hào)、目的端口號(hào)寫入IP發(fā)送緩沖區(qū)。6) 計(jì)算校驗(yàn)和。每一行指定了一個(gè)大寫字母表示的方法(也就是命令),后面跟著一串參數(shù)。服務(wù)器處理函數(shù)負(fù)責(zé)解析URL,解析出請(qǐng)求的方法及請(qǐng)求文件,調(diào)用GET或POST處理函數(shù)。對(duì)于POST請(qǐng)求需要解析數(shù)據(jù),根據(jù)定義好的格式解析出所提交的數(shù)據(jù),交給應(yīng)用程序處理,再根據(jù)應(yīng)用程序的接收應(yīng)答來(lái)配置數(shù)據(jù)。5) 文件管理。uIP協(xié)議棧去掉了完整的TCP/IP中不常用的功能,簡(jiǎn)化了通訊流程,但保留了網(wǎng)絡(luò)通信必須使用的協(xié)議,設(shè)計(jì)重點(diǎn)放在了IP/TCP/ICMP/UDP/ARP 這些網(wǎng)絡(luò)層和傳輸層協(xié)議上,保證了其代碼的通用性和結(jié)構(gòu)的穩(wěn)定性[14]。(4) 支持多個(gè)主動(dòng)連接和被動(dòng)連接并發(fā)。由于uIP對(duì)資源的需求少和移植容易,大部分的8位微控制器都使用過(guò)uIP協(xié)議棧,而且很多的著名的嵌入式產(chǎn)品和項(xiàng)目(如衛(wèi)星,Cisco路由器,無(wú)線傳感器網(wǎng)絡(luò))中都在使用uIP協(xié)議棧。其與應(yīng)用程序的主要接口是uip_appcall( )。當(dāng)uip_input()返回時(shí),一個(gè)輸出包同樣放在全局緩沖區(qū)uip_buf里,大小賦給uip_len。類似于uip_input()函數(shù),uip_periodic()函數(shù)返回時(shí),輸出的IP包要放到uip_buf中,供底層系統(tǒng)查詢uip_len的大小發(fā)送。這樣,uIP 在接受到底層傳來(lái)的數(shù)據(jù)包后,在需要送到上層應(yīng)用程序處理的地方,調(diào)用uip_appcall( )。2.\unix\,了解uIP 的的主循環(huán)代碼架構(gòu)。u16_t etherdev_read(void):讀包函數(shù)。4.由于uIP協(xié)議棧需要使用時(shí)鐘,為TCP和ARP的定時(shí)器服務(wù)。5.\uip\ 中,放到src 下。 版本中對(duì)配置做了如下修改:(1)配置IP 地址,默認(rèn)先關(guān)IP,在初始化中再設(shè)定。typedef unsigned long u32_t。uIP協(xié)議棧為C語(yǔ)言編寫,編譯過(guò)程中的問(wèn)題比較少,并且容易解
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1