基于ARM的100Mbit/s以太網(wǎng)在數(shù)控系統(tǒng)中的應(yīng)用
關(guān)鍵詞:ARM S3C4510B RTL8201BL UDP/IP協(xié)議 PE68515
1 概述
串口通信技術(shù)在數(shù)據(jù)通信中的應(yīng)用極為廣泛。但是,其固有的通信距離小、抗干擾能力差等缺點(diǎn)使其無法滿足對實(shí)時性要求較高的現(xiàn)代工業(yè)控制。隨著近年來網(wǎng)絡(luò)技術(shù)和以ARM為代表的32位處理器的發(fā)展,通過網(wǎng)絡(luò)實(shí)現(xiàn)ARM與PC機(jī)高速、可靠的通信已成為可能。
本文的主要目的是設(shè)計一種高速、可靠的通信方式,實(shí)現(xiàn)PC機(jī)和數(shù)控系統(tǒng)的數(shù)據(jù)傳輸,克服傳統(tǒng)串口通信傳輸距離短,速度慢的缺點(diǎn)。本設(shè)計采用三星公司以ARM7為內(nèi)核的S3C4510B芯片,通過RTL8201BL和網(wǎng)絡(luò)變壓器PE68515實(shí)現(xiàn)和PC機(jī)的通信。
2 ARM芯片S3C4510B 簡介
S3C4510B是基于以太網(wǎng)應(yīng)用系統(tǒng)的高性價比16/32位RISC微控制器,內(nèi)含一個由ARM公司設(shè)計的16/32位ARM7TDMI RISC處理器核。ARM7TDMI為低功耗、高性能的16/32核,特別適用于對功耗敏感的應(yīng)用場合,且價格低廉。三星公司在ARM7TDMI處理器核的基礎(chǔ)上擴(kuò)展了多個片內(nèi)外圍功能模塊以滿足不同的客戶需要。本設(shè)計采用S3C4510B芯片,因?yàn)樗闪艘粋€片內(nèi)Ethernet控制器。該控制器具有如下特點(diǎn):
· 帶猝發(fā)模式的DMA引擎;
· DMA發(fā)送/接收緩沖區(qū)(256字節(jié)發(fā)送,256字節(jié)接收);
· MAC發(fā)送/接收FIFO緩沖區(qū)(80字節(jié)發(fā)送,16字節(jié)接收);
· 數(shù)據(jù)對準(zhǔn)邏輯;
· 支持端模式變換;
· 100M/10Mbps的工作速率;
· 與IEEE802.3標(biāo)準(zhǔn)完全兼容;
· 提供MII和7線制10Mbps接口;
· 站管理信號生成;
· 片內(nèi)CAM(可達(dá)21個目的地址);
· 帶暫停特性的全雙工模式;
· 支持長/短包模式;
· 包拆裝PDA生成。
3 RTL8201BL簡介
RTL8201BL是我國臺灣地區(qū)Realtek公司生產(chǎn)的一種網(wǎng)絡(luò)物理層芯片,它支持10/100Mbps網(wǎng)絡(luò)傳輸,符合IEEE802.3協(xié)議。它包括物理譯碼子層、物理介質(zhì)連接子層、雙絞線物理介質(zhì)相關(guān)子層、10Base-Tx譯碼/解碼、雙絞線介質(zhì)連接單元。支持PECL(正極射極耦合邏輯)電平接口的100Base-TX光纖發(fā)送器。適應(yīng)低電壓、低功耗要求。
RTL8201BL的主要引腳功能如下表1所示:
表1 RTL8201BL的主要引腳功能
4 硬件接口電路設(shè)計
本設(shè)計硬件接口電路如圖1所示:
1) S3C4510B和RTL8201BL對應(yīng)的引腳直接相連。其中RTL8201BL的RESETB引腳為復(fù)位引腳和S3C4510B的復(fù)位引腳nRESET連接。
2) RTL8201BL經(jīng)過網(wǎng)絡(luò)變壓器PE68515后和PC機(jī)通過網(wǎng)線連接。
TPRX+和TPRX-為接收數(shù)據(jù),TPTX+和TPTX-為發(fā)送數(shù)據(jù)。
ANE接3.3V電源表示網(wǎng)絡(luò)可自動識別用10M還是100M模式;Duplex接高電平使能全雙工方式;Speed接高電平則選擇網(wǎng)絡(luò)傳輸速度為100Mbit/s;LDPs接高電平允許進(jìn)入LDPs模式(沒有連接信號是進(jìn)入節(jié)電狀態(tài),可節(jié)電60%-80%);MII/SNIB接高電平采用MII(介質(zhì)無關(guān)接口)模式。
RTSET通過5.9KΩ電阻接地,產(chǎn)生發(fā)送地驅(qū)動電流;
3)PE68515為網(wǎng)絡(luò)隔離變壓器,利用它的最大好處是網(wǎng)線可以很方便的帶電拔插,而不至于象RS232口那樣造成設(shè)備的損壞。
5 S3C4510B與RTL8201BL的軟件接口設(shè)計
S3C4510B集成了一個網(wǎng)絡(luò)控制,支持IEEE802.3規(guī)則,采用TCP/IP模型。TCP/IP模
型共分為四層:應(yīng)用層、傳輸層、網(wǎng)間網(wǎng)層、網(wǎng)絡(luò)接口層(鏈路層和物理層)。如圖2所示:

圖2:網(wǎng)絡(luò)傳輸協(xié)議層
本文根據(jù)具體應(yīng)用場合的特點(diǎn)采用無連接的UDP/IP協(xié)議。該協(xié)議適用于一次傳輸交換少量報文(尤其是交易型應(yīng)用,比如數(shù)據(jù)庫查詢)的情形,其可靠性由應(yīng)用程序提供。它不像TCP/IP協(xié)議那樣要包容通信子網(wǎng)的各種不可靠因素,幾乎直接建立在IP協(xié)議之上,相對簡單的多。UDP的價值在于其效率,當(dāng)通信子網(wǎng)相當(dāng)可靠時,UDP更是大有用武之地。
網(wǎng)絡(luò)通信過程可分為網(wǎng)絡(luò)初始化、接收控制、發(fā)送控制、接收以太包解析等四部分。整個網(wǎng)絡(luò)是一個簡化的嵌入式TCP/IP協(xié)議棧,支持ARP、ICMP、IP和UDP協(xié)議,其中,UDP協(xié)議用于高速傳輸用戶數(shù)據(jù)。本文定義基于UDP的高速數(shù)據(jù)傳輸協(xié)議如下:
?。?) 送命令幀:上位機(jī)向下位機(jī)說明傳輸過程,包括包的大小和數(shù)量;
?。?) 收回應(yīng)幀:下位機(jī)向上位機(jī)發(fā)送接收就緒,啟動上位機(jī)發(fā)送進(jìn)程;
?。?) 發(fā)送數(shù)據(jù)幀:每次發(fā)送一個窗口大小的數(shù)據(jù)幀;
(4) 發(fā)送確認(rèn)幀:確認(rèn)已經(jīng)收到數(shù)據(jù);
?。?) 重發(fā)未確認(rèn):每發(fā)送完畢一個窗口,重發(fā)未確認(rèn)的幀。
6 小結(jié)
本文采用S3C4510B本身所帶的網(wǎng)絡(luò)控制器,通過一個物理層芯片RTL8201BL和網(wǎng)絡(luò)
變壓器PE68518實(shí)現(xiàn)和PC機(jī)網(wǎng)卡的連接,不僅硬件接口簡單,而且軟件編程容易。采用UDP/IP協(xié)議又進(jìn)一步降低了編程的難度,并大大提高了通信效率。以上硬件和軟件設(shè)計已在所開發(fā)的雕刻機(jī)數(shù)控系統(tǒng)中獲得成功應(yīng)用。
參考文獻(xiàn)
1 周明天,汪文勇。TCP/IP網(wǎng)絡(luò)原理與技術(shù)。清華大學(xué)出版社,2002
2 杜春雷,ARM體系結(jié)構(gòu)與編程。清華大學(xué)出版社,2003
3 王田苗,嵌入式系統(tǒng)設(shè)計與實(shí)例開發(fā)。清華大學(xué)出版社,2002
4 馬忠梅,馬廣云,徐英慧,田澤。ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)。北京航空航天大學(xué)出版社,
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。