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

正文內(nèi)容

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

2025-07-17 17:17 上一頁面

下一頁面
 

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