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

相關(guān)專(zhuān)題: 芯片

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

[關(guān)鍵詞] 單片機(jī);以太網(wǎng);RTL8019AS芯片;TCP/IP協(xié)議;網(wǎng)絡(luò)性能分析

1 引 言  

互聯(lián)網(wǎng)絡(luò)硬件、軟件的迅猛發(fā)展,使得網(wǎng)絡(luò)用戶(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è)備上實(shí)現(xiàn)了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),成功地實(shí)現(xiàn)了RS-485現(xiàn)場(chǎng)總線設(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總線的10 Mbps以太網(wǎng)控制器芯片。由于其優(yōu)良的性能、低廉的價(jià)格,使其在市場(chǎng)上10Mbps網(wǎng)卡中占有相當(dāng)?shù)姆蓊~。

主要性能:
 。1)符合EthernetⅡ與IEEE802.3(10Base5、10Base2、10BaseT)標(biāo)準(zhǔn);
    (2)支持全雙工,收發(fā)可同時(shí)達(dá)到10Mbps速率;
  (3)16KB片內(nèi)SRAM,用于收發(fā)緩沖,降低對(duì)主處理器的速度要求;
 。4)支持8/16位數(shù)據(jù)總線,8個(gè)中斷請(qǐng)求線以
    (6)支持跳線和非跳線模式;
    (7)允許4個(gè)診斷LED引腳可編程輸出;
    (8)100腳的PQFP封裝。

該芯片功能很強(qiáng),它集成介質(zhì)訪問(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)線為:PA口的8位數(shù)據(jù)總線D0~D7、5根地址線A8~A12、讀信號(hào)線RD、寫(xiě)信號(hào)線WR、2根控制線PB0、PB1。這些信號(hào)線與RTL8019AS的各信號(hào)線對(duì)應(yīng)連接。其中,RTL8019AS的IOCS16B接下拉電阻,使芯片工作在8位總線方式,復(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引腳接高電平,使芯片工作在跳線模式;沒(méi)有使用地址鎖存器,直接用地址數(shù)據(jù)復(fù)用口讀寫(xiě)RTL8019AS數(shù)據(jù),網(wǎng)絡(luò)芯片只用到5位地址線,沒(méi)有沖突;系統(tǒng)采用查詢(xún)工作方式,沒(méi)有連接中斷信號(hào)線,簡(jiǎn)化電路設(shè)計(jì)。

4 軟件設(shè)計(jì)

4.1 嵌入TCP/IP協(xié)議的單片機(jī)匯編程序設(shè)計(jì)  

單片機(jī)接入以太網(wǎng),必須嵌入TCP/IP協(xié)議,用戶(hù)終端的應(yīng)用程序才可以使用通用的網(wǎng)絡(luò)編程技術(shù),例如使用Socket套接字,與單片機(jī)建立連接,實(shí)現(xiàn)數(shù)據(jù)通信。匯編流程圖如圖4—1所示,單片機(jī)首先初始化堆棧和串口,初始化RTL8019AS網(wǎng)絡(luò)芯片,系統(tǒng)的IP地址存放在單片機(jī)的片內(nèi)EEPROM中,單片機(jī)復(fù)位后首先讀取這些數(shù)據(jù)以初始化網(wǎng)絡(luò)。  

由于單片機(jī)的資源有限,所以網(wǎng)絡(luò)協(xié)議根據(jù)嵌入式應(yīng)用的需求作了裁剪,系統(tǒng)中使用了ARP、RARP、IP、UDP等部分協(xié)議,既保證單片機(jī)接入以太網(wǎng),又保證足夠小的代碼量。單片機(jī)主要完成網(wǎng)絡(luò)數(shù)據(jù)的解包和串口RS-485數(shù)據(jù)的打包。當(dāng)以太網(wǎng)有數(shù)據(jù)到達(dá)該設(shè)備,單片機(jī)采用查詢(xún)方式,讀取網(wǎng)絡(luò)數(shù)據(jù)并分析,如果是ARP(物理地址解析協(xié)議)數(shù)據(jù)包,則轉(zhuǎn)入ARP處理程序,并發(fā)送RARP數(shù)據(jù)包,將IP地址和物理地址加入到局域網(wǎng)中建立映射。如果是UDP數(shù)據(jù)包且IP地址和端口號(hào)正確,則接收數(shù)據(jù)包,數(shù)據(jù)解包后,將數(shù)據(jù)部分通過(guò)串口輸出,控制RS-485現(xiàn)場(chǎng)設(shè)備。反之,如果現(xiàn)場(chǎng)通過(guò)串口發(fā)送數(shù)據(jù)到單片機(jī),單片機(jī)將數(shù)據(jù)按照UDP協(xié)議格式打包,送入RTL8019AS,由RTL8019AS將數(shù)據(jù)輸出到局域網(wǎng)中。根據(jù)需要還可以在收到串口數(shù)據(jù)時(shí),先完成數(shù)據(jù)預(yù)處理,再將處理好的數(shù)據(jù)送到局域網(wǎng)。


 
  TCP/IP協(xié)議的4層模型中,鏈路層部分由RTL8019AS完成,網(wǎng)絡(luò)層和傳輸層由單片機(jī)來(lái)處理,應(yīng)用層則根據(jù)需要可以在單片機(jī)內(nèi)完成,也可以由單片機(jī)轉(zhuǎn)給用戶(hù)或終端設(shè)備完成。

在單片機(jī)的程序處理中,主要有完整的ARP、RARP協(xié)議模塊,UDP協(xié)議模塊,其它協(xié)議根據(jù)需要取舍,完成系統(tǒng)要求,網(wǎng)絡(luò)芯片的初始化是必須的,對(duì)RTL8019AS各寄存器的配置正確,才能使硬件正常工作。

4.2 用戶(hù)終端程序設(shè)計(jì)

為了實(shí)現(xiàn)對(duì)嵌入TCP/IP的單片機(jī)通信系統(tǒng)設(shè)備的控制,筆者用VC++6.0在用戶(hù)終端PC上編寫(xiě)一個(gè)數(shù)據(jù)傳輸?shù)膽?yīng)用程序。通常采用Winsock編程,先創(chuàng)建一個(gè)套接字,綁定IP地址和端口號(hào),使用UDP數(shù)據(jù)報(bào),與嵌入TCP/IP單片機(jī)系統(tǒng)的套接字建立連接,當(dāng)有網(wǎng)絡(luò)數(shù)據(jù)到達(dá)時(shí),VC++響應(yīng)Receive()消息,讀取數(shù)據(jù)并處理;當(dāng)用戶(hù)需要控制嵌入式設(shè)備,調(diào)用Send()函數(shù)發(fā)送控制命令或數(shù)據(jù)。

在調(diào)試試驗(yàn)中,PC機(jī)上采用Sniffer軟件來(lái)監(jiān)視(或截獲)PC機(jī)同單片機(jī)之間通信的TCP/IP協(xié)議包數(shù)據(jù)流,測(cè)試系統(tǒng)的性能,取得了滿(mǎn)意的效果。

5 系統(tǒng)性能分析  

網(wǎng)絡(luò)性能的主觀評(píng)價(jià)可以用如下的指標(biāo)來(lái)體現(xiàn):容量、利用率、最優(yōu)利用率、吞吐量、可供負(fù)載、精確度、效率、延遲、延遲變化量、響應(yīng)時(shí)間等。網(wǎng)絡(luò)性能的最終表現(xiàn)形式就是最終用戶(hù)在使用過(guò)程中的主觀評(píng)價(jià)。

下面主要從各網(wǎng)絡(luò)層對(duì)系統(tǒng)性能的影響分別進(jìn)行分析:

(1)物理層、數(shù)據(jù)鏈路層性能。從系統(tǒng)的硬件上看,這兩層的功能主要由RTL8019AS完成,每幀最大傳輸包為1K字節(jié),但是數(shù)據(jù)的讀寫(xiě)都是由單片機(jī)完成,所以整個(gè)系統(tǒng)的帶寬受到單片機(jī)速度的限制,文中設(shè)計(jì)系統(tǒng)理論最大帶寬為8Mbps,最優(yōu)利用率為3~4Mbps。

(2)網(wǎng)絡(luò)層性能。在這里主要考慮傳輸協(xié)議的選擇。對(duì)于使用有重傳機(jī)制的TCP協(xié)議,意味著在網(wǎng)絡(luò)環(huán)境惡劣的情況下,存在大量的數(shù)據(jù)報(bào)重傳,降低了網(wǎng)絡(luò)利用率,同時(shí)還有很大的延時(shí)。在系統(tǒng)的具體應(yīng)用中,采用UDP協(xié)議滿(mǎn)足了數(shù)據(jù)采集的實(shí)時(shí)性要求,對(duì)于丟包現(xiàn)象,可以在應(yīng)用層上采取必要的控制策略加以改善。

(3)應(yīng)用層性能。主機(jī)、服務(wù)器、應(yīng)用協(xié)議構(gòu)成網(wǎng)絡(luò)應(yīng)用層性能的三要素。主機(jī)和服務(wù)器是網(wǎng)絡(luò)連接的兩端,應(yīng)用協(xié)議是網(wǎng)絡(luò)連接的兩端數(shù)據(jù)傳輸過(guò)程的一個(gè)約定。方案采用在以太網(wǎng)嵌入系統(tǒng)中運(yùn)行一個(gè)套接字程序作為服務(wù)器,應(yīng)用RS-485通訊協(xié)議對(duì)遠(yuǎn)程設(shè)備控制和數(shù)據(jù)采集。這個(gè)過(guò)程中,網(wǎng)絡(luò)服務(wù)器的性能問(wèn)題影響最大:服務(wù)器的負(fù)載、請(qǐng)求隊(duì)列過(guò)長(zhǎng)、協(xié)議參數(shù)設(shè)置不當(dāng)?shù)鹊取?/p>

6 結(jié)束語(yǔ)  

以太網(wǎng)的低成本、開(kāi)放性、廣泛的開(kāi)發(fā)和應(yīng)用軟件、硬件支持,使得這種嵌入了TCP/IP協(xié)議的單片機(jī)數(shù)據(jù)通信系統(tǒng),具有成本低、硬件少、運(yùn)行穩(wěn)定可靠、傳輸速度快、開(kāi)發(fā)周期短等優(yōu)點(diǎn),有著廣泛的應(yīng)用前景,特別是數(shù)據(jù)采集、數(shù)據(jù)傳輸?shù)冗h(yuǎn)程監(jiān)控領(lǐng)域,以及智能家電的網(wǎng)絡(luò)信息化方面。目前,該系統(tǒng)在變電站監(jiān)控系統(tǒng)、遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)中得到成功應(yīng)用。

[參考文獻(xiàn)]

[1] RTL8019AS Realtek Full-Duplex Ethernet Controller with Plug  and Play Function(RealPNP)[J].DATASHEET,2000.
[2] ATMEL.8-bit AVR Microcontroller with 4K/8KbytesIn-Sys-  temProgrammable Flash[J].DATASHEET.1999.
[3] Douglas E.COMER.TCP/IP網(wǎng)絡(luò)互連技術(shù)卷1—原理,協(xié)議和體系結(jié)構(gòu)[M].北京:清華大學(xué)出版社,1998.
[4] Douglas E.COMER.TCP/IP網(wǎng)絡(luò)互連接術(shù)卷2—設(shè)計(jì),實(shí)現(xiàn)和內(nèi)部結(jié)構(gòu)[M].北京:清華大學(xué)出版社,1998.
[5] 逯昭義等.計(jì)算機(jī)通信網(wǎng)絡(luò)信息量理論[M].電子工業(yè)出版社,1997.

 

作者:劉康 王宣銀   來(lái)源:工業(yè)儀表與自動(dòng)化裝置
微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書(shū)
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書(shū)-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無(wú)線接入網(wǎng)白皮書(shū)
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書(shū)》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書(shū)
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書(shū)
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

      最新招聘信息