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

正文內(nèi)容

嵌入式webserver的設(shè)計與實現(xiàn)-文庫吧在線文庫

2025-08-01 23:39上一頁面

下一頁面
  

【正文】 mMicro,監(jiān)測嵌入式設(shè)備中預(yù)先定義的各個變量,并將結(jié)果反饋到emGateway中;同時emMicro還可以解釋emGateway的命令,修改設(shè)備中的變量或進(jìn)行某種控制。單片機(jī)實現(xiàn)TCP/IP涉及的元件主要是接口層單片機(jī)和網(wǎng)卡芯片。(4)指令系統(tǒng)是大家所熟悉的8051指令集,具有兼容性。RSTDRV接單片機(jī)的Reset隨著單片機(jī)的復(fù)位。(2)中斷:單片機(jī)芯片的中斷由引腳80、778(IRQS2-IRQS0)決定。(7)C8051F020的讀、寫信號線直接和RTL8019AS的讀、寫信號線的引腳相連。 RTL8019AS網(wǎng)卡芯片,RTL8019AS的內(nèi)部結(jié)構(gòu)RTL8019AS內(nèi)部可分為遠(yuǎn)程DMA接口,本地DMA接口,MAC(介質(zhì)訪問控制)邏輯,數(shù)據(jù)編碼解碼邏輯和其它端口。即插即用方式,I/O地址和中斷都由操作系統(tǒng)管理,用戶不必過多干預(yù),但是較耗費系統(tǒng)資源;,內(nèi)部RAM地址空間分配RTL8019AS內(nèi)部有兩塊RAM區(qū)。在介紹RTL8019AS結(jié)構(gòu)時已給出具體定義,這里不贅述。所有這些頁都包含了叫做CR(Command Register命令寄存器)的寄存器,本系統(tǒng)中其對應(yīng)的地址是0X00300。RTL8019AS的20根地址線SA0~SA19,如下表21連接:表21 RTL8019AS地址線的連接SA19~SA10接地SA9~SA8SA7~SA0接單片機(jī)C8051F020的P7口 RTL8019AS與單片機(jī)的連接 RTL8019AS按功能可將其劃分為:接收模塊、CRC產(chǎn)生模塊、發(fā)送功能模塊、地址識別模塊、FIFO控制模塊、協(xié)議邏輯陣列模塊及DMA和緩沖控制模塊。由于以太網(wǎng)的包最大可以有1500多字節(jié),C8051F020單片機(jī)內(nèi)部RAM無法存儲這么大的包,只有放到外部RAM里。由于具有電可擦除的特性,并且其數(shù)據(jù)可保留上百年,所以它的應(yīng)用范圍非常廣泛,非常適用于作為CPU的外部存儲器,或者作為需要存儲大量數(shù)據(jù)的外部EEPROM。TCP/IP協(xié)議采用分層結(jié)構(gòu),它是一個四層協(xié)議系統(tǒng),每一層負(fù)責(zé)不同的功能,其分層模型及協(xié)議如下表31: 表31分層模型及協(xié)議應(yīng)用層 ApplicationHTTP , Telnet , FTP , SMTP , SNMP傳輸層 TransportTCP , UDP網(wǎng)絡(luò)層 InternetIP (ARP , RARP , ICMP , IGMP )鏈路層 NetworkEthernet , X , SLIP , PPP 封裝當(dāng)應(yīng)用程序用TCP傳送數(shù)據(jù)時,數(shù)據(jù)被送入?yún)f(xié)議棧中,然后逐個通過每一層直到被當(dāng)作一串比特流送入網(wǎng)絡(luò)。網(wǎng)絡(luò)接口分別要發(fā)送和接收IP、ARP、和RARP數(shù)據(jù),因此也必須在以太網(wǎng)的幀首部中加入某種形式的標(biāo)識,以指明生成數(shù)據(jù)的網(wǎng)絡(luò)層協(xié)議。ARP的功能就是在32位的lP地址和網(wǎng)卡MAC地址之間提供動態(tài)映射。 IP協(xié)議概述IP協(xié)議使網(wǎng)際之間的通信成為可能,是層中傳輸數(shù)據(jù)的機(jī)制。ICMP協(xié)議中規(guī)定了多種協(xié)議類型和代碼,如果完全實現(xiàn)要浪費不少的系統(tǒng)資源,對于普通的嵌入式Internet的應(yīng)用而言,能夠測試網(wǎng)絡(luò)的連通情況即可,因此只需要實現(xiàn)ICMP中類型號為0,代碼為0的Ping應(yīng)答協(xié)議即可。任何必需的可靠性必須由應(yīng)用層來提供。相對于UDP,TCP所獲得的可靠性是以其復(fù)雜性為代價的。如果使用低速的處理器,因UDP的開銷很小,其傳輸率比TCP高出很多。包括3部分:偽首部、UDP首部和應(yīng)用層數(shù)據(jù),位于UDP報頭前12字節(jié)的是偽首部。在不包括選項的情況下,TCP報頭是20字節(jié),offset值為5。從數(shù)據(jù)開始到緊急指針?biāo)付ǖ奈恢脼橹故切枰o急處理的數(shù)據(jù)。4. TCP/IP協(xié)議棧 的 實 現(xiàn)嵌入式TCP/IP協(xié)議棧通常包括ARP/RARP、IP、ICMP、UDP、HTTP、SMTP及FTP等協(xié)議。4.1 RTL8019AS驅(qū)動程序的設(shè)計 RTL8019AS的初始化所謂驅(qū)動程序?qū)嶋H上就是對RTL8019AS的寄存器組以及遠(yuǎn)程DMA端口進(jìn)行讀寫。表41寄存器頁選擇NO00hNAMECDTYPER/WBit7PS1Bit6Ps0Bit5RD2Bit4RD1Bit3RD0Bit2txrBit1staBit0stpPSI和PSO位用于指定寄存器的頁。當(dāng)然也可留給用戶使用。網(wǎng)卡寫完接收緩沖區(qū)一頁,就將這個頁地址加1,CURR=CURR+1,這是網(wǎng)卡自動加的。當(dāng)CURR=BNRY1(或當(dāng)BNRY=0x7f,CURR=0x4c)時,網(wǎng)卡的接收緩沖區(qū)里沒有數(shù)據(jù),表示沒有收到數(shù)據(jù)包。 DCR數(shù)據(jù)配置寄存器,設(shè)置為使用FIFO緩存,普通模式,8位數(shù)據(jù)傳輸模式,字節(jié)順序為高位字節(jié)在前,低位字節(jié)在后(符合我們的習(xí)慣,如果用16位的單片機(jī),設(shè)置成16位的數(shù)據(jù)總線操作會更快)。 PAGE3的寄存器與NE200O不兼容,所以也不用設(shè)置。如果相等,則不執(zhí)行一下步驟;讀出中斷狀態(tài)寄存器ISR,并寫回該寄存器;,并寫回該寄存器;,選擇頁面O;、RSCRO為接收地址指針,該指針高位字節(jié)初始值為PSTART+1,低位字節(jié)為O;、 RBCRO為0004H,先讀取4個字節(jié)的數(shù)據(jù);,讀數(shù)據(jù)端口。考慮到單片機(jī)的資源,本設(shè)計中使用全局變量保存源、目的的IP地址和源、目的物理地址,因此在每次通信前都需要操作全局變量,重新進(jìn)行ARP請求與應(yīng)答。程序流程圖如圖44所示。 ICMP協(xié)議的實現(xiàn)ICMP(網(wǎng)際控制報文協(xié)議)與其它高層協(xié)議一樣,ICMP報文也是封裝在IP數(shù)據(jù)報的數(shù)據(jù)部分中進(jìn)行傳輸?shù)?,如圖所示。解釋如下:(1)類型和校驗和字段上面己經(jīng)提到。當(dāng)主機(jī)或路由器向指定目的站發(fā)送Ping請求時,任何收到回顯請求的機(jī)器都將發(fā)送一個回顯應(yīng)答。 TCP協(xié)議的實現(xiàn) TCP狀態(tài)機(jī)TCP協(xié)議是整個TCP/IP協(xié)議的核心,也是傳輸層中最復(fù)雜的協(xié)議。事件使機(jī)器進(jìn)入新狀態(tài),換言之,事件是加到一個狀態(tài)上的輸入,它可改變狀態(tài)并導(dǎo)致輸出。 TCP的接入與終止TCP是面向接入的。同樣,包含數(shù)據(jù)的每一個TCP段也都應(yīng)該取得對方返回的應(yīng)答段(ACK)作為握手信號來保證數(shù)據(jù)被可靠地接收。在總的極限時間段內(nèi)一直不能等到應(yīng)答返回,則本次接入失效,并應(yīng)將出錯情況及時通知應(yīng)用程序。一方面作為客戶請求接入的響應(yīng),一方面要求客戶端也須接入。每一個TCP段中,服務(wù)器都將其當(dāng)前可用于接收的數(shù)據(jù)容量(即TCP數(shù)據(jù)窗大小)通知對方,這樣做的好處是,發(fā)送端是在明了接收端當(dāng)前實際處理能力的基礎(chǔ)上向網(wǎng)絡(luò)派送數(shù)據(jù),這對于網(wǎng)絡(luò)通信有效性是有積極意義的。使用了該方法后,所有的處理只是對單個數(shù)據(jù)包的發(fā)送和處理,節(jié)約了系統(tǒng)的資源。首先服務(wù)器綁定本地IP地址和本地端口號80,然后監(jiān)聽80端口號。WEB服務(wù)器本身可根據(jù)不同的URL來分段存儲信息至所指定的各存儲器中,以便隨時調(diào)用。問題在于標(biāo)準(zhǔn)的TCP協(xié)議使用慢啟動的滑動窗口機(jī)制??蛻魴C(jī)不可緊接著再次請求恢復(fù)剛剛關(guān)閉的接入。(2)服務(wù)器向客戶機(jī)發(fā)出關(guān)閉一應(yīng)答段。這樣,每一個TCP段中都包含一個序號,并以這個序號作為數(shù)據(jù)流的定位器,而返給客戶機(jī)的應(yīng)答號則表達(dá)所發(fā)來的數(shù)據(jù)已經(jīng)妥收。(2)服務(wù)器向客戶機(jī)發(fā)出同步應(yīng)答段(SYNACK)。每個狀態(tài)對應(yīng)由一個處理函數(shù),通過判斷變量State的值來實現(xiàn)對TCP的狀態(tài)的調(diào)度,即它處理接收到的TCP數(shù)據(jù),并做出相應(yīng)的判斷,跳入某種狀態(tài)。 TCP采用的是字節(jié)序列機(jī)制(bytesequencing),這種方法要求建立連接的雙方對發(fā)送和接收的數(shù)據(jù)的字節(jié)計數(shù)進(jìn)行跟蹤。 UDP協(xié)議的實現(xiàn)UDP是一個簡單的面向數(shù)據(jù)包的運輸層協(xié)議:進(jìn)程的每個輸出操作都正好產(chǎn)生一個UDP數(shù)據(jù)包,并組裝成一份待發(fā)送的IP數(shù)據(jù)包。請求方可以從該值知道是否有分組丟失、失序或重復(fù)。類型(TYPE)字段指明ICMP報文的類型,包括Ping請求和應(yīng)答(TYPE分別為8和0)、報文重定向(TYPE為5)、時間戳請求和應(yīng)答(TYPE分別為13和14)等。文件內(nèi),主要實現(xiàn)以下兩個子程序: (1) void ip_send(UCHAR xdata*outbuf,ULONG ipaddr, UCHAR proto_ id,DINT len)發(fā)送IP數(shù)據(jù): 該子程序用來創(chuàng)建一個發(fā)送數(shù)據(jù)報。(2) 由于前面已經(jīng)介紹了以太網(wǎng)驅(qū)動程序,只要封裝好ARP數(shù)據(jù)包,即可調(diào)用以太網(wǎng)的驅(qū)動程序發(fā)送ARP請求或應(yīng)答。具體過程如下:1. 包在發(fā)送前應(yīng)該按規(guī)定的格式封裝好,格式如下:表42 包格式目的地址(6字節(jié)) 源地址(6字節(jié)) 協(xié)議(2字節(jié)) 數(shù)據(jù)(不少于46字節(jié)):,選擇寄存器頁面0;,清除發(fā)送完成標(biāo)志;、RSARO為400OH,即發(fā)送緩沖區(qū)開始地址;、RBCRO為發(fā)送數(shù)據(jù)包的長度;,設(shè)置命令寄存器為遠(yuǎn)程DMA寫;;,等待遠(yuǎn)程DMA完成;,設(shè)置RBCRI、RBCRO為O,遠(yuǎn)程DMA停止;i,設(shè)置ISR為40H,清除發(fā)送完成標(biāo)志。在查詢方式下,通過查詢CURR和BNRY兩個寄存器的值來判斷是否收到一幀數(shù)據(jù)。提供對組播地址的過濾跟CRC的邏輯有關(guān)。TPSR為發(fā)送頁的起始頁地址。BNRR由用戶來操作。因此PSTART=0x4c,PSTOP=0x80(0x80為停止頁,即一直到0x7f都是接收緩沖區(qū),不包括0x80)。10為啟動命令,01為停止命令。對網(wǎng)卡的初始化就是對相關(guān)寄存器進(jìn)行初始化。驅(qū)動程序?qū)崿F(xiàn)3個功能:初始化801接收數(shù)據(jù)包和發(fā)送數(shù)據(jù)包。幾乎各種不同的TCP/IP實現(xiàn)都會提供下面這些通用的應(yīng)用程序:Telnet遠(yuǎn)程登錄、FTP文件傳輸協(xié)議、SMTP簡單郵件傳送協(xié)議、SNMP簡單網(wǎng)絡(luò)管理協(xié)議和Web系統(tǒng)等。PSH(Push Flag)表示是需要盡快向應(yīng)用層遞交的數(shù)據(jù)。利用隨機(jī)值確定初始值,以字節(jié)為單位表示所發(fā)送數(shù)據(jù)的位置。 UDP協(xié)議 UDP是一個簡單的面向應(yīng)用的運輸層協(xié)議,不提供可靠性。這種情況,只要遠(yuǎn)端主機(jī)運行的是TCP/IP堆棧,并能夠?qū)⑤斎氲腢DP數(shù)據(jù)包送到ICMP層進(jìn)行處理的話,此主機(jī)將返回一個ICMP(Internet控制信息協(xié)議)錯誤。傳輸層的協(xié)議提供的是連接指定在對方計算機(jī)上運行的特定應(yīng)用程序和希望得到的網(wǎng)絡(luò)服務(wù)。它所做的工作包括把應(yīng)用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡(luò)層,確認(rèn)接收到的分組,設(shè)置發(fā)送最后確認(rèn)分組的超時時鐘等。IP協(xié)議是整個TCP/IP協(xié)議族中最為核心的協(xié)議,所有的TCP、UDP、ICMP等數(shù)據(jù)都以IP數(shù)據(jù)報格式傳輸。如果查到匹配結(jié)點,則相應(yīng)的以太網(wǎng)地址被寫入以太網(wǎng)幀首部,數(shù)據(jù)包被加入輸出隊列等候發(fā)送。除網(wǎng)絡(luò)控制器驅(qū)動外,鏈路層典型的協(xié)議就是ARP (Address Resolation Protocol)—地址解析協(xié)議。通過以太網(wǎng)傳輸?shù)谋忍亓鞣Q作幀(Frame)。并且單片機(jī)根本沒有足夠的代碼空間實現(xiàn)全部協(xié)議。因此外部存儲器62256占用單片機(jī)的外部數(shù)據(jù)地址空間000OH一7FFFH,共32k字節(jié)。Pin 36~ Pin 43SD 0~SD 78位數(shù)據(jù)總線,接單片機(jī)的P0口。實際上C8051F020在讀寫RTL8019AS時只需要5根地址線與RTL8019AS最低5位地址線相連就可以了。(其中00H~0FH共16個地址,為寄存器地址)RTL8019AS寄存器組共77個寄存器,分配給寄存器的地址只有16個,因此RTL8019AS采用分頁面管理的方式,將這些寄存器分為4個頁面:PAGE0、PAGEPAGEPAGE3,每頁的大小為16個字節(jié),剛好對應(yīng)分配給寄存器的16個地址。第0頁叫Prom頁,只有32字節(jié),地址為0X0000~0X001F,用于存儲以太網(wǎng)物理地址。當(dāng)該引腳為低電平時,可決定RTL8019AS是工作在第2種還是第3種方式。MAC(介質(zhì)訪問控制)邏輯完成一下功能:當(dāng)單片機(jī)向網(wǎng)上發(fā)送數(shù)據(jù)時,先一幀數(shù)據(jù)通過遠(yuǎn)程DMA通道送到RTL8019AS中的發(fā)送緩存區(qū),然后發(fā)出傳送命令;當(dāng)RTL8019AS完成了以上幀的發(fā)送后,再開始此幀的發(fā)送。BNC接口方式支持8芯雙絞線或同軸電纜。設(shè)計中64腳AUI懸空,使用BNC接口。另一套用于控制器內(nèi)部,稱為本地DMA。(3)為了能讓ISA總線有足夠的時間讀寫網(wǎng)絡(luò)設(shè)計,RTL8019AS內(nèi)部集成了16KB的RAM,用于收發(fā)緩沖,降低對主處理器的速度要求。(2)片內(nèi)具有4KB的SRAM,64KB的Flash,無需外擴(kuò)資源,內(nèi)部4KB的RAM足夠以太網(wǎng)幀的存儲,以太網(wǎng)最大包為1500字節(jié),64KB的Flash對于適當(dāng)?shù)某绦蚣訋讉€Web Pages是足夠的。下圖為硬件框圖,涉及到本次設(shè)計中用到的主要芯片,以及各個芯片間的連接關(guān)系,下文將介紹硬件系統(tǒng)原理圖。2. 硬件系統(tǒng)設(shè)計利用單片機(jī)實現(xiàn)嵌入式TCP/IP系統(tǒng),大體可有以下三種形式:(1)MCU+專用網(wǎng)絡(luò)芯片,如E155Web chip PS2000等。本文主要討論實現(xiàn)Web/Server所需的協(xié)議。由于大部分局域網(wǎng)都采用以太網(wǎng),這里的RTL8019AS就是用于處理以太網(wǎng)協(xié)議(IEEE )的。以太網(wǎng)作為目前應(yīng)用最為廣泛的局域網(wǎng),在工業(yè)自動化和過程控制領(lǐng)域得到了越來越多的應(yīng)用。此時把PC作為網(wǎng)關(guān),并由PC把該網(wǎng)絡(luò)上的信息轉(zhuǎn)換為TCP/IP協(xié)議數(shù)據(jù)包,發(fā)送到Internet上實現(xiàn)信息共享。隨著“后PC”時代的來臨,嵌入式系統(tǒng)技術(shù)已經(jīng)成為無所不在的推動力量,為人們的生活、工作帶來一個又一個的變革。外圍設(shè)備是指在一個嵌入式系統(tǒng)中,除了嵌入式處理器以外用于完成存儲、通信、調(diào)試、顯示等輔助設(shè)備功能的其他部件。一、 嵌入式硬件部分嵌入式硬件主要包括嵌入式處理器、外圍設(shè)備兩方面。它用于實現(xiàn)對其他設(shè)備的控制、監(jiān)視或管理等功能。中國的單片機(jī)應(yīng)用和嵌入式系統(tǒng)開發(fā)有15年的歷程,有超過10萬名從事單片機(jī)開發(fā)應(yīng)用的工程師,但絕大多數(shù)是以封閉的方式開發(fā)幾乎不可重用的軟件。 嵌入式
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1