新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于SF0020芯片的嵌入式TCP/IP協議族設計與實現

        基于SF0020芯片的嵌入式TCP/IP協議族設計與實現

        作者: 時間:2009-08-11 來源:網絡 收藏

        1、 引言
        /起源于60年代末美國政府資助的一個分組交換網絡研究項目,到現今已發展成為計算機之間最常應用的組網形式。盡管標準的/協議族在數據傳輸的可靠性與數據流量的控制上作的很好,但是8位微控制器性能的限制下,標準的/協議族的實現占用大量系統資源是實際應用所不允許的。因此要在不改變TCP/IP協議族標準的前提下對其進行裁剪,使其實時性提高同時保證可靠性以滿足嵌入式系統的要求。
        是NEC公司推出的兼容80C51的8位微控制器芯片。根據系統在網絡監控系統控制終端應用的需要,外部接25MHz晶體,內部倍頻至50MHz。該芯片內嵌有10M/100Mbps的MAC模塊并提供MII界面,可與外部的Ethernet PHY芯片方便連接。芯片有256字節內部數據存儲器,外部可擴充至512K字節。具備的DMA通道實現了在RAM中和在MAC與RAM之間進行快速數據傳輸的功能;支持校驗和模塊,在實現TCP/IP時可以節省控制器運算開銷。指令周期為4個時鐘周期(標準80C51為12時鐘周期/指令周期)。其性能滿足實現嵌入式TCP/IP協議族的基本要求。
        2、 協議族總體框架設計與裁剪策略
        為了實現在局域網環境中作為客戶端控制前端監控設備(硬盤錄像機、編碼器、解碼、視頻服務器等)的應用要求,必須在有限的硬件資源的條件下保證數據傳輸的可靠性和實時性。因此數據鏈路層采用目前應用最為廣泛的以太網協議;上層利用TCP/IP的實現采用在運輸層直接采用可靠的TCP協議,然后對其進行適當裁剪的方法。這是因為考慮到通用性、兼容性和通信的可靠程度,而沒有使用在應用層加入控制策略運輸層使用簡單UDP協議的方案。本地數據的流動要實現向應用程序提供可靠的數據,與底層以太網驅動程序交互數據報功能。
        協議族系統結構框架如下圖1所示,其中虛線部分是本文所要完成的,包括socket子層、運輸層的TCP協議、網絡層的IP和ICMP協議、ARP協議和以太網子層。

        本文引用地址:http://www.104case.com/article/195759.htm



        圖1 協議族系統框架
        2.1 接口子層實現
        以太網子層提供了與以太網驅動程序的接口,其實現驅動程序存儲空間和協議空間之間數據搬移的功能;以及數據報流入的分路和流出的封裝處理。
        Socket(插口)子層向上層提供了創建一個socket描述符,將本地的IP地址與端口號綁定到一個socket上,TCP連接的建立、斷開,數據的接收與發送的功能。
        2.2 網絡層實現
        網絡層實現包括IP協議(Internet Protocol網際協議)和基于IP協議的ICMP協議(Internet Control Messages Protocol控制報文協議)。圖1中該層下部的ARP(Address Resolution Protocol 地址解析協議)為IP提供動態地址解析服務。
        IP是TCP/IP協議族中最為核心的協議。所有的網絡層和運輸層數據都以IP數據報格式傳輸。為了減小TCP/IP協議族的負擔,接收時首先要檢查數據報的正確性,其次還要過濾目的地址不是本機的報文;此外如果收到被IP分片的數據報立即丟棄。最后判斷協議交給TCP或ICMP協議處理。因為禁止IP層分片可以提高通信的效率和可靠性,根據以太網最大傳輸單元(MTU)的限制,socket子層控制了用戶每次傳輸分組的最大字節數。同樣服務端也對IP分片加以限制使IP無需把有限的系統資源消耗在IP報文重裝上,這正是丟棄被分片的IP數據報的原因。
        ICMP提供主機或路由器報告差錯或提供查詢信息的服務。ICMP報文可以分成兩類:差錯和查詢。查詢報文是用一對請求和回答定義的。ICMP差錯報文通常包含了引起錯誤的IP數據報的第一個分片的IP首部(和選項),加上該分片數據部分的前8個字節。由于運輸層僅僅使用TCP協議,ICMP也進行了裁剪。協議支持ping命令請求回顯應答,用于檢查協議族的運行狀況;差錯控制全部交給運輸層TCP協議處理。

        tcp/ip相關文章:tcp/ip是什么



        上一頁 1 2 3 下一頁

        關鍵詞: 0020 TCP SF IP

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 麻阳| 云浮市| 肇东市| 个旧市| 喀喇| 镶黄旗| 内黄县| 呼图壁县| 永和县| 丹阳市| 胶南市| 九龙坡区| 乐业县| 无棣县| 巩义市| 锦州市| 苏尼特右旗| 博野县| 昭苏县| 务川| 黄石市| 灌云县| 堆龙德庆县| 大渡口区| 青冈县| 贵港市| 佛学| 寿光市| 丹凤县| 龙江县| 来凤县| 宜君县| 乡宁县| 博兴县| 永川市| 普定县| 黄龙县| 师宗县| 海原县| 保山市| 开远市|