亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式T C P/I P協(xié)議棧的設(shè)計與應(yīng)用

        2017-04-17 13:12:03中國船舶重工集團第715研究所
        電子世界 2017年16期
        關(guān)鍵詞:PC機網(wǎng)絡(luò)通信數(shù)據(jù)包

        中國船舶重工集團第715研究所 許 光

        嵌入式T C P/I P協(xié)議棧的設(shè)計與應(yīng)用

        中國船舶重工集團第715研究所 許 光

        本文介紹了一種嵌入式TCP/IP協(xié)議棧的設(shè)計方法,使用ARM7處理器和網(wǎng)絡(luò)控制器ENC28J60搭建硬件平臺進行了協(xié)議棧的移植,整個設(shè)計具有一定的參考價值。

        嵌入式TCP/IP協(xié)議棧;ENC28J60;ARM7

        1 引言

        隨著計算機技術(shù)和網(wǎng)絡(luò)通信技術(shù)的發(fā)展,采用網(wǎng)絡(luò)進行數(shù)據(jù)的遠(yuǎn)程傳輸已經(jīng)成為工業(yè)領(lǐng)域的重要發(fā)展方向。與此同時,以MCU、MPU等構(gòu)成的嵌入式系統(tǒng)也已經(jīng)廣泛地應(yīng)用于工業(yè)、家電等各個領(lǐng)域,嵌入式系統(tǒng)對網(wǎng)絡(luò)應(yīng)用的要求也越來越高,因此在嵌入式系統(tǒng)中實現(xiàn)網(wǎng)絡(luò)通信已經(jīng)成為電子設(shè)計領(lǐng)域的研究熱點[1]。

        傳統(tǒng)的TCP/ IP協(xié)議在實現(xiàn)時需要占大量的存儲空間,這對于資源相對緊張的嵌入式系統(tǒng)而言顯得非常的龐大,研究并設(shè)計一個適合于嵌入式系統(tǒng)的簡易的TCP/ IP協(xié)議棧來實現(xiàn)嵌入式系統(tǒng)的網(wǎng)絡(luò)通信功能具有重要的現(xiàn)實意義。

        2 嵌入式TCP/IP協(xié)議棧的設(shè)計

        2.1 整體設(shè)計框架

        我們的應(yīng)用環(huán)境中需要使用TCP協(xié)議與設(shè)備進行通信,鑒于整個TCP/IP協(xié)議的分層體系,我們只要實現(xiàn)幾個核心功能協(xié)議即可,圍繞著這個設(shè)計思想即可進行協(xié)議棧的裁剪與壓縮,整個設(shè)計的重點一目了然:即需要實現(xiàn)ARP、IP、ICMP以及TCP,通信不涉及應(yīng)用層的協(xié)議,所以應(yīng)用層不作具體實現(xiàn),此外針對特定的硬件平臺需要提供網(wǎng)絡(luò)驅(qū)動層的接口。

        2.2 網(wǎng)絡(luò)驅(qū)動設(shè)計

        網(wǎng)絡(luò)驅(qū)動主要功能是設(shè)置網(wǎng)絡(luò)控制器ENC28J60,實現(xiàn)它發(fā)送和接收以太網(wǎng)數(shù)據(jù)包的功能。這個部分需要為上層協(xié)議提供三個功能:初始化接口ENC28J60_Init()、數(shù)據(jù)包發(fā)送功能ENC28J60_ SendPkt()以及數(shù)據(jù)包接收功能ENC28J60_RecPkt(),這也是實現(xiàn)系統(tǒng)的整個網(wǎng)絡(luò)通信的基礎(chǔ)[2]。

        2.3 ARP的設(shè)計

        ARP協(xié)議主要用于IP地址和采用不同網(wǎng)絡(luò)技術(shù)的硬件地址的解析與映射,所以該協(xié)議的核心任務(wù)就是能夠?qū)ζ渌麢C器發(fā)來的ARP請求報文進行一個應(yīng)答,以便于下一步能夠進行通信連接和傳輸。所以在我們這個協(xié)議棧中我們需要實現(xiàn)ARP的請求和應(yīng)答功能。

        2.4 IP和ICMP的設(shè)計

        IP協(xié)議的主要功能就是實現(xiàn)IP數(shù)據(jù)報的封裝與解封裝,另外一個重要的功能就是驗證IP數(shù)據(jù)報的首部是否正確,鑒于實際使用的嵌入式系統(tǒng)的數(shù)據(jù)傳輸量不是很大(一般每次通信只有幾十個字節(jié)),我們在IP協(xié)議的設(shè)計中對于IP數(shù)據(jù)包的頭部使用固定的長度(即20個字節(jié)),另外IP數(shù)據(jù)報也不進行分組傳輸。此外,為了檢測網(wǎng)絡(luò)的連通性,我們也需要實現(xiàn)ICMP協(xié)議,這樣通過PC機的PING測試即可知道設(shè)備是否連接正常。

        2.5 TCP的設(shè)計

        在TCP/IP協(xié)議體系中,TCP協(xié)議是最重要的一個協(xié)議,在實現(xiàn)上也是比較復(fù)雜的一個協(xié)議,針對我們這個特定的系統(tǒng),我們將TCP協(xié)議進行一些簡化處理:第一,對于打開的TCP端口僅僅處于被動連接狀態(tài),即當(dāng)有連接請求到來時才進行通信,空閑時只進行端口的查詢,所以硬件系統(tǒng)只作為服務(wù)器的角色進行工作;第二,去掉了“滑動窗口”和擁塞控制機制;第三,發(fā)生數(shù)據(jù)丟失時不發(fā)送錯誤報告也不進行數(shù)據(jù)的重傳。經(jīng)過簡化之后,TCP協(xié)議在實現(xiàn)上就變得相對容易,但是核心功能依然完備[3]。

        3 硬件平臺簡介

        系統(tǒng)的硬件部分主要核心處理器ARM7和網(wǎng)絡(luò)控制器ENC28J60組成。ARM7負(fù)責(zé)運行整個TCP/IP協(xié)議棧軟件,同時需要對收發(fā)的數(shù)據(jù)包進行處理;ENC28J60負(fù)責(zé)發(fā)送和接收網(wǎng)絡(luò)數(shù)據(jù)包,整個硬件平臺采用3.3V的統(tǒng)一電源進行供電,ARM7通過SPI接口與ENC28J60通信,最終實現(xiàn)設(shè)備與PC機的交互。

        4 TCP/IP協(xié)議棧在LPC2103上的移植與測試

        設(shè)計完協(xié)議棧之后我們需要將其移植到硬件平臺中,為了便于數(shù)據(jù)的管理,在ARM7中具體實現(xiàn)時,我們使用一個全局的Buf數(shù)組來存放一個完整的MAC數(shù)據(jù)幀,每次發(fā)送數(shù)據(jù)包之前,都按照數(shù)據(jù)幀的格式將這個數(shù)據(jù)幀填充完畢,然后調(diào)用ENC28J60_ SendPkt()發(fā)送出去;同樣,當(dāng)ENC28J60收到數(shù)據(jù)時,我們?nèi)匀粚⒄麄€數(shù)據(jù)幀讀入這個全局緩沖區(qū)中,然后依次進行數(shù)據(jù)的解封裝操作。最后,為了驗證程序的正確性,我們將設(shè)計的程序下載到的硬件平臺中,用網(wǎng)線將硬件平臺與計算機相連,同時借助于Wireshark進行網(wǎng)絡(luò)數(shù)據(jù)包的捕獲與分析。通過在PC機上執(zhí)行簡單的PING測試可以驗證整個系統(tǒng)的連通性,然后通過網(wǎng)絡(luò)調(diào)試助手測試TCP的通信功能[4]。

        5 結(jié)語

        本文設(shè)計了一個面向嵌入式系統(tǒng)的TCP/IP協(xié)議棧,運輸層使用TCP協(xié)議進行通信,所以數(shù)據(jù)傳輸也能得到保證,整個設(shè)計具有很好的參考價值。

        [1]張青青.LwIP協(xié)議棧的移植[J].信息系統(tǒng)工程,2015(8):139.

        [2]Microchip Technology Inc.ENC28J60數(shù)據(jù)手冊[OL].http:// www.microchip.com/.

        [3]謝希仁.計算機網(wǎng)絡(luò)(第6版)[M].北京:電子工業(yè)出版,2013,6.

        [4]W.Richard Stevens.TCP/IP詳解卷1:協(xié)議[M].北京:機械工業(yè)出版社,2000,4.

        Design and application of Embedded TCP/IP stack

        XU Guang
        (Institute of 715,China Shipbuilding Industry Corporation)

        This paper introduces a method of designing an embedded TCP/IP stack.The article also shows how to run the stack in ARM7 process with the network controller ENC28j60.The method has certain reference value.

        Embedded TCP/IP stack;ENC28J60;ARM7

        猜你喜歡
        PC機網(wǎng)絡(luò)通信數(shù)據(jù)包
        基于網(wǎng)絡(luò)通信的智能照明系統(tǒng)設(shè)計
        電子制作(2019年15期)2019-08-27 01:11:48
        SmartSniff
        網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
        基于網(wǎng)絡(luò)通信的校園智能音箱設(shè)計
        電子制作(2018年1期)2018-04-04 01:48:30
        基于PC機與單片機的多機通信技術(shù)及抗干擾方法
        談計算機網(wǎng)絡(luò)通信常見問題及技術(shù)發(fā)展
        電子制作(2017年17期)2017-12-18 06:41:06
        基于三菱FXPLC的感應(yīng)淬火機床與PC機的串行通信實現(xiàn)
        VC.NET下實現(xiàn)dsPIC單片機與PC機的通信
        電子制作(2017年23期)2017-02-02 07:16:47
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計與實現(xiàn)
        視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
        亚欧免费无码AⅤ在线观看 | 一本到亚洲av日韩av在线天堂| 久久精品中文少妇内射| 国产真实乱对白精彩久久老熟妇女| 日本免费视频| 少妇人妻综合久久中文字幕| 国产免费午夜a无码v视频| 国产a级午夜毛片| 国内精品久久久久久久久蜜桃| 精品国产一品二品三品| 亚洲一区二区三区国产| 加勒比hezyo黑人专区| 久久人人爽天天玩人人妻精品| 国产成人久久精品二区三区牛 | 久久免费国产精品| 九九在线精品视频xxx| 日本大片一区二区三区| 午夜三级a三级三点在线观看| 久久久国产一区二区三区四区小说| 无码熟妇人妻AV影音先锋| 香蕉久久夜色精品国产| 青青草在线公开免费视频| 我要看免费久久99片黄色| 亚洲精品午夜无码专区| 国产欧美日韩网站| 白白在线免费观看视频| 中国人在线观看免费的视频播放| 狠狠色狠狠色综合| 乌克兰少妇xxxx做受6| 狠狠干视频网站| 久久亚洲精品一区二区三区| 亚洲 欧美 日韩 国产综合 在线| 东北寡妇特级毛片免费| 亚洲精品成人av观看| 国产亚洲精品一区二区在线观看| 高黄暴h日本在线观看| 国产人妻久久精品二区三区| 2021久久精品国产99国产| 风韵人妻丰满熟妇老熟| 成人欧美一区二区三区1314| 亚洲VA中文字幕欧美VA丝袜|