超碰激情 I 成人福利网站 I 淫国产 I 曰批视频免费30分钟成人 I 刘亦菲裸体视频一区二区三区 I 午夜久 I 尤物综合 I 亚洲一区av在线观看 I 欧美亚洲国产精品久久高清 I 欧美老熟妇乱子伦视频 I 无码中出人妻中文字幕av I 久久美女福利视频 I 精品无人区乱码1区2区3区在线 I 性饥渴的农村熟妇 I 色综合综合色 I 少妇人妻88久久中文字幕 I 久久夜色精品国产噜噜av I 老熟妇仑乱视频一区二区 I 男女做爰猛烈叫床视频动态图 I 日本大片一区二区 I 人成午夜免费视频在线观看 I 激情婷婷av I 男女下面一进一出免费视频网站 I 久久影视一区 I 午夜污网站 I 先锋人妻无码av电影 I 久久久久久久岛国免费网站 I 又粗又大又黄又硬又爽免费看 I 人妻无码免费一区二区三区 I www.色成人100 I 欧美高清网站 I 精品国产第一页 I 国产suv一区二区三区88区 I 橹图极品美女无圣光 I 午夜宅男欧美

產(chǎn)品分類

當前位置: 首頁 >

類型分類:
科普知識
數(shù)據(jù)分類:

一種uIP TCP/IP協(xié)議棧在51系列單片機上的實現(xiàn)

發(fā)布日期:2022-04-17 點擊率:39

  uIP協(xié)議棧采用有效的方法和結(jié)構(gòu)化的代碼,使其存儲器占用量很小并且可以很方便的應(yīng)用到不同的工程項目中。同時它又是免費的可以自由使用于商業(yè)和非商業(yè)目的。uIP為低端嵌入式設(shè)備的網(wǎng)絡(luò)接入提供了很好的解決方案,具有很高的應(yīng)用價值。


  一 引言

  隨著信息技術(shù)的不斷發(fā)展,以及人們對日常生活舒適度、方便度要求的提高,信息家電、智能儀表等產(chǎn)品越來越頻繁的出現(xiàn)在我們的生活當中;人們也越來越熱衷于把家電、儀表等設(shè)備連接到Internet 中,從而可以方便、及時的對它們進行遠程察看、遠程控制。把這些設(shè)備接入Internet ,就需要考慮TCP/IP 網(wǎng)絡(luò)協(xié)議的實現(xiàn)。

  51單片機是對目前所有兼容Intel 8031指令系統(tǒng)的單片機的統(tǒng)稱。該系列單片機的始祖是Intel的8031單片機,后來隨著Flash rom技術(shù)的發(fā)展,8031單片機取得了長足的進展,成為目前應(yīng)用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。目前很多公司都有51系列的兼容機型推出,在目前乃至今后很長的一段時間內(nèi)將占有大量市場。51單片機是基礎(chǔ)入門的一個單片機,還是應(yīng)用最廣泛的一種。需要注意的是52系列的單片機一般不具備自編程能力。本文將簡要描述uIP的實現(xiàn)方法,分析uIP協(xié)議棧的應(yīng)用接口,并討論如何將其應(yīng)用到51系列單片機上。

  二 uIP協(xié)議棧的實現(xiàn)方法簡述

  uIP協(xié)議棧主要提供了三個函數(shù)供系統(tǒng)底層調(diào)用。即uip_init(), uip_input() 和uip_periodic()。其與應(yīng)用程序的主要接口是UIP_APPCALL( )。ip_init()是系統(tǒng)初始化時調(diào)用的,主要初始化協(xié)議棧的偵聽端口和默認所有連接是封閉的。當網(wǎng)卡驅(qū)動收到一個輸進包時,將放進全局緩沖區(qū)uip_buf中,包的大小由全局變量uip_len約束。同時將調(diào)用uip_input()函數(shù),這個函數(shù)將會根據(jù)包首部的協(xié)議處理這個包和需要時調(diào)用應(yīng)用程序。當uip_input()返回時,一個輸出包同樣放在全局緩沖區(qū)uip_buf里,大小賦給uip_len.假如uip_len是0,則說明沒有包要發(fā)送。否則調(diào)用底層系統(tǒng)的發(fā)包函數(shù)將包發(fā)送到網(wǎng)絡(luò)上。uIP周期計時是用于驅(qū)動所有的uIP內(nèi)部時鐘事件。當周期計時激發(fā),每一個TCP連接都會調(diào)用uIP函數(shù)uip_periodic()。類似于uip_input()函數(shù)。uip_periodic()函數(shù)返回時,輸出的IP包要放到uip_buf中,供底層系統(tǒng)查詢uip_len的大小發(fā)送。

  uIP實現(xiàn)了TCP/IP協(xié)議集的四個基本協(xié)議:ARP地址解析協(xié)議,IP網(wǎng)際互聯(lián)協(xié)議, ICMP網(wǎng)絡(luò)控制報文協(xié)議和TCP傳輸控制協(xié)議。為了在8位16位處理器上應(yīng)用,uIP協(xié)議棧在各層協(xié)議實現(xiàn)時采用有針對性的方法,保持代碼大小和存儲器使用量最小。

  1 實現(xiàn)ARP地址解析協(xié)議時為了節(jié)省存儲器,ARP應(yīng)答包直接覆蓋ARP請求包。

  2 實現(xiàn)IP網(wǎng)絡(luò)協(xié)議時對原協(xié)議進行了極大的簡化,它沒有實現(xiàn)分片和重組。

  3 實現(xiàn)ICMP網(wǎng)絡(luò)控制報文協(xié)議時,只實現(xiàn)echo(回響)服務(wù)。uIP在生成回響報文時并不重新分配存儲器空間,而是直接修改echo請求報文來生成回響報文。將ICMP類型字段從"echo"類型改變成 "echo reply"類型,重新計算校驗和修改校驗和字段。

  4 uIP里的TCP沒有實現(xiàn)發(fā)送和接收數(shù)據(jù)的滑動窗口。每個TCP連接的狀態(tài)由uip_conn結(jié)構(gòu)保存,uip_conn結(jié)構(gòu)包括當?shù)睾瓦h端的TCP端口編號,遠程主機的IP地址,重發(fā)時間值,上一段重發(fā)的編號,和連接的段的最大尺寸等信息。一個uip_conn結(jié)構(gòu)數(shù)組用于保存所有的連接,數(shù)組的大小為支持的同時連接的最大數(shù)量。為了減少儲存器的使用量,在處理重發(fā)時uIP并不緩存發(fā)送的數(shù)據(jù)包,而是由應(yīng)用程序在需要重發(fā)時重新生成發(fā)送的數(shù)據(jù)。

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產(chǎn)品

更多