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

正文內(nèi)容

嵌入式webserver的設計與實現(xiàn)(專業(yè)版)

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

下一頁面
  

【正文】 IP數(shù)據(jù)報TCP數(shù)據(jù)報IP首部TCP首部TCP數(shù)據(jù) 圖45 TCP數(shù)據(jù)在IP數(shù)據(jù)報中的封裝TCP協(xié)議包含的程序,(1) init_ tcp(void)初始化TCP協(xié)議(2) Tcp_send(UINT flags, DINT hdr_len, UCHAR nr)發(fā)送TCP(3) Tcp_ retransmit(void)重發(fā)TCP數(shù)據(jù)(4) Tcp_ inactivity(void)停止TCP(5) Tcp_ rcve(UCHAR xdata*inbuf, UINT len)接收TCP數(shù)據(jù)。(4)客戶機為響應服務器的關閉,向服務器發(fā)出關閉一應答段。客戶機請求對端接入時,要隨機地選送一個初始序號。 但是對于WEB服務器而言,其實際在使用并沒有涉及到TCP所規(guī)定的所有狀態(tài),因此,我們可以考慮對其進行簡化。在嵌入式Internet中,一般使用Ping應答來報告嵌入式系統(tǒng)是否處在正常運行當中,一般可不用實現(xiàn)Ping請求。雖然ICMP報文由IP數(shù)據(jù)報傳輸,但并不把它當成比IP更高層的協(xié)議,而把它當作IP的一個擴展,因為它并不是上層協(xié)議賴以存在的基礎,而只用來提供主機與主機或主機與路由器之間傳達控制和差錯信息。整個ARP處理過程,主要用下面幾個函數(shù)實現(xiàn):(1)void init_arp(void)初始化ARP;(2)void arp_send(UCHAR * hwaddr, ULONG ipaddr, UCHAR msg_type) ARP請求;(3)void arp_rcve(UCHAR xdata *) ARP應答;(4)UCHAR xdata * arp_resolve(ULONG) ARP回應處理;(5)void age_arp_cache(void) Aged out a cache entry;(6)void arp_retransmit(void) ARP重新發(fā)送。對RTL8019接收數(shù)據(jù)操作,有查詢和中斷兩種方式。當上述條件不成立時,表示接收到新的數(shù)據(jù)包。在程序中用0x40~0x4B共12頁作為網(wǎng)卡的發(fā)送緩沖區(qū),剛好可以存儲2個最大的以太網(wǎng)包。因為采用C語言編程,所以代碼便于閱讀和移植。填充碼:為了使數(shù)據(jù)為4個字節(jié)(32比特)的整數(shù)倍而添加“0”的調(diào)整字段。 TCP數(shù)據(jù)包的結構如表37所示:表37 TCP首部 0 15 16 3116位源端口號16位目的端口號32位序列號32位確認號4位首部長度保留(6位)URGACKPSHRSTSYNFIN16位窗口大小16位TCP檢驗和16位緊急指針選項(若有)數(shù)據(jù)(若有) TCP消息段的字段描述如下:源/目的端口號:發(fā)送端主機與接收端主機的端口號,具有16比特的長度。這意味著,UDP客戶機向指定的遠端主機發(fā)送數(shù)據(jù)包時,并未事先確知對方是做好了接收數(shù)據(jù)的準備的。在TCP/IP協(xié)議族中,有兩個互不相同的傳輸協(xié)議:TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。ARP協(xié)議的功能是為32位IP地址到對應的48位以太網(wǎng)物理地址之間提供動態(tài)映射,將上層的IP地址與底層的物理地址進行綁定,它形成了只能使用IP地址的上層協(xié)議軟件與只能使用物理地址的下層設備驅(qū)動程序軟件之間的分界線。TCP傳給IP的數(shù)據(jù)單元稱作TCP報文段或簡稱為TCP段(TCP segment)。D0~D7接單片機的P7口,/OE接單片機的RD,/WR接單片機的/WR,/。其中芯片的I/0地址由引腳8882和81來決定。RAM按頁存儲,采用分頁的方式管理,每256字節(jié)為一頁。單片機收發(fā)數(shù)據(jù)只需要對遠程DMA操作。本設計中沒有使用中斷方式,使用查詢方式。(2)全雙工,收發(fā)可同時達到10MBPS的速率。 (3)MCU直接實現(xiàn)形式。所謂的TCP/IP協(xié)議是一個四層協(xié)議系統(tǒng),包括數(shù)據(jù)鏈路層、網(wǎng)絡層(含IP協(xié)議)、傳輸層(含TCP協(xié)議)和應用層,每一層負責不同的功能。[2] 嵌入式Internet的研究意義及目的目前國內(nèi)單片機的應用非常廣泛,大多數(shù)系統(tǒng)是以51單片機為核心,與檢測、伺服、顯示設備配合起來實現(xiàn)監(jiān)控功能。在制造工業(yè)、過程控制、通訊、儀器、儀表、汽車、船舶、航天、軍事裝備、消費類產(chǎn)品等方面均是嵌入式計算機的應用領域。嵌入式硬件部分主要由嵌入式處理器,嵌入式外圍設備等構成。在個人領域中,嵌入式產(chǎn)品將主要作為個人移動的數(shù)據(jù)處理和通信軟件。在廣播電視領域,嵌入式軟件技術和數(shù)字技術的結合,造就了家電行業(yè)的未來發(fā)展方向-信息家電。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。嵌入式系統(tǒng)以應用為中心,以計算機技術為基礎,軟件硬件可裁剪,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。三是直接實現(xiàn)方案,即在8位單片機中實現(xiàn)TCP/IP協(xié)議來實現(xiàn)Internet的接入功能?;貜托畔⒌骄钟蚓W(wǎng)的過程與上面正好相反。EMIT采用桌面計算機或高性能的嵌入式處理器作為網(wǎng)關,稱為emGateway,上面支持TCP/IP協(xié)議并運行HTTP服務程序,形成一個用戶可以通過網(wǎng)絡瀏覽器進行遠程訪問的服務器。片內(nèi)JTAG調(diào)試電路提供全速,非侵入式的電路內(nèi)調(diào)試。2.1C8051F020與RTL8019AS接口電路設計中的幾個問題:(1)I/O地址:RTL8019AS的第65腳JP決定網(wǎng)卡的工作方式,本設計中JP腳接高電平(VCC),即使用跳線方式。會自動測接口類型是用同軸電纜還是雙絞線。RTL8019AS的本地DMA操作是由控制器本身完成的,而其遠程DMA并不是在無處理器的參與下,數(shù)據(jù)能自動移到主處理器的內(nèi)存中,它的操作機制是這樣的:主處理器先賦值與遠程DMA的起始地址寄存器RSAR0、RSAR1和字節(jié)計數(shù)器RR0、RBCR1,然后在RTL8019AS的DMA I/O地址上讀寫指定地址上的數(shù)據(jù)。這些是和NE2000兼容的寄存器件,和RTL8019AS本身設置相關的寄存器放在PAGE3里,PAGE3是RTL8019AS自己定義的,對于其它兼容NE2000的芯片如DM9008無效。 外部數(shù)據(jù)存儲器62256和鎖存器74HC573使用外部RAM 62256的目的是提高單片機的數(shù)據(jù)傳輸速度和進行復雜的TCP/IP處理。本文僅介紹與嵌入式WEB SERVER編程密切相關的部分:TCP/IP協(xié)議的分層結構及其報文格式。知道主機的IP地址并不能讓以太網(wǎng)驅(qū)動程序發(fā)送一幀數(shù)據(jù)給主機,以太網(wǎng)驅(qū)動程序必須知道目的端的硬件地址才能發(fā)送數(shù)據(jù)。表33 IP數(shù)據(jù)報格式及首部中的各個字段4位版本4位首部長度8位服務類型(TOS)16位總長度(字節(jié))16位標識3位標志13位片偏移8位生存時間(TTL)8位協(xié)議16位首部檢驗和32位源IP地址32位目的IP地址32位選項(若有)數(shù)據(jù) ICMP協(xié)議概述ICMP協(xié)議主要用來傳遞差錯報文以及其它需要注意的信息。但是由于TCP所傳數(shù)據(jù)流應用了順序號和應答措施,可以發(fā)現(xiàn)數(shù)據(jù)的丟失、段的失序和對傳輸錯誤的排除,所以TCP協(xié)議提供的是數(shù)據(jù)流的可靠傳輸。檢驗和覆蓋整個UDP長度。校驗和:用來確認TCP報頭與數(shù)據(jù)是否被破壞的字段;緊急指針:以字節(jié)為單位表示放置需要緊急處理的數(shù)據(jù)的位置。以太網(wǎng)協(xié)議由芯片硬件自動完成,不用考慮。這16 KB的RAM的一部分用于存放接收的數(shù)據(jù)包,一部分用于存儲待發(fā)送的數(shù)據(jù)包。CURR和BNRY主要用來控制緩沖區(qū)的存取過程,保證能順次寫入和讀出。因為PAGEZ的寄存器是只讀寄存器,所以不能和不需要設置。當系統(tǒng)收到一個目的IP地址為本機的IP地址的ARP請求報文后,它就把MAC地址填上去,然后用兩個目的端地址分別替換兩個發(fā)送端地址,并把操作字段置為2,最后把它發(fā)送出去。 該子程序檢測一個外來的數(shù)據(jù)包,并對數(shù)據(jù)包作相應的處理。經(jīng)過簡化的ping能夠完成最基本的連通測試功能。TCP協(xié)議可以用有限狀態(tài)機來描述的,有限狀態(tài)機是這樣一種機器,它通過有限個狀態(tài),并且在某一時刻只能處于某個狀態(tài)。作為對服務器所發(fā)請求接入的響應。仍可接收數(shù)據(jù)?;瑒哟翱诘囊粋€極限情況是只使用一個窗口,這便成了一種簡單的確認方法。標準的WEB服務器通過多線程或多進程同時處理來自多個客戶機的連接,但考慮到單片機的處理能力以及存儲空間大小,并不用實現(xiàn)這樣的功能,而只實現(xiàn)一次只處理與一個客戶機的連接。需要有一個間歇時間,避免前后兩次接入產(chǎn)生牽連。消除傳輸中的錯誤,依靠持續(xù)跟蹤已發(fā)出數(shù)據(jù)段的應答是否返回。從而實現(xiàn)TCP的狀態(tài)機的功能。這與面向流字符的TCP協(xié)議不同,UDP數(shù)據(jù)包封裝成一份IP數(shù)據(jù)包的格式如圖44所示。代碼字段提供關于類型字段的進一步信息。(3)由于以太網(wǎng)數(shù)據(jù)報最小為60字節(jié),而整個ARP報文(28字節(jié))加上以太網(wǎng)首部(14字節(jié))也不過只有42字節(jié),因而在發(fā)送ARP數(shù)據(jù)報時,需要填充數(shù)據(jù)報至60字節(jié)。當BNRY+1與CURR不等時,說明接收緩沖區(qū)接收到了新的數(shù)據(jù)幀。初始化為指向第一個發(fā)送緩沖區(qū)的頁0x40。開始時網(wǎng)卡沒有接收到任何數(shù)據(jù)包,所以BNRY設置為指向第一頁接收緩沖區(qū)的地址0x4c。這些寄存器包括CR、DCR、RBCI之、PSTART、PSTOP、ISR、IMR、PARO-PARS、MARO-MARS、CURR、TCR和RCR等。應用層負責對接收的數(shù)據(jù)提供解釋服務,對嵌入式系統(tǒng)來說兩個重要的協(xié)議是超文本傳輸協(xié)議HTTP和文本傳輸協(xié)議FTP。ACK(應答確認)號:用于保證可靠性的確認代碼。也就是說,如果遠端主機不能接收發(fā)去的UDP數(shù)據(jù)的話,客戶機還可以獲得一定的提示的。由于運輸層提供了高可靠性的端到端的通信,因此應用層可以忽略所有這些細節(jié)。如果查詢失敗,ARP會先廣播一個詢問目的主機硬件地址的ARP報文,等到收到回答后再將數(shù)據(jù)包發(fā)送出去。應用程序TCPIP以太網(wǎng)驅(qū)動程序應用數(shù)據(jù)TCP首部IP首部應用數(shù)據(jù)TCP首部IP首部以太網(wǎng)首部以太網(wǎng)尾部 用戶數(shù)據(jù)用戶數(shù)據(jù)Appl首部應用數(shù)據(jù)TCP首部 TCP段IP數(shù)據(jù)報 14 20 20 4 以太網(wǎng) 以太網(wǎng)幀 46~1500字節(jié)圖32數(shù)據(jù)進入?yún)f(xié)議棧時的封裝過程圖32中幀頭和幀尾下面所標注的數(shù)字是典型以太網(wǎng)幀首部的字節(jié)長度。 RS232串行通信接口電路PC機與單片機通信的RS232通信接口電路原理圖24所示:C8051F020的TX0與RX0腳連接在RS232接口芯片上MAX232E上。RTL8019AS上的其它15根地址線按照I/O基地址的設置(0B000000000011000XXXXX)分別接地或者高電平。要接收或發(fā)送數(shù)據(jù)包就必須通過DMA讀寫RTL8019AS內(nèi)部的16KB RAM。RTL8019AS接收到的數(shù)據(jù)通過MAC比較、CRC校驗后,由FIFO存到接收緩沖區(qū),收滿一幀后,以中斷或寄存器標志的方式通知主處理器。(4)BROM:未用到BROM,引腳776667懸空即可。(4)支持8/16位數(shù)據(jù)總線,8個中斷申請線以及16個I/O基地址選擇,允許4個診斷LED引腳可編程輸出。FLASHC8051F020RTL8019ASPM34_1006MRJ45接口JTAGMAX232RS232接口SRAM圖 2-1 硬件系統(tǒng)框圖接口電路主要由MCU、網(wǎng)絡控制器、傳輸接口等構成。當然,還可以根據(jù)需要附加其它的協(xié)議功能。同時,隨著Internet的普及,現(xiàn)代通信技術的進步,基于TCP/IP和Client/ Server架構的分布式監(jiān)控技術也日趨成熟。嵌入式產(chǎn)品成為信息產(chǎn)業(yè)的主流。嵌入式處理器是嵌入式系統(tǒng)硬件中的核心的部分。今天面對的是嵌入式系統(tǒng)工業(yè)化的潮流,嵌入式軟件必須以工業(yè)化的方式生產(chǎn)開發(fā),這對加速知識創(chuàng)新和建立面向新世紀的知識經(jīng)濟具有戰(zhàn)略意義。 嵌入式系統(tǒng)的發(fā)展及現(xiàn)狀嵌入式概念早在20世紀60年代末己被提出,在經(jīng)歷了二、三十年的緩慢發(fā)展后,截止到上世紀90年代,它獲得了全面的應用和發(fā)展。它用于實現(xiàn)對其他設備的控制、監(jiān)視或管理等功能。外圍設備是指在一個嵌入式系統(tǒng)中,除了嵌入式處理器以外用于完成存儲、通信、調(diào)試、顯示等輔助設備功能的其他部件。此時把PC作為網(wǎng)關,并由PC把該網(wǎng)絡上的信息轉換為TCP/IP協(xié)議數(shù)據(jù)包,發(fā)送到Internet上實現(xiàn)信息共享。由于大部分局域網(wǎng)都采用以太網(wǎng),這里的RTL8019AS就是用于處理以太網(wǎng)協(xié)議(IEEE )的。2. 硬件系統(tǒng)設計利用單片機實現(xiàn)嵌入式TCP/IP系統(tǒng),大體可有以下三種形式:(1)MCU+專用網(wǎng)絡芯片,如E155Web chip PS2000等。(2)片內(nèi)具有4KB的SRAM,64KB的Flash,無需外擴資源,內(nèi)部4KB的RAM足夠以太網(wǎng)幀的存儲,以太網(wǎng)最大包為1500字節(jié),64KB的Flash對于適當?shù)某绦蚣訋讉€Web Pages是足夠的。另一套用于控制器內(nèi)部,稱為本地DMA。BNC接口方式支持8芯雙絞線或同軸電纜。當該引腳為低電平時,可決定RTL8019AS是工作在第2種還是第3種方式。(其中00H~0FH共16個地址,為寄存器地址)RTL8019AS
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1