<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用51單片機實現(xiàn)串口-以太網(wǎng)轉(zhuǎn)換器

          用51單片機實現(xiàn)串口-以太網(wǎng)轉(zhuǎn)換器

          作者: 時間:2011-12-09 來源:網(wǎng)絡(luò) 收藏
          或微控制器(MCU)(也稱為嵌入式系統(tǒng))已經(jīng)在各個領(lǐng)域得到了廣泛的應(yīng)用。目前絕大多數(shù)系統(tǒng)都是以MCU為核心,與一些監(jiān)測、伺服、指示設(shè)備配合實現(xiàn)一定的功能。以太網(wǎng)是當(dāng)今最受歡迎的局域網(wǎng)之一,現(xiàn)已成為社會重要的基礎(chǔ)信息設(shè)施之一, 是信息流通的重要渠道,如果嵌入式系統(tǒng)能夠連接到Internet上面,則可以方便、低廉地將信息傳送到幾乎世界上的任何一個地方。

          將嵌入式系統(tǒng)與Internet相連的主要困難在于:Internet上面的各種通信協(xié)議對于存儲器、運算速度等的要求比較高,而嵌入式系統(tǒng)中除部分32位處理器以外,大量存在的是8位和16位MCU,支持TCP/IP等Internet協(xié)議將占用大量系統(tǒng)資源,從而影響本來的功能或根本不可能實現(xiàn)。

          本文根據(jù)所做項目需要,用8031和RTL8019AS網(wǎng)卡實現(xiàn)了RS485串口設(shè)備數(shù)據(jù)文件通過以太網(wǎng)傳輸?shù)竭h(yuǎn)端計算機的功能。

          1 串行通訊

          串行通訊在通訊領(lǐng)域被廣泛應(yīng)用。標(biāo)準(zhǔn)的RS232接口已成為計算機、計算機外設(shè)、交換機和許多通訊設(shè)備的標(biāo)準(zhǔn)接口。在我國工業(yè)總線的應(yīng)用中,RS-485、RS-422使用最為普遍。

          在串行接口連接中,按連接方式可分為面向連接和無連接。無連接原理比較簡單,通訊雙方無握手過程。一方如有數(shù)據(jù)需要發(fā)送,則立即通過串行接口發(fā)送出去,另一方被動接受。該方式能夠達(dá)到較高的通訊速率,但不能保證數(shù)據(jù)傳輸?shù)目煽啃?,只用于一些對?shù)據(jù)可靠性要求不高的場合,如語音、圖像等。而面向通訊過程則不同,在甲方有數(shù)據(jù)發(fā)送請求時,則向乙方發(fā)送“請求發(fā)送數(shù)據(jù)”命令。乙方收到后,如準(zhǔn)備就緒,則回送確認(rèn)信息。甲方得到乙方的確認(rèn)后方可發(fā)送數(shù)據(jù)。在大多數(shù)情況下,乙方要對收到的數(shù)據(jù)進(jìn)行校驗,校驗正確發(fā)送“通訊終止”命令,否則可發(fā)送“重發(fā)”命令。面向連接的串行通訊過程實踐起來通常要復(fù)雜得多,通常用于數(shù)據(jù)文件的傳輸。

          2 以太網(wǎng)的物理傳輸幀

          標(biāo)準(zhǔn)IEEE802.3幀結(jié)構(gòu)有七部分組成,如表1所示。其中除了數(shù)據(jù)域的長度不固定外,其他的長度都是固定不變的。在發(fā)送數(shù)據(jù)時,幀頭、起始位和校驗位都是網(wǎng)卡自動添加的;在接收數(shù)據(jù)時,幀頭和起始位將被網(wǎng)卡自動跳過,即網(wǎng)卡一旦檢測到有效幀頭和幀起始位,就認(rèn)為有效數(shù)據(jù)開始,并將有效數(shù)據(jù)存入接收緩沖環(huán)。

          標(biāo)準(zhǔn)IEEE802

          3 以太網(wǎng)卡

          RTL8019AS網(wǎng)卡是8/16位ISA總線的網(wǎng)卡,遵循的標(biāo)準(zhǔn)與協(xié)議為IEEE802.3。按功能可將其劃分為接收功能模塊、CRC產(chǎn)生模塊、發(fā)送功能模塊、地址識別模塊、FIFO控制模塊、協(xié)議邏輯陣列模塊以及DMA和緩沖控制模塊等部分。對網(wǎng)卡進(jìn)行編程就可以實現(xiàn)局域網(wǎng)內(nèi)任意站點之間的通信而不需要網(wǎng)絡(luò)操作系統(tǒng)的支持。

          熟悉網(wǎng)卡接口電路是實現(xiàn)對網(wǎng)卡編程的首要條件。網(wǎng)卡接口電路可分為兩部分,一是與計算機ISA總線相連,包括數(shù)據(jù)總線讀寫、地址總線驅(qū)動、中斷控制信號的產(chǎn)生、存儲器讀寫信號以及I/O端口讀寫信號的引入等;二是對網(wǎng)卡內(nèi)部的操作,包括對緩沖RAM的讀寫、對RTL8019AS的控制、讀站地址PROM以及讀自舉ROM等。ISA總線共有98個信號,但通過對網(wǎng)卡工作原理的分析,我們可以將接口信號線減至最少。表2是驅(qū)動RTL8019AS網(wǎng)卡所需的最少的信號線。

          驅(qū)動RTL8019AS網(wǎng)卡所需的最少的信號線

          4 硬件框圖

          系統(tǒng)采用8031作為CPU主芯片,使用32K字節(jié)的外部存儲器62256來存放以太網(wǎng)包(最大可以有1500字節(jié))和串行數(shù)據(jù), 8K字節(jié)的2764存放程序,用75176與485總線通訊。系統(tǒng)的數(shù)據(jù)與地址總線分別與網(wǎng)卡的數(shù)據(jù)與地址總線相連。硬件框圖如圖1所示。

          硬件框圖

          5 軟件設(shè)計

          對網(wǎng)卡的編程就是對網(wǎng)絡(luò)接口控制器(NIC)RTL8019AS中各種寄存器進(jìn)行編程控制,從而完成數(shù)據(jù)分組的正確發(fā)送和接收。所有程序采用Franclin C51語言編制,具有可讀性強,移植性好,開發(fā)周期短的特點。即使在代碼的使用效率上,也完全可以和匯編語言相比。

          5.1 主程序

          主程序可分為網(wǎng)絡(luò)通訊和串行通訊兩部分。網(wǎng)絡(luò)通訊過程又可分為網(wǎng)卡初始化、發(fā)送控制和接收控制等三部分。主程序框圖如圖2所示。

          主程序框圖


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();