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

正文內(nèi)容

基于mcs-51單片機(jī)技術(shù)以太網(wǎng)接口設(shè)計(jì)(存儲(chǔ)版)

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

下一頁面
  

【正文】 向當(dāng)前的發(fā)送緩沖區(qū)。2) 選定發(fā)送緩沖區(qū)。發(fā)送報(bào)文時(shí)先判斷上一個(gè)數(shù)據(jù)報(bào)文發(fā)送完畢否,若沒有發(fā)送完畢則等待或重發(fā),否則發(fā)送當(dāng)前報(bào)文。而芯片正在讀取的數(shù)據(jù)字節(jié)位置可由CLDACLDA0判斷。 TCP/IP協(xié)議棧的實(shí)現(xiàn)由于本課題是基于嵌入式系統(tǒng)的TCP/IP設(shè)計(jì),所以必須對(duì)TCP/IP協(xié)議棧進(jìn)行必要的簡化。2) ARP請求函數(shù)完成ARP請求操作。 網(wǎng)絡(luò)層IP協(xié)議的實(shí)現(xiàn) 在介紹系統(tǒng)中IP協(xié)議的實(shí)現(xiàn)之前,首先要介紹一下系統(tǒng)的參數(shù)設(shè)置。 IP包處理,IP報(bào)文處理函數(shù)的功能主要是判斷報(bào)文是否正確,去掉IP選項(xiàng),之后根據(jù)IP報(bào)文中所封裝的報(bào)文類型將數(shù)據(jù)提交給相應(yīng)的上層處理函數(shù),同時(shí)更新ARP緩存表。4) 更新ARP緩存表。其上層函數(shù)將所需參數(shù)傳遞給IP報(bào)文發(fā)送函數(shù)后,該函數(shù)首先判斷待發(fā)送的報(bào)文是否在本網(wǎng)段內(nèi),若在本網(wǎng)段內(nèi),查找ARP緩存表中有無相應(yīng)地址映射關(guān)系,若不在本網(wǎng)段內(nèi),查看有無網(wǎng)關(guān)的地址映射關(guān)系。2) 創(chuàng)建數(shù)據(jù)幀,保存結(jié)果數(shù)據(jù)幀的長度。 傳輸控制協(xié)議TCP的實(shí)現(xiàn) TCP協(xié)議是一個(gè)面向連接的協(xié)議,傳遞一個(gè)TCP數(shù)據(jù)所要經(jīng)歷的三個(gè)階段分別是:建立連接、傳輸數(shù)據(jù)和斷開連接。2) 如果沒有找到匹配的套接字,就獲取第一個(gè)空閑的(關(guān)閉的)套接字。 TCP狀態(tài)定義字段功能表述TCP_CLOSED關(guān)閉和監(jiān)聽狀態(tài)TCP_SYNR接收到SYN請求狀態(tài)TCP_EST連接已建立狀態(tài)TCP_CLWAIT關(guān)閉等待狀態(tài)TCP_LASTACK最后的確認(rèn)等待狀態(tài)TCP_RSTR復(fù)位狀態(tài)TCP_AOPEN主動(dòng)打開狀態(tài)TCP_SYNS發(fā)送SYN請求狀態(tài)TCP_ACLOSE主動(dòng)關(guān)閉狀態(tài)TCP_FINWT1關(guān)閉等待1狀態(tài)TCP_FINWT2關(guān)閉等待2狀態(tài)TCP_CLING關(guān)閉狀態(tài)TCP_TWAIT計(jì)時(shí)等待狀態(tài) 發(fā)送TCP報(bào)文TCP狀態(tài)機(jī)的調(diào)用不僅是在接收到報(bào)文時(shí),在發(fā)送報(bào)文時(shí)也要調(diào)用到TCP狀態(tài)機(jī)函數(shù),以便更新套接字的狀態(tài)。7) 清緩沖區(qū)標(biāo)志8) 發(fā)送數(shù)據(jù)到IP發(fā)送緩沖區(qū)。2) GET請求處理。對(duì)存儲(chǔ)的文件進(jìn)行管理,提供文件查詢。(5) 其源代碼中提供一套實(shí)例程序:web服務(wù)器,web客戶端,電子郵件發(fā)送程序(SMTP 客戶端),Telnet服務(wù)器,DNS主機(jī)名解析程序等。uip_init()是系統(tǒng)初始化時(shí)調(diào)用的,主要初始化協(xié)議棧的偵聽端口和默認(rèn)所有連接是關(guān)閉的。由于使用TCP/IP的應(yīng)用場景很多,因此應(yīng)用程序作為單獨(dú)的模塊由用戶實(shí)現(xiàn)。3.\unix\ 寫網(wǎng)卡驅(qū)動(dòng)程序,與具體硬件相關(guān)。因此使用單片機(jī)的定時(shí)器0用作時(shí)鐘,每20ms讓計(jì)數(shù)tick_t加1。define UIP_FIXEDADDR 0define UIP_IPADDR0 192define UIP_IPADDR1 168define UIP_IPADDR2 1define UIP_IPADDR3 9define UIP_NETMASK0 255define UIP_NETMASK1 255define UIP_NETMASK2 255define UIP_NETMASK3 0define UIP_DRIPADDR0 192define UIP_DRIPADDR1 168define UIP_DRIPADDR2 1define UIP_DRIPADDR3 1(2)使能MAC地址define UIP_FIXEDETHADDR 1define UIP_ETHADDR0 0x00define UIP_ETHADDR1 0x4fdefine UIP_ETHADDR2 0x49define UIP_ETHADDR3 0x12define UIP_ETHADDR4 0x12define UIP_ETHADDR5 0x13(3)使能ping功能define UIP_PINGADDRCONF 1(4)關(guān)閉主動(dòng)請求連接的功能define UIP_ACTIVE_OPEN 0(5)將uip_tcp_appstate_t 定位u8_t類型。 uIP的主控制循環(huán)(main函數(shù)[16])通過實(shí)際的代碼說明uIP協(xié)議棧的主控制循環(huán)。9.解決編譯過程中的錯(cuò)誤。需要放在src下,并且根據(jù)需要配置。將全局緩存區(qū)uip_buf 里的數(shù)據(jù)(長度放在uip_len 中)發(fā)送出去。1.初始化uIP協(xié)議棧:uip_init()2.處理輸入包:uip_input()3.處理周期計(jì)時(shí)事件:uip_periodic()4.開始監(jiān)聽端口:uip_listen()5.連接到遠(yuǎn)程主機(jī):uip_connect()6.接收到連接請求:uip_connected()7.主動(dòng)關(guān)閉連接:uip_close()8.連接被關(guān)閉:uip_closed()9.發(fā)出去的數(shù)據(jù)被應(yīng)答:uip_acked()10.在當(dāng)前連接發(fā)送數(shù)據(jù):uip_send()11.在當(dāng)前連接上收到新的數(shù)據(jù):uip_newdata()12.告訴對(duì)方要停止連接:uip_stop()13.連接被意外終止:uip_aborted() uIP在MCS51單片機(jī)上的調(diào)試 調(diào)試步驟[15]:1.為此項(xiàng)目建立一個(gè)keil C工程,建立src目錄存放源文件。當(dāng)周期計(jì)時(shí)激發(fā),每一個(gè)TCP連接都會(huì)調(diào)用uIP函數(shù)uip_periodic()。即uip_init(),uip_input()和uip_periodic()。(3) 其硬件處理層、協(xié)議棧層和應(yīng)用層共用一個(gè)全局緩存區(qū),不存在數(shù)據(jù)的拷貝,且發(fā)送和接收都是依靠這個(gè)緩存區(qū),極大的節(jié)省空間和時(shí)間。數(shù)據(jù)發(fā)送函數(shù)的調(diào)用保持發(fā)送緩沖區(qū)加滿,它盡可能的把文件拷貝到空閑空間中。系統(tǒng)的Web服務(wù)器實(shí)現(xiàn)了一下幾個(gè)函數(shù)[13]:1) 服務(wù)器處理。5) 寫入首部長度,碼元位等標(biāo)志位。TCP狀態(tài)機(jī)函數(shù)不僅在打開TCP連接,收到TCP報(bào)文段時(shí)調(diào)用,還要被輪詢以保持TCP協(xié)議棧有效。 TCP報(bào)文的處理(接收) TCP狀態(tài)機(jī)處理接收的TCP段由TCP報(bào)文處理函數(shù)實(shí)現(xiàn),數(shù)據(jù)存放在TCP緩沖區(qū)中并置位相應(yīng)標(biāo)志。5) 等待ICMP應(yīng)答。系統(tǒng)中只識(shí)別回顯請求,即只響應(yīng)Ping應(yīng)答。系統(tǒng)中IP報(bào)文封裝的上層協(xié)議有傳輸控制協(xié)議TCP和差錯(cuò)控制報(bào)文ICMP。3) 判斷是不是本系統(tǒng)可以識(shí)別的IP報(bào)文。 系統(tǒng)中實(shí)現(xiàn)的IP模塊主要包括以下功能:IP初始化、IP包處理、發(fā)送IP報(bào)文。5) IP包接收預(yù)處理函數(shù)用于提取IP報(bào)文的地址映射信息,以便主動(dòng)學(xué)習(xí)和及時(shí)更新。在實(shí)現(xiàn)網(wǎng)卡驅(qū)動(dòng)程序后,所有ARP處理操作就是填寫ARP包。4) 對(duì)正確的報(bào)文進(jìn)行協(xié)議分析,系統(tǒng)只處理兩種報(bào)文:ARP報(bào)文和IP報(bào)文,若判斷出是以上兩種報(bào)文,則置位相應(yīng)標(biāo)志位,以待后續(xù)模塊處理。BNRY是讀指針,指向用戶已經(jīng)讀走的頁。拷貝數(shù)據(jù)要首先設(shè)定遠(yuǎn)程DMA寫起始地址寄存器RASR01和存儲(chǔ)遠(yuǎn)端DMA寫數(shù)據(jù)時(shí)的數(shù)據(jù)長度寄存器RBCR01。因?yàn)橐蕴W(wǎng)報(bào)文要求最小長度為60,所以在發(fā)送報(bào)文前要判斷報(bào)文長度是否符合標(biāo)準(zhǔn)。使用0x4C~0x7F為接收緩沖區(qū),共52頁。下面將分別介紹其功能和實(shí)現(xiàn)。反之,從8019接收的數(shù)據(jù)通過單片機(jī)可以從串口發(fā)出去。存儲(chǔ)器功能存儲(chǔ)用戶的一些設(shè)置,如MAC地址、IP地址等。(具體電路原理圖參見附件):X1 P2X2單 片 機(jī)RXD P0TXD串行通信32KB RAM鎖存器網(wǎng)卡主芯片RTL8019AS網(wǎng)絡(luò)變壓器RJ45接口以太網(wǎng)絡(luò)12MHZ22pF22pF 硬件接口框圖 主要器件:本例中的主要器件包括:主處理器(51單片機(jī))、地址鎖存器、外部RAM、以太網(wǎng)控制芯片、EEPROM和隔離低通濾波器。10. RSAR0,1:遠(yuǎn)程起始地址寄存器(08Hamp。4. BNRY:邊界寄存器(03H;類型:0頁讀寫)該寄存器用于防止環(huán)形緩存的覆蓋。退出監(jiān)控允許接收時(shí)清零。7. RCR:接收配置寄存器(0CH;類型:0頁寫,2頁讀)位符號(hào)簡述7——總是16——總是15MON置位時(shí)為監(jiān)控模式,對(duì)接收包只檢查不緩存:清零時(shí)則緩存。此外在接收緩存溢出時(shí)置位,而在一個(gè)和多個(gè)包被從緩存中讀出時(shí)清零。011——發(fā)送包; 1——遠(yuǎn)程DMA完成/退出。 NE2000寄存器組分為4頁,由寄存器CR中的PS0和PS1加以選擇。(4)其中0x00~0x0f共16個(gè)地址為寄存器地址。為了有效利用接收緩沖區(qū),將接收緩沖區(qū)RAM構(gòu)成FIFO循環(huán)隊(duì)列結(jié)構(gòu)。它將隨著通信媒介的不同而不同,用于完成發(fā)送數(shù)據(jù)、接收數(shù)據(jù)、回環(huán)以及沖突檢測、SQE(信號(hào)質(zhì)量錯(cuò)誤)測試等功能。(2) 載波信號(hào)的收發(fā)和控制。 RTL8019AS簡介[6] RTL8019AS是本系統(tǒng)與以太網(wǎng)通訊的基礎(chǔ),它用以實(shí)現(xiàn)系統(tǒng)與網(wǎng)絡(luò)上其他節(jié)點(diǎn)之間的報(bào)文發(fā)送與接收功能,處于TCP/IP協(xié)議棧的數(shù)據(jù)鏈路層,是信息傳送、控制和管理的重要環(huán)節(jié)。HTTP在應(yīng)用層上操作。4) 協(xié)商能力。因此減少了連接建立的次數(shù)和經(jīng)常性的連接開銷。l 校驗(yàn)和的校驗(yàn)范圍包括段首部、數(shù)據(jù)以及偽首部。l 序號(hào)指出段中的數(shù)據(jù)部分在發(fā)送方數(shù)據(jù)流中的位置。每個(gè)socket都有一個(gè)操作系統(tǒng)分配的本地惟一的socket號(hào)。 TCP采用協(xié)議端口來標(biāo)識(shí)某一主機(jī)上的通信進(jìn)程。: ICMP常見類型號(hào)及其含義類型34511128或010或913或1417或18報(bào)文含義目的地不可達(dá)源中斷重定向數(shù)據(jù)報(bào)超時(shí)數(shù)據(jù)報(bào)參數(shù)有問題回送請求和應(yīng)答路由器詢問和通告時(shí)間戳請求或應(yīng)答地址屏蔽請求或回答本課題只考慮ICMP報(bào)文的目的站不可達(dá)和回送請求與應(yīng)答報(bào)文。l 校驗(yàn)和(CHECKSUM):提供ICMP整個(gè)報(bào)文的校驗(yàn)和,校驗(yàn)和算法與IP數(shù)據(jù)報(bào)首部校驗(yàn)和算法相同。這些控制功能包括:差錯(cuò)報(bào)告、擁塞控制、路徑控制以及路由器和主機(jī)信息的獲取等。l 頭校驗(yàn)和字段為16比特。l 數(shù)據(jù)報(bào)總長度字段的長度為16比特,總長度以字節(jié)為單位指示整個(gè)IP數(shù)據(jù)報(bào)的長度。為此,IP層通過IP地址實(shí)現(xiàn)物理地址的統(tǒng)一;通過IP數(shù)據(jù)報(bào)實(shí)現(xiàn)了物理數(shù)據(jù)幀的統(tǒng)一。由于IP協(xié)議在網(wǎng)絡(luò)層中具有重要的地位,人們又將TCP/IP協(xié)議的網(wǎng)絡(luò)層稱為IP層。l 發(fā)送方IP地址:定義發(fā)送方的網(wǎng)絡(luò)地址。l 協(xié)議類型:16比特,定義使用ARP協(xié)議的類型。(2) 目的主機(jī)必須與源主機(jī)位于同一物理網(wǎng)絡(luò)中。(4) 該網(wǎng)絡(luò)中的所有主機(jī)都能接收ARP請求幀,并將該幀中的目的地址IP地址IB和自己的IP地址進(jìn)行比較。 物理地址有兩種基本類型:以太網(wǎng)類型和ProNET令牌網(wǎng)類型,前者有大型的固定的物理地址,后者有小型的易于配置的物理地址,網(wǎng)絡(luò)地址特指IP地址。數(shù)據(jù)幀傳輸時(shí),除了數(shù)據(jù)段的長度不定以外,其他部分的長度固定不變。 SA:源地址,48位,表明該幀的數(shù)據(jù)是哪個(gè)網(wǎng)卡發(fā)的,即發(fā)送端的網(wǎng)卡地址,同樣是6個(gè)字節(jié)。對(duì)TCP/IP協(xié)議編程,首先要清楚其報(bào)文格式。其它的協(xié)議還有遠(yuǎn)程登錄、簡單郵件傳輸協(xié)議、簡單網(wǎng)絡(luò)管理協(xié)議等[3]。IP協(xié)議就是層中傳送數(shù)據(jù)的機(jī)制。單片機(jī)上網(wǎng)的困難在于TCP/IP協(xié)議是一組龐大的協(xié)議集,而8位單片機(jī)自身資源有限,其存儲(chǔ)容量、運(yùn)行速度和總線寬度等不能像PC機(jī)那樣通過標(biāo)準(zhǔn)的硬件和軟件接口實(shí)現(xiàn)TCP/IP。在本文中最重要的是嵌入式TCP/IP協(xié)議在8位單片機(jī)上的實(shí)現(xiàn),從而達(dá)到了實(shí)現(xiàn)嵌入式以太網(wǎng)接口的目的。嵌入式計(jì)算機(jī)系統(tǒng),最早出現(xiàn)在60年代的武器控制中,后來用于軍事指揮控制和通信系統(tǒng),現(xiàn)在廣泛應(yīng)用于民用機(jī)電一體化產(chǎn)品中。本文設(shè)計(jì)的網(wǎng)絡(luò)接入模塊解決了嵌入式設(shè)備與以太網(wǎng)絡(luò)的連接問題,在不改變嵌入式設(shè)備本身結(jié)構(gòu)的情況下,用戶終端可以通過這個(gè)模塊將現(xiàn)有的各種串口設(shè)備快速方便地接入網(wǎng)絡(luò),從而實(shí)現(xiàn)儀器的遠(yuǎn)程控制、遠(yuǎn)程數(shù)據(jù)終端的數(shù)據(jù)通信等功能。以太網(wǎng)使得大量數(shù)據(jù)的快速傳輸成為可能。這種方法的優(yōu)點(diǎn)是可靠性高,執(zhí)行速度快,但往往硬件電路復(fù)雜、價(jià)格昂貴、硬件成本高。 第2章 TCP/IP協(xié)議(棧)簡介 TCP/IP協(xié)議的分層結(jié)構(gòu)TCP協(xié)議和IP協(xié)議是使計(jì)算機(jī)能相互通信的一組協(xié)議中的兩個(gè)重要協(xié)議,通常就用TCP/IP來代表這一組協(xié)議。這一層的協(xié)議有兩個(gè),基于可靠傳輸?shù)膫鬏斂刂茀f(xié)議(TCP協(xié)議)和不可靠傳輸?shù)挠脩魯?shù)據(jù)報(bào)協(xié)議(UDP)。 什么是封裝當(dāng)應(yīng)用程序用TCP傳送數(shù)據(jù)時(shí),數(shù)據(jù)被送入?yún)f(xié)議棧中,然后逐個(gè)通過每一層,直到被當(dāng)作一串比特流送入網(wǎng)絡(luò)。一個(gè)標(biāo)準(zhǔn)的以太網(wǎng)物理傳輸幀由前導(dǎo)列PR、分隔位SD、目的地址DA、源地址SA、類型字段Type、數(shù)據(jù)段Data、填充位PAD和幀校驗(yàn)序列FCS共8部分組成。) DATA:數(shù)據(jù)段 ,該段數(shù)據(jù)不能超過1500字節(jié)。除去DA、SA和Type共14字節(jié)以外,還最少必須傳輸46字節(jié)的數(shù)據(jù),當(dāng)數(shù)據(jù)段的數(shù)據(jù)不足46字節(jié)時(shí)需填充,填充字符的個(gè)數(shù)不包括在長度字段里,超過1500字節(jié),需要拆成多個(gè)幀傳送。 地址解析原理:當(dāng)主機(jī)A需要向同一物理網(wǎng)絡(luò)中的主機(jī)B發(fā)送IP數(shù)據(jù)報(bào)時(shí),主機(jī)A的IP層要將IP數(shù)據(jù)報(bào)傳給數(shù)據(jù)鏈路層進(jìn)行幀封裝, 封裝時(shí)要求給出目的主機(jī)的物理地址。 (6) ARP應(yīng)答幀直接發(fā)回給發(fā)送ARP請求的主機(jī)A(ARP應(yīng)答幀不以廣播方式發(fā)送)。在這種情況下,IP只需要利用ARP確定路由器的物理地址就可以了,而路由器將逐級(jí)向前轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)。以太網(wǎng)為6。 IP協(xié)議正像TCP/IP協(xié)議的名稱所表達(dá)的信息那樣,因特網(wǎng)的核心協(xié)議是IP和TCP兩大協(xié)議。(2)IP協(xié)議不保證傳輸?shù)目煽啃?,不?duì)數(shù)據(jù)進(jìn)行差錯(cuò)校驗(yàn)和跟蹤,當(dāng)數(shù)據(jù)報(bào)發(fā)生損壞時(shí)不向發(fā)送方通告,如果要求數(shù)據(jù)傳輸具有可靠性
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1