女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機網絡的設計與組成

電阻率 ? 來源:電氣工程及其自動化學習 ? 作者:電氣工程及其自動 ? 2022-11-09 13:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

d1cb8436-5fef-11ed-b468-dac502259ad0.jpg

圖1 嵌入式協議轉換硬件框圖系統的軟件設計與實現為適應上網的需求,系統軟件設計主要包括兩部分內容:一是要執行對RTL8019AS等的控制功能,二是要執行與連接Internet相關的功能,實現TCP/IP協議。本文著重介紹第二部分,主程序采用C51語言編寫。RTL8019AS初始化要將嵌入式系統接入以太網,首先要設置RTL8019AS的工作方式和工作狀態,分配收發數據的緩沖區,通過對地址及數據口的讀寫來完成以太網幀的接收與發送。然后設置RTL8019AS的工作參數,亦即設置內部控制寄存器。對RTL8019AS的工作參數進行設置完畢后,進入正常工作狀態,接下來就讀寫RTL8019AS的RAM以完成數據包的接收和發送。由于篇幅有限,這里就不再詳述。

d1dcd740-5fef-11ed-b468-dac502259ad0.jpg

TCP/IP模型TCP/IP協議是一套把Internet上的各種系統互連起來的協議族,保證Internet上數據的準確快速傳輸。TCP/IP通常采用一種簡化的四層模型:應用層、傳輸層、網絡層、鏈路層。 本系統中,應用層傳遞來自以太網和數據終端的數據,并對數據報作打包拆包處理。傳輸層采用傳輸控制協議TCP或用戶數據協議UDP.網絡層實現IP協議,還要實現能報告數據傳輸差錯等情況的ICMP協議。鏈路層部分由RTL8019AS完成,鏈路層由控制同一物理網絡上的不同機器間數據傳送的底層協議組成。 在單片機里只實現與需要有關的部分,而不使用的協議則一概不支持。單片機應用的TCP/IP協議大多是為了完成數據采集和數據傳輸,而不需要網頁瀏覽、文件傳輸這些功能。 ARP協議(地址解析協議) 以太網是TCP/IP協議主要采用的局域網技術,是系統接入Internet的基礎。ARP本質是完成網絡地址到以太網物理地址的動態映射。UNIX系統的ARP協議支持以太網、令牌環等網絡,但我們的單片機系統里只支持以太網。

d2028c6a-5fef-11ed-b468-dac502259ad0.jpg

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是系統的主應用程序的流程圖。

d22f9b7e-5fef-11ed-b468-dac502259ad0.jpg

圖2 系統的主應用程序的流程圖 單片機實現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來存放收到的以太網數據包。收到一包就處理一包。

d253efe2-5fef-11ed-b468-dac502259ad0.jpg

(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協議,并支持主動和被動連接、跨越網關,實現互聯網接入,在被控設備與上位控制機之間提供了一條透明的傳輸通道,用戶不需對原有串口設備或其他數字設備做任何修改,就可享受到網絡的好處。目前,本文的系統已被成功使用在網絡化的數據采集器中。

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6067

    文章

    44982

    瀏覽量

    650291
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    KF32A136系列單片機產品介紹

    F32A136 系列單片機是基于 KF32 內核架構開發的單片機
    的頭像 發表于 06-27 11:42 ?517次閱讀
    KF32A136系列<b class='flag-5'>單片機</b>產品介紹

    單片機和伺服有什么區別

    單片機和伺服的區別 單片機(Microcontroller)和伺服(Servo System)是兩種完全不同的技術概念,分別屬于 控制系統硬件 和 運動控制執行系統 。以下是它們的詳細對比和區別
    的頭像 發表于 05-26 09:18 ?209次閱讀

    單片機科普總結,建議收藏!

    單片機(MicrocontrollerUnit,MCU)作為嵌入式系統的核心之一,在現代電子產品中無處不在。從智能家居、汽車電子,到工業控制、醫療設備,單片機支撐著無數智能化應用的發展。對于初學者
    的頭像 發表于 04-07 11:58 ?2006次閱讀
    <b class='flag-5'>單片機</b>科普總結,建議收藏!

    STM32單片機最小系統電路設計

    單片機最小系統是指用最少的電路組成單片機可以工作的系統,通常最小系統包含:電源電路、時鐘電路、復位電路、調試/下載電路,對于STM32還需要啟動選擇電路。總之,剛開始如果不太懂電路的話,就抄別人的電路,然后自己拼湊。
    的頭像 發表于 03-12 14:09 ?1.2w次閱讀
    STM32<b class='flag-5'>單片機</b>最小系統電路設計

    51單片機pwm和spwm

    51單片機pwm
    發表于 01-08 15:54 ?3次下載

    單片機Debug工具性能對比 單片機調試常用命令

    單片機(Microcontroller Unit, MCU)調試是嵌入式開發中的一個重要環節,它幫助開發者發現和修復代碼中的錯誤,優化程序性能。不同的單片機和開發環境可能使用不同的調試工具和命令
    的頭像 發表于 12-19 09:56 ?1409次閱讀

    如何優化單片機項目的功耗

    在現代電子設計中,功耗優化已成為一個不可忽視的重要議題。對于單片機(MCU)項目而言,功耗不僅關系到產品的能效比,還直接影響到電池壽命和熱管理。 硬件層面的功耗優化 1. 選擇合適的單片機 選擇一個
    的頭像 發表于 11-01 14:16 ?1269次閱讀

    單片機編程語言有哪些選擇

    單片機(Microcontroller Unit,MCU)編程是指為單片機編寫程序的過程,這些程序控制單片機的行為和功能。單片機廣泛應用于嵌入式系統,如家用電器、汽車電子、工業控制等領
    的頭像 發表于 11-01 14:13 ?2413次閱讀

    單片機怎么寫入程序

    單片機(Microcontroller Unit,MCU)是一種集成電路芯片,它將計算機的CPU、存儲器、輸入/輸出接口等功能集成在一個芯片上。單片機廣泛應用于嵌入式系統和物聯網設備中。編寫單片機
    的頭像 發表于 10-21 11:21 ?2404次閱讀

    單片機的中斷機制

    單片機的中斷機制是一種重要的處理方式,它允許單片機在執行主程序的過程中,能夠暫停當前任務,轉而處理外部或內部緊急事件。這種機制極大地提高了系統的響應速度和處理能力,使得單片機在各種應用領域中得到廣泛應用。以下是對
    的頭像 發表于 10-17 18:03 ?1966次閱讀

    單片機燒錄程序用什么軟件

    單片機燒錄程序是單片機開發過程中的一個重要環節,涉及到將編寫好的程序代碼通過燒錄器寫入單片機的ROM中,以實現對單片機的控制。 燒錄器的類型 燒錄器是用于將程序代碼寫入
    的頭像 發表于 09-02 10:05 ?3418次閱讀

    單片機燒錄程序的基本步驟是什么

    單片機燒錄程序是單片機開發過程中非常重要的一步,它涉及到將編寫好的程序代碼通過一定的方式傳輸到單片機內部的存儲器中,使單片機能夠按照預定的邏輯執行任務。 一、硬件準備
    的頭像 發表于 09-02 09:47 ?2746次閱讀

    單片機引腳懸空是什么電平

    單片機引腳懸空是指單片機的I/O引腳在沒有連接任何外部電路的情況下,引腳的電平狀態。懸空引腳的電平狀態取決于單片機的內部結構和外部環境因素。 單片機引腳懸空的電平狀態
    的頭像 發表于 08-28 09:51 ?4824次閱讀

    一文讀懂什么單片機組成結構與應用

    歡迎來到單片機的世界,這是一種微小(但功能強大)的設備,改變了嵌入式系統的面貌。在本文中,您將了解單片機的一些基本知識、單片機的結構以及微處理器與單片機之間的一些區別。在深入
    的頭像 發表于 08-09 11:49 ?2400次閱讀
    一文讀懂什么<b class='flag-5'>單片機</b>:<b class='flag-5'>組成</b>結構與應用

    單片機復位電路電阻電容如何取值

    單片機系統中,復位電路是非常重要的組成部分,它確保了單片機在啟動時能夠可靠地進入初始狀態,以及在異常情況下能夠進行復位操作。復位電路通常由一個上拉電阻、一個下拉電阻和一個電容組成,這
    的頭像 發表于 08-06 10:28 ?2301次閱讀