《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于單片機的嵌入式系統網絡接入方案
基于單片機的嵌入式系統網絡接入方案
來源:中電網
摘要: 在網絡技術應用日益廣泛的今天,網絡傳輸是最經濟有效的數據傳輸方式。如何利用廉價的51單片機來控制網卡芯片進行數據傳輸,加載TCP/IP協議連接到互聯網,實現網絡通信成了眾多設計者的目標。但由于指令及資源的限制,實施過程會有許多困難。我們在設計方案中舍棄了耗費資源的高級協議,采用發送小數據包的方式以避免分段,來簡化TCP協議和UDP協議,實現互聯接入。
Abstract:
Key words :

引言

在網絡技術應用日益廣泛的今天,網絡傳輸是最經濟有效的數據傳輸方式。如何利用廉價的51單片機來控制網卡芯片進行數據傳輸,加載TCP/IP協議連接到互聯網,實現網絡通信成了眾多設計者的目標。但由于指令及資源的限制,實施過程會有許多困難。我們在設計方案中舍棄了耗費資源的高級協議,采用發送小數據包的方式以避免分段,來簡化TCP協議和UDP協議,實現互聯接入。

硬件設計與實現

系統的硬件結構框圖如圖1所示。本系統的微控制器是Winbond公司的78E58,網絡接口芯片是與NE2000系列兼容的Realtek公司的RTL8019AS。RTL8019AS內置了10BASE-T收發器,外接一個隔離LPF濾波器,經RJ-45接口輸出。外部RAM是62256,24C02是I2C總線的 EEPROM。

嵌入式協議轉換硬件框圖

圖1 嵌入式協議轉換硬件框圖

系統的軟件設計與實現

為適應上網的需求,系統軟件設計主要包括兩部分內容:一是要執行對RTL8019AS等的控制功能,二是要執行與連接Internet相關的功能,實現TCP/IP協議。本文著重介紹第二部分,主程序采用C51語言編寫。

RTL8019AS初始化

要將嵌入式系統接入以太網,首先要設置RTL8019AS的工作方式和工作狀態,分配收發數據的緩沖區,通過對地址及數據口的讀寫來完成以太網幀的接收與發送。然后設置RTL8019AS的工作參數,亦即設置內部控制寄存器。對RTL8019AS的工作參數進行設置完畢后,進入正常工作狀態,接下來就讀寫RTL8019AS的RAM以完成數據包的接收和發送。由于篇幅有限,這里就不再詳述。

TCP/IP模型

TCP/IP協議是一套把Internet上的各種系統互連起來的協議族,保證Internet上數據的準確快速傳輸。TCP/IP通常采用一種簡化的四層模型:應用層、傳輸層、網絡層、鏈路層。

本系統中,應用層傳遞來自以太網和數據終端的數據,并對數據報作打包拆包處理。傳輸層采用傳輸控制協議TCP或用戶數據協議UDP。網絡層實現IP協議,還要實現能報告數據傳輸差錯等情況的ICMP協議。鏈路層部分由RTL8019AS完成,鏈路層由控制同一物理網絡上的不同機器間數據傳送的底層協議組成。

在單片機里只實現與需要有關的部分,而不使用的協議則一概不支持。單片機應用的TCP/IP協議大多是為了完成數據采集和數據傳輸,而不需要網頁瀏覽、文件傳輸這些功能。

ARP協議(地址解析協議)

以太網是TCP/IP協議主要采用的局域網技術,是系統接入Internet的基礎。ARP本質是完成網絡地址到以太網物理地址的動態映射。UNIX系統的ARP協議支持以太網、令牌環等網絡,但我們的單片機系統里只支持以太網。

IP協議(網際協議)

IP是TCP/IP協議族中最為核心的協議。所有的TCP、UDP、ICMP及IGMP數據都以IP數據報格式傳輸。就對某些協議而言,IP包最大可以為65K,可以分段傳輸,而在單片機里根本無法容納如此大的數據包,因此一般是不支持分段的。我們的設計中采用發送小數據包的方式,以避免分段。

TCP協議(傳輸控制協議)

TCP數據封裝在一個IP數據報中,并具有自己的TCP首部, TCP協議定義十分復雜,鑒于51單片機的片內資源十分有限,本系統對TCP協議進行了一定的簡化處理。標準的TCP協議使用慢啟動的滑動窗口機制,如果只使用單個窗口,就變成了一種簡單確認的處理方法。即只需對單個數據報發送和確認,節約了系統資源,也使維護更加方便。

編程實現TCP協議的另一個難點在于TCP建立連接和終止連接的具體過程的實現。TCP協議是一個面向連接的協議,連接的雙方無論是哪一方向另一方發送數據,都必須先通過“三次握手”過程在雙方之間建立一條連接,和通過“四次握手”終止連接。

連接建立后,TCP就可以發送數據塊,稱為數據段。當TCP發出一個段后,它啟動一個定時器,等待目的端確認收到這個報文段。如果不能及時收到一個確認,將重發這個報文段。另外,TCP將保持它首部和數據的檢驗和。

系統主應用程序的實現

系統初始化后,進入主程序循環的兩部分:一是對接收到的以太網數據幀進行解包,供應用程序使用,一是對發送的數據進行封裝并發送,使采用TCP/IP協議的以太網內的所有計算機都能收到此數據幀。圖2是系統的主應用程序的流程圖。

系統的主應用程序的流程圖

圖3 系統的主應用程序的流程圖

單片機實現TCP/IP協議的難點

51單片機的程序空間、可用的內存RAM、運算速度、指令集等原因,在UNIX或Windows上實現的TCP/IP協議的源代碼并不能夠直接移植到8位的單片機上。在51單片機上編寫代碼會受許多限制,特別是實現TCP/IP協議這樣關系復雜的程序,我們必須根據實際情況盡可能挖掘51單片機的性能。綜合來說,單片機實現與UNIX實現TCP/IP有如下區別:

(1)操作系統:Windows或UNIX都是多任務操作系統,這使得代碼編寫簡單化,在單片機只能是單任務系統,代碼結構為順序執行+硬件中斷的方式,無法并發執行。

(2)內存分配:Windows或UNIX的內存分配是動態的。而一般單片機只有外接的一塊32K字節的RAM,并同時被各個協議使用。一個最大的以太網數據包有1.5K字節,分配一包的緩沖區就要1.5K字節。為此,我們分配一個256×6=1536個字節的固定的RAM來存放收到的以太網數據包。收到一包就處理一包。

(3)指針:在PC里所有程序都必須先放在RAM里才能運行,所以它的指針都指向RAM。而單片機的結構和PC的結構有很大差別,指針類型很多,各指針運算的速度也不一樣,特別是“一般指針”運算很慢,還會占用很多程序空間。UNIX實現TCP/IP的源代碼中,用得最多的就是指針,而在單片機里一般要求少用指針,或使用特定類型的指針。對使用UNIX的源代碼需要作很多的改動。

(4)參數傳遞:在UNIX實現的TCP/IP源代碼中,一般有很多的參數傳遞,而在單片機里允許傳遞的參數是有限的(因為受到內部RAM的限制),同時參數傳遞的過程要浪費程序代碼空間,也降低單片機執行速度。所以在單片機的實現里,一般不要做太多的參數傳遞,而多使用公共的全局變量來實現調用的過程。

(5)硬件接口:在UNIX或Windows里,對網卡驅動無一例外都是采用中斷方式,因為PC的處理速度快,一次中斷的處理時間也很短,不會影響系統內的其它中斷。而在單片機的應用中,大部分的方案都是查詢式的。PC的NE2000的網卡,一般都是用16位DMA的方式,而在單片機里卻只能用8位DMA方式。這也使UNIX對網卡驅動的代碼不能直接移植。

結語

本文設計的嵌入式網絡接入方案,采用廉價的8位51單片機實現了簡化TCP協議和UDP協議,并支持主動和被動連接、跨越網關,實現互聯網接入,在被控設備與上位控制機之間提供了一條透明的傳輸通道,用戶不需對原有串口設備或其他數字設備做任何修改,就可享受到網絡的好處。目前,本文的系統已被成功使用在網絡化的數據采集器中。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          99精品视频一区二区三区| 国产伦精品一区二区三区视频黑人| 在线观看欧美黄色| 一区二区欧美在线观看| 亚洲精品日韩久久| 亚洲成色777777女色窝| 国产精品久久久久久超碰| 欧美精品一区三区在线观看| 国产精品丝袜xxxxxxx| 欧美日本国产| 欧美精品免费播放| 欧美精品一区二区三区久久久竹菊| 国产色婷婷国产综合在线理论片a| 国产精品九色蝌蚪自拍| 日韩视频中午一区| 久久成人在线| 国产精品久久久久久久电影| 国产精品久久国产三级国电话系列| 亚洲国产精品综合| 一本色道**综合亚洲精品蜜桃冫| 亚洲少妇在线| 亚洲专区一区| 在线免费观看日韩欧美| 亚洲第一精品福利| 亚洲视频国产视频| 欧美视频在线观看视频极品| 在线一区观看| 国产精品久久一卡二卡| 亚洲色图制服丝袜| 欧美高清你懂得| 亚洲一区二区三区涩| 欧美日韩大陆在线| 午夜在线不卡| 国产精品99免视看9| 国产美女扒开尿口久久久| 久久久青草青青国产亚洲免观| 国产精品美女www爽爽爽视频| 国产精品入口| 亚洲一区二区在线免费观看| 国产视频欧美| 久久九九国产| 欧美午夜性色大片在线观看| 欧美激情一区二区三区在线视频观看| 国产日韩1区| 国产精品私拍pans大尺度在线| 欧美高清视频一区二区三区在线观看| 国产亚洲a∨片在线观看| 久久成人免费视频| 欧美日韩综合久久| 国产日本精品| 欧美特黄视频| 国产精品多人| 欧美激情一区二区三区在线视频| 亚洲三级免费| 国产日韩欧美制服另类| 国产精品青草综合久久久久99| 久热综合在线亚洲精品| 激情视频一区二区三区| 欧美1区2区3区| 国产区二精品视| 欧美午夜久久久| 亚洲美女色禁图| 一区二区免费在线观看| 欧美日韩三级| 99亚洲精品| 久久久国产一区二区三区| 国外成人在线| 91久久精品一区二区别| 亚洲三级影片| 亚洲视频一区在线| 亚洲精品免费在线播放| 国产主播一区二区三区四区| 亚洲精品看片| 久久综合婷婷| 欧美精品激情在线观看| 久久精品99国产精品酒店日本| 最新国产精品拍自在线播放| 久久久久亚洲综合| 久久久中精品2020中文| 欧美视频日韩视频在线观看| 黄色精品免费| 久久一区二区三区四区| 国内成人自拍视频| 国内精品模特av私拍在线观看| 久久色在线播放| 欧美一区二区三区四区视频| 亚洲一区欧美| 亚洲一区综合| 国产资源精品在线观看| 在线观看国产日韩| 先锋影音国产精品| 欧美三日本三级少妇三99| 国产日韩欧美一二三区| 欧美私人网站| 国产亚洲欧美日韩日本| 99riav久久精品riav| 亚洲国产激情| 欧美视频日韩视频在线观看| 在线精品一区二区| 欧美另类综合| 欧美精品午夜视频| 久久女同互慰一区二区三区| 欧美一区中文字幕| 久久综合伊人77777蜜臀| 夜夜爽www精品| 亚洲国产日韩欧美综合久久| 99综合电影在线视频| 国产精品播放| 亚洲精品中文字幕有码专区| 狠色狠色综合久久| 国产精品一区二区久久国产| 亚洲永久字幕| 欧美日韩国产影院| 久久综合网hezyo| 国产一本一道久久香蕉| 模特精品裸拍一区| 亚洲精品美女久久7777777| 亚洲欧美经典视频| 老司机67194精品线观看| 午夜精品视频一区| 欧美午夜女人视频在线| 国产视频自拍一区| 欧美日韩国产大片| 亚洲免费av网站| 国产精品手机在线| 欧美精品 日韩| 欧美在线免费一级片| 老鸭窝亚洲一区二区三区| 欧美成人在线免费视频| 欧美一区二区三区日韩| 国产视频久久网| **网站欧美大片在线观看| 在线国产精品一区| 午夜精品视频在线观看一区二区| 这里是久久伊人| 欧美sm视频| 99香蕉国产精品偷在线观看| 国产一级揄自揄精品视频| 欧美天堂亚洲电影院在线观看| 亚洲欧美在线免费观看| 亚洲天堂免费观看| 亚洲欧美经典视频| 亚洲深夜福利网站| 亚洲欧美精品伊人久久| 欧美精品久久一区| 日韩午夜在线观看视频| 亚洲综合激情| 有码中文亚洲精品| 国产精品大片wwwwww| 一本大道久久精品懂色aⅴ| 一区二区日韩免费看| 久久久久久久999精品视频| 欧美高清一区二区| 狠狠综合久久av一区二区小说| 在线免费精品视频| 一本色道久久综合狠狠躁篇怎么玩| 久久久久久夜| 久久久亚洲高清| 国产一区二区电影在线观看| 欧美成人免费观看| 亚洲视频1区| 欧美成人网在线| 久久久999精品免费| 在线播放中文一区| 国产亚洲va综合人人澡精品| 麻豆免费精品视频| 亚洲免费视频中文字幕| 欧美在线看片a免费观看| 亚洲午夜视频在线观看| 亚洲日本精品国产第一区| 欧美一区二区在线免费观看| 国产精品一区一区| 伊人伊人伊人久久| 欧美日韩综合精品| 久久一二三国产| 狠狠网亚洲精品| 国产精品视频xxxx| 国产亚洲人成网站在线观看| 亚洲精品视频在线观看网站| 欧美日韩精品在线视频| 欧美国产第一页| 欧美大片免费观看| 久久国产日韩欧美| 牛牛国产精品| 一区二区三区 在线观看视| 欧美日韩国产精品一区| 欧美日韩精品久久久| 欧美亚洲视频一区二区| 久久久综合精品| 亚洲一区精品视频| 久久久久久一区二区三区| 欧美福利在线观看| 亚洲乱码国产乱码精品精| 久久精品国产亚洲高清剧情介绍| 美女图片一区二区| 国产精品亚洲第一区在线暖暖韩国| 亚洲肉体裸体xxxx137| 狠狠色丁香久久婷婷综合_中| 在线观看精品视频| 欧美三区视频| 美女爽到呻吟久久久久| 曰韩精品一区二区| 国产精品视频免费观看www| 欧美日韩精品免费观看视频完整| 国产综合久久久久久鬼色| 国产视频欧美视频| 1204国产成人精品视频| 午夜免费电影一区在线观看| 国产精品久久久久久久久久三级| 欧美日韩视频一区二区三区| 狠狠色狠狠色综合| 欧美激情一二三区| 国产亚洲精品aa| 欧美日韩1234| 久久免费黄色| 国产精品美女www爽爽爽| 亚洲国产日韩精品| 亚洲一区一卡| 欧美精品一区二区三区很污很色的| 国产精品毛片在线看| 欧美mv日韩mv亚洲| 久久久噜噜噜| 亚洲免费在线视频一区 二区| 欧美日韩国产免费观看| 欧美不卡在线| 一区二区视频免费完整版观看| 久久久久久久网| 亚洲欧美日韩综合| 亚洲午夜激情网页| 久久久久青草大香线综合精品| 国产一区二区三区精品久久久| 另类激情亚洲| 欧美国产日韩在线观看| 国产精品中文字幕在线观看| 国产曰批免费观看久久久| 亚洲国产精品嫩草影院| 亚洲日本va午夜在线影院| 亚洲午夜电影| 欧美日韩一区二区三区在线看| 欧美成人一二三| 国产一区二区精品在线观看| 亚洲欧美一区二区三区久久| 久久精品国产清高在天天线| 日韩天天综合| 欧美日韩伦理在线免费| 亚洲国产欧美在线| 欧美午夜精品| 欲色影视综合吧| 亚洲精品日韩激情在线电影| 国产精品尤物福利片在线观看| 亚洲最新合集| 国产老肥熟一区二区三区| 精品91久久久久| 久久国产加勒比精品无码| 亚洲制服丝袜在线| 欧美午夜不卡影院在线观看完整版免费| 欧美美女福利视频| 欧美一区2区三区4区公司二百| 在线免费观看日本欧美| 亚洲高清色综合| 国产精品对白刺激久久久| 蜜臀久久99精品久久久画质超高清| 久久激情久久| 日韩视频在线观看一区二区| 宅男66日本亚洲欧美视频| 亚洲国产欧美一区二区三区丁香婷| 中文网丁香综合网| 99精品视频一区二区三区| 在线国产精品一区| 一区精品在线| 欧美另类变人与禽xxxxx| 久久www成人_看片免费不卡| 国产精品久久久久久久久搜平片| 亚洲一区二区三区成人在线视频精品| 亚洲美女在线一区| 亚洲欧美一区二区三区在线| 久久黄色小说| 99在线精品免费视频九九视| 亚洲欧美成aⅴ人在线观看| 这里只有精品丝袜| 欧美va天堂在线| 亚洲小视频在线观看| 国产美女精品一区二区三区| 国产噜噜噜噜噜久久久久久久久| 亚洲电影专区| 久久亚洲电影| 欧美日韩免费高清一区色橹橹| 国产精品久久久久久户外露出| 亚洲精美视频| 亚洲精品美女久久7777777| 欧美大色视频| 亚洲成人直播| 国产精品99久久久久久久女警| 欧美激情亚洲视频| 国产精品久久久久久亚洲毛片| 亚洲二区精品| 亚洲女人小视频在线观看| 免费成人黄色| 国产精品免费看片| 欧美成人亚洲成人日韩成人| 欧美大片va欧美在线播放| 亚洲国产婷婷香蕉久久久久久99| 亚洲国产精品传媒在线观看| 久久岛国电影| 红桃视频成人| 伊人夜夜躁av伊人久久| 亚洲愉拍自拍另类高清精品| 国产精品免费一区豆花| 午夜精品一区二区三区在线视| 亚洲网站啪啪| 欧美一级片一区| 亚洲免费伊人电影在线观看av| 亚洲人体一区| 亚洲美洲欧洲综合国产一区| 在线电影一区| 亚洲国产精品va在线观看黑人| 亚洲欧美色婷婷| 欧美日韩精品免费在线观看视频| 欧美极品欧美精品欧美视频| 91久久久久久国产精品| 欧美不卡激情三级在线观看| 国产一区二区日韩精品| 国产精品无码专区在线观看| 欧美日韩一区二区高清| 国产精品久久久久久久久| 亚洲人体大胆视频| 一区二区三区日韩| 国产精品日韩在线播放|