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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的以太網(wǎng)絡(luò)接入系統(tǒng)的實(shí)現(xiàn)及網(wǎng)絡(luò)性能分析

          基于單片機(jī)的以太網(wǎng)絡(luò)接入系統(tǒng)的實(shí)現(xiàn)及網(wǎng)絡(luò)性能分析

          作者: 時(shí)間:2010-04-19 來(lái)源:網(wǎng)絡(luò) 收藏

          [摘 要] 介紹網(wǎng)控制芯片RTL8019AS,并設(shè)計(jì)在有限存儲(chǔ)空間的中嵌入TCP/IP協(xié)議的網(wǎng)了RS-485現(xiàn)場(chǎng)總線(xiàn)設(shè)備通過(guò)嵌入TCP/IP網(wǎng),完成PC機(jī)與終端設(shè)備的遠(yuǎn)程通信和控制,最后對(duì)進(jìn)行測(cè)試,取得了滿(mǎn)意的效果。
          [關(guān)鍵詞] ;以太網(wǎng);RTL8019AS芯片;TCP/IP協(xié)議;

          本文引用地址:http://www.ex-cimer.com/article/173370.htm

          1 引 言  
            互聯(lián)硬件、軟件的迅猛發(fā)展,使得用戶(hù)呈指數(shù)增長(zhǎng),在電子設(shè)備日趨網(wǎng)絡(luò)化的背景下,越來(lái)越多的嵌入式應(yīng)用需要支持網(wǎng)絡(luò)功能。 TCP/IP是一套把因特網(wǎng)上的各種系統(tǒng)互連起來(lái)的協(xié)議組,成為事實(shí)上最常用的網(wǎng)絡(luò)標(biāo)準(zhǔn)之一。在使用計(jì)算機(jī)進(jìn)行網(wǎng)絡(luò)互聯(lián)的同時(shí),各種家電設(shè)備、儀器儀表以及工業(yè)生產(chǎn)中的數(shù)據(jù)采集與控制設(shè)備在逐步地走向網(wǎng)絡(luò)化,以便共享網(wǎng)絡(luò)中龐大的信息資源。只要那些設(shè)備上了TCP/IP協(xié)議并增加一個(gè)網(wǎng)絡(luò)接口,就可方便地到現(xiàn)有的網(wǎng)絡(luò)中。考慮到單片機(jī)成本低廉,利用TCP/IP協(xié)議中的UDP(用戶(hù)數(shù)據(jù)報(bào)協(xié)議)、IP(網(wǎng)絡(luò)報(bào)文協(xié)議)、ARP(地址解析協(xié)議)及簡(jiǎn)單的應(yīng)用層協(xié)議,根據(jù)應(yīng)用的需要做相應(yīng)的裁減,文中將介紹用AT90S8515單片機(jī)與10Mbps以太網(wǎng)控制器芯片RTL8019AS設(shè)計(jì)嵌入式TCP/IP單片機(jī)系統(tǒng),成功地了RS-485現(xiàn)場(chǎng)總線(xiàn)設(shè)備通過(guò)嵌入TCP/IP的單片機(jī)系統(tǒng)接入以太網(wǎng),完成PC 機(jī)與終端設(shè)備的遠(yuǎn)程通信和控制,最后對(duì)系統(tǒng)進(jìn)行。
          2 以太網(wǎng)控制器RTL8019AS簡(jiǎn)介  
            RTL8019AS是臺(tái)灣REALTEK公司生產(chǎn)的ISA總線(xiàn)的10 Mbps以太網(wǎng)控制器芯片。由于其優(yōu)良的性能、低廉的價(jià)格,使其在市場(chǎng)上10Mbps網(wǎng)卡中占有相當(dāng)?shù)姆蓊~。
          主要性能:
           ?。?)符合EthernetⅡ與IEEE802.3(10Base5、10Base2、10BaseT)標(biāo)準(zhǔn);
          (2)支持全雙工,收發(fā)可同時(shí)達(dá)到10Mbps速率;
           ?。?)16KB片內(nèi)SRAM,用于收發(fā)緩沖,降低對(duì)主處理器的速度要求;
           ?。?)支持8/16位數(shù)據(jù)總線(xiàn),8個(gè)中斷請(qǐng)求線(xiàn)以
          (6)支持跳線(xiàn)和非跳線(xiàn)模式;
          (7)允許4個(gè)診斷LED引腳可編程輸出;
          (8)100腳的PQFP封裝。
            該芯片功能很強(qiáng),它集成介質(zhì)訪(fǎng)問(wèn)子層(MAC)和物理層的功能,對(duì)RTL8019做了很大改進(jìn),處理能力更強(qiáng),操作更靈活。但與一般單片機(jī)接口時(shí),只需要用到其中一部分即可完成網(wǎng)絡(luò)通信功能,其它引腳懸空。
          3 與AT90S8515單片機(jī)系統(tǒng)的接口電路
            該文選用AT90S8515單片機(jī),與8051系列單片機(jī)相比,具有系統(tǒng)內(nèi)可編程8KFLASH,內(nèi)部集成了在片512字節(jié)EEPROM和512字節(jié)SRAM,使用精簡(jiǎn)指令集,編寫(xiě)程序簡(jiǎn)練,調(diào)試程序方便。
            系統(tǒng)硬件連接如圖3―1所示,系統(tǒng)提供RJ45接口連接Ethernet網(wǎng)絡(luò),提供一個(gè)RS-485接口與現(xiàn)場(chǎng)設(shè)備連接,實(shí)現(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)傳輸和設(shè)備的遠(yuǎn)程控制。


            AT90S8515單片機(jī)所提供的接口信號(hào)線(xiàn)為:PA口的8位數(shù)據(jù)總線(xiàn)D0~D7、5根地址線(xiàn)A8~A12、讀信號(hào)線(xiàn)RD、寫(xiě)信號(hào)線(xiàn)WR、2根控制線(xiàn) PB0、PB1。這些信號(hào)線(xiàn)與RTL8019AS的各信號(hào)線(xiàn)對(duì)應(yīng)連接。其中,RTL8019AS的IOCS16B接下拉電阻,使芯片工作在8位總線(xiàn)方式,復(fù)位通過(guò)PB0控制,PB1片選地址使能。時(shí)鐘電路為單片機(jī)8MHz和網(wǎng)絡(luò)芯片20MHz。在現(xiàn)場(chǎng)控制端,需要一個(gè)RS-232轉(zhuǎn)RS-485的485芯片(WM485),在網(wǎng)絡(luò)接入端需要一個(gè)網(wǎng)絡(luò)隔離濾波器(FM2146),這樣接口電路設(shè)計(jì)完成,然后計(jì)算并分配地址空間,編寫(xiě)匯編程序。該系統(tǒng)中網(wǎng)絡(luò)芯片在單片機(jī)中地址映射空間為80××H-0x9F××H,網(wǎng)絡(luò)芯片的內(nèi)部I/O基地址為300H。
            對(duì)設(shè)計(jì)電路的幾點(diǎn)說(shuō)明,RTL8019AS的JP引腳接高電平,使芯片工作在跳線(xiàn)模式;沒(méi)有使用地址鎖存器,直接用地址數(shù)據(jù)復(fù)用口讀寫(xiě) RTL8019AS數(shù)據(jù),網(wǎng)絡(luò)芯片只用到5位地址線(xiàn),沒(méi)有沖突;系統(tǒng)采用查詢(xún)工作方式,沒(méi)有連接中斷信號(hào)線(xiàn),簡(jiǎn)化電路設(shè)計(jì)。

          tcp/ip相關(guān)文章:tcp/ip是什么



          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();