91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

單片機網(wǎng)絡的設計與組成

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

IP協(xié)議(網(wǎng)際協(xié)議)IP是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的TCP、UDP、ICMP及IGMP數(shù)據(jù)都以IP數(shù)據(jù)報格式傳輸。就對某些協(xié)議而言,IP包最大可以為65K,可以分段傳輸,而在單片機里根本無法容納如此大的數(shù)據(jù)包,因此一般是不支持分段的。我們的設計中采用發(fā)送小數(shù)據(jù)包的方式,以避免分段。TCP協(xié)議(傳輸控制協(xié)議)TCP數(shù)據(jù)封裝在一個IP數(shù)據(jù)報中,并具有自己的TCP首部, TCP協(xié)議定義十分復雜,鑒于51單片機的片內(nèi)資源十分有限,本系統(tǒng)對TCP協(xié)議進行了一定的簡化處理。標準的TCP協(xié)議使用慢啟動的滑動窗口機制,如果只使用單個窗口,就變成了一種簡單確認的處理方法。即只需對單個數(shù)據(jù)報發(fā)送和確認,節(jié)約了系統(tǒng)資源,也使維護更加方便。 編程實現(xiàn)TCP協(xié)議的另一個難點在于TCP建立連接和終止連接的具體過程的實現(xiàn)。TCP協(xié)議是一個面向連接的協(xié)議,連接的雙方無論是哪一方向另一方發(fā)送數(shù)據(jù),都必須先通過“三次握手”過程在雙方之間建立一條連接,和通過“四次握手”終止連接。 連接建立后,TCP就可以發(fā)送數(shù)據(jù)塊,稱為數(shù)據(jù)段。當TCP發(fā)出一個段后,它啟動一個定時器,等待目的端確認收到這個報文段。如果不能及時收到一個確認,將重發(fā)這個報文段。另外,TCP將保持它首部和數(shù)據(jù)的檢驗和。系統(tǒng)主應用程序的實現(xiàn)系統(tǒng)初始化后,進入主程序循環(huán)的兩部分:一是對接收到的以太網(wǎng)數(shù)據(jù)幀進行解包,供應用程序使用,一是對發(fā)送的數(shù)據(jù)進行封裝并發(fā)送,使采用TCP/IP協(xié)議的以太網(wǎng)內(nèi)的所有計算機都能收到此數(shù)據(jù)幀。圖2是系統(tǒng)的主應用程序的流程圖。

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

圖2 系統(tǒng)的主應用程序的流程圖 單片機實現(xiàn)TCP/IP協(xié)議的難點 51單片機的程序空間、可用的內(nèi)存RAM、運算速度、指令集等原因,在UNIX或Windows上實現(xiàn)的TCP/IP協(xié)議的源代碼并不能夠直接移植到8位的單片機上。在51單片機上編寫代碼會受許多限制,特別是實現(xiàn)TCP/IP協(xié)議這樣關系復雜的程序,我們必須根據(jù)實際情況盡可能挖掘51單片機的性能。綜合來說,單片機實現(xiàn)與UNIX實現(xiàn)TCP/IP有如下區(qū)別: (1)操作系統(tǒng):Windows或UNIX都是多任務操作系統(tǒng),這使得代碼編寫簡單化,在單片機只能是單任務系統(tǒng),代碼結構為順序執(zhí)行+硬件中斷的方式,無法并發(fā)執(zhí)行。 (2)內(nèi)存分配:Windows或UNIX的內(nèi)存分配是動態(tài)的。而一般單片機只有外接的一塊32K字節(jié)的RAM,并同時被各個協(xié)議使用。一個最大的以太網(wǎng)數(shù)據(jù)包有1.5K字節(jié),分配一包的緩沖區(qū)就要1.5K字節(jié)。為此,我們分配一個256×6=1536個字節(jié)的固定的RAM來存放收到的以太網(wǎng)數(shù)據(jù)包。收到一包就處理一包。

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

(3)指針:在PC里所有程序都必須先放在RAM里才能運行,所以它的指針都指向RAM.而單片機的結構和PC的結構有很大差別,指針類型很多,各指針運算的速度也不一樣,特別是“一般指針”運算很慢,還會占用很多程序空間。UNIX實現(xiàn)TCP/IP的源代碼中,用得最多的就是指針,而在單片機里一般要求少用指針,或使用特定類型的指針。對使用UNIX的源代碼需要作很多的改動。 (4)參數(shù)傳遞:在UNIX實現(xiàn)的TCP/IP源代碼中,一般有很多的參數(shù)傳遞,而在單片機里允許傳遞的參數(shù)是有限的(因為受到內(nèi)部RAM的限制),同時參數(shù)傳遞的過程要浪費程序代碼空間,也降低單片機執(zhí)行速度。所以在單片機的實現(xiàn)里,一般不要做太多的參數(shù)傳遞,而多使用公共的全局變量來實現(xiàn)調(diào)用的過程。 (5)硬件接口:在UNIX或Windows里,對網(wǎng)卡驅(qū)動無一例外都是采用中斷方式,因為PC的處理速度快,一次中斷的處理時間也很短,不會影響系統(tǒng)內(nèi)的其它中斷。而在單片機的應用中,大部分的方案都是查詢式的。PC的NE2000的網(wǎng)卡,一般都是用16位DMA的方式,而在單片機里卻只能用8位DMA方式。這也使UNIX對網(wǎng)卡驅(qū)動的代碼不能直接移植。結語

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

審核編輯 黃昊宇

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

    關注

    6076

    文章

    45506

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    單片機供電的AC-DC轉(zhuǎn)換電路類型及其工作原理

    單片機應用廣泛,家用、農(nóng)用、工業(yè)、醫(yī)療、通迅等都少不了由它組成控制系統(tǒng)。
    的頭像 發(fā)表于 11-14 16:49 ?7844次閱讀
    <b class='flag-5'>單片機</b>供電的AC-DC轉(zhuǎn)換電路類型及其工作原理

    第1章 如何學習單片機

    ? 在錯誤的道路上日夜兼程,最終也無法成功,方法和思路絕對是最重要的。本章節(jié)講到的學習單片機的方法,都是作者學習單片機的無數(shù)經(jīng)驗和教訓總結出來的瑰寶。通過作者前面的披荊斬棘,開辟了道路,可以告訴讀者
    的頭像 發(fā)表于 10-10 10:32 ?539次閱讀

    單片機原理及應用詳解

    單片機(Microcontroller Unit, MCC) ?是一種集成計算機核心功能(CPU、存儲器、I/O接口等)的微型芯片,廣泛應用于嵌入式系統(tǒng)中。以下是其原理及應用的詳細介紹: 一、單片機
    的頭像 發(fā)表于 08-11 13:57 ?2366次閱讀

    單片機用什么封裝

    單片機封裝是將芯片內(nèi)部電路與外部引腳連接并包裹保護的結構,不僅影響單片機的安裝方式、適用場景,還與電路設計的緊湊性、散熱性能密切相關。不同封裝類型各有特點,適配從簡單電路到復雜系統(tǒng)的多樣化需求
    的頭像 發(fā)表于 08-01 13:47 ?1373次閱讀

    什么單片機比較耐用

    ? ? ? ? 在工業(yè)控制、戶外設備、醫(yī)療儀器等場景中,單片機的耐用性直接決定了設備的穩(wěn)定運行與維護成本。耐用的單片機通常具備寬溫工作范圍、強抗干擾能力、穩(wěn)定的電源適應性和長壽命的硬件設計。深圳市安
    的頭像 發(fā)表于 07-31 13:48 ?793次閱讀

    單片機是由什么組成

    單片機作為一種集成化的微型計算機,其核心優(yōu)勢在于將多個功能模塊緊湊地集成在一塊芯片上,從而實現(xiàn)數(shù)據(jù)處理、外設控制等功能。了解單片機組成部分,能幫助我們更好地理解其工作原理和應用邏輯。 1.
    的頭像 發(fā)表于 07-29 11:03 ?1202次閱讀

    怎么測單片機系統(tǒng)頻率

    單片機系統(tǒng)頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統(tǒng)頻率對單片機應用開發(fā)、程序調(diào)試和性能優(yōu)化具有重要意義。測量
    的頭像 發(fā)表于 07-25 11:39 ?834次閱讀

    單片機怎么驅(qū)動電機?

    在各類自動化設備和智能裝置中,電機是重要的執(zhí)行部件,而單片機作為控制核心,需要通過特定的方式驅(qū)動電機運轉(zhuǎn)。單片機驅(qū)動電機并非直接連接即可,而是要根據(jù)電機類型和功率,搭配合適的驅(qū)動電路,才能實現(xiàn)穩(wěn)定
    的頭像 發(fā)表于 07-25 09:31 ?963次閱讀

    單片機怎么燒程序

    單片機燒程序是將編寫好的程序代碼寫入單片機內(nèi)部存儲單元,讓單片機按照預設邏輯工作的過程,是單片機應用開發(fā)中不可或缺的環(huán)節(jié)。無論是簡單的燈光控制程序,還是復雜的工業(yè)控制算法,都需要通過燒
    的頭像 發(fā)表于 07-23 11:47 ?1397次閱讀

    低功耗單片機各型號的對比及選型參考

    不同品牌、不同系列的低功耗單片機在功耗控制、性能表現(xiàn)、外設配置等方面各有特點,通過低功耗單片機各型號的對比,能幫助開發(fā)者更精準地匹配應用需求。本文將圍繞主流低功耗單片機型號展開對比,并介紹在
    的頭像 發(fā)表于 07-22 18:25 ?1491次閱讀

    給予單片機的溫度控制系統(tǒng)設計

    、執(zhí)行機構、顯示模塊和電源模塊組成。單片機是系統(tǒng)的核心,負責處理溫度信息并發(fā)出控制指令;溫度傳感器用于實時采集環(huán)境或物體的溫度數(shù)據(jù),將物理量轉(zhuǎn)化為電信號傳輸給單片機;執(zhí)行機構如加熱片、制冷器等,根據(jù)
    的頭像 發(fā)表于 07-16 10:57 ?688次閱讀

    KF32A136系列單片機產(chǎn)品介紹

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

    KF32A156系列單片機產(chǎn)品介紹

    KF32A156 系列單片機是基于 KF32 內(nèi)核架構開發(fā)的單片機。KF
    的頭像 發(fā)表于 06-26 14:43 ?1748次閱讀
    KF32A156系列<b class='flag-5'>單片機</b>產(chǎn)品介紹

    單片機和伺服有什么區(qū)別

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

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

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