基于E-Link數(shù)據(jù)傳輸器的應(yīng)用技術(shù)探討
掃描二維碼
隨時隨地手機(jī)看文章
摘 要:E—Iink是一種廉價、方便、小巧的串口以太網(wǎng)接口模塊。隨著Intemet的蓬勃發(fā)展,人們在各個地點(diǎn)都可通過互聯(lián)網(wǎng)來交換信息。各種智能儀器和設(shè)備都應(yīng)具備入網(wǎng)的功能,通過E—link數(shù)據(jù)傳輸器,只需擁有串行口就可以使現(xiàn)有設(shè)備方便地接入網(wǎng)絡(luò),不再需要PC+網(wǎng)卡+設(shè)備接口卡,直接通過E—IJink就可方便地接入以太網(wǎng)。利用廉價的″E—Link網(wǎng)絡(luò)數(shù)據(jù)傳輸器″,利用互聯(lián)網(wǎng)取代現(xiàn)場總線,使原現(xiàn)場總線的分布式控制系統(tǒng)方便地轉(zhuǎn)換成基于以太網(wǎng)的分布式控制系統(tǒng)。
關(guān)鍵詞:以太網(wǎng):E—link:串行接口:網(wǎng)絡(luò):數(shù)據(jù)傳輸器
1 引言
隨著Internet的普及和工業(yè)自動化的迅速發(fā)展.網(wǎng)絡(luò)已深入家庭、辦公室、工廠和自動化控制領(lǐng)域。E—Link網(wǎng)絡(luò)連接控制器內(nèi)含高速微處理器和以太網(wǎng)接口電路,串口設(shè)備經(jīng)過它就可方便地進(jìn)人因特網(wǎng)來實(shí)現(xiàn)測控系統(tǒng)的數(shù)據(jù)資源共享,它是連接以太網(wǎng)和串口設(shè)備的橋梁。以太網(wǎng)接口電路完成lOBaseT以太網(wǎng)物理層的通信,在高速微處理器內(nèi)部用C51語言寫入了TCP/IP協(xié)議及其他(RS-232、RS-485、CAN等)轉(zhuǎn)換協(xié)議。因此通過E—Link上網(wǎng)的串口設(shè)備簡單,不涉及各種復(fù)雜的網(wǎng)絡(luò)協(xié)議,只涉及與E—Link的數(shù)據(jù)交換。
2 E—Link數(shù)據(jù)傳輸器簡介
2.1 產(chǎn)品特色
E—Link數(shù)據(jù)傳輸器是一種微型Internet接入模塊.可以將分布式串口設(shè)備或其他各種用戶的智能系統(tǒng)接入Internet,利用模塊內(nèi)部的TCP/IP網(wǎng)絡(luò)協(xié)議及10Base—T網(wǎng)絡(luò)接口連接到以太網(wǎng),方便地實(shí)現(xiàn)串口設(shè)備的聯(lián)網(wǎng)。E—Link數(shù)據(jù)傳輸器具有體積小巧_功耗低,成本低和使用方便等優(yōu)點(diǎn)。
串口設(shè)備可將自身運(yùn)行狀態(tài)和工作參數(shù)等信息以TCP或UDP數(shù)據(jù)包的方式提供給監(jiān)控者,亦可實(shí)現(xiàn)信息的實(shí)時傳輸。這種方法有以下幾個特點(diǎn):(1)沒有距離和國界的限制,只要有以太網(wǎng)即可通信;(2)利用廣泛存在的網(wǎng)絡(luò)資源。無需鋪設(shè)現(xiàn)場總線;(3)實(shí)時傳送,傳輸速率高.串行速率可達(dá)115.2 kb/s。
E—Link數(shù)據(jù)傳輸器可廣泛用于通訊系統(tǒng)、工廠自動化系統(tǒng)、銀行和保險系統(tǒng)、遠(yuǎn)程分散式設(shè)備控制、大型零售系統(tǒng)、樓宇自動管理系統(tǒng)和智能自動報警及消防聯(lián)動系統(tǒng)。
2.2 主要技術(shù)指標(biāo)
MC[I為16位AVR MEGA高速處理器,晶體振蕩器的頻率為14.745 6 MHz,其外部存儲器容量為32 KB,內(nèi)部FLASH存儲器的容量為:128 KB.可以提供16 MI/s的運(yùn)算處理能力。
支持協(xié)議:ARP、IP、UDP、TCP、ICMP、DHCP 和DNS。
網(wǎng)絡(luò)接口:RJ45(10BASE一T)以太網(wǎng)接口。
接口形式:RS232、RS422、.RS485、CAN總線。
串行速率:300 b/s—115 200 b/s。
最大傳輸速率:300KB/s。
產(chǎn)品尺寸:8.0 emXlO.O cm或更小。
供電方式:AC或DC供電。
軟件支持:Windows XP.Windows 2000.WindowsNT,Windows 95/98/ME。Unix Ware SVR4-2,UnixWare 7 SVR5,SCO Open Server,SCO UNIX,Linuxfixed tty for 2.0.x, 2.2.x和I,inux real tty for 2.O-36,2.2.x,2.4.x(所有驅(qū)動均在系統(tǒng)TCP/IP網(wǎng)絡(luò)下)。
開發(fā)板具有32路開關(guān)量雙向I/O控制和8路10位A/D轉(zhuǎn)換器。
開發(fā)環(huán)境:使用免費(fèi)的AVR—GCC C語言編程.用戶無需考慮再次購買昂貴的AVR專用C語言編譯器(例如IAR FORAVR、ImageCraftICCforAVR及CodeVison C等),而且本開發(fā)系統(tǒng)是FREE—WARE,可以完全按照要求對系統(tǒng)進(jìn)行裁剪,高效率地完成開發(fā)工作。
3 硬件系統(tǒng)
3.1 基本配置和選件
E—Link數(shù)據(jù)傳輸器的基本配置包括:一個E—Link模塊、一個軟盤或光盤(設(shè)置和應(yīng)用軟件)、一條通訊接口電纜(模塊與串口設(shè)備通信)和一本技術(shù)說明書。
3.2 E—Link數(shù)據(jù)傳輸器的外形
E—Link數(shù)據(jù)傳輸器的外形如圖1所示。其中Jl是電源接口。接AC7V~12V或:DC9V~15V;J2是設(shè)備接口,是9針DB9插座,RS232電平;J3是RJ-45網(wǎng)線插座,通過網(wǎng)線接到HUB或數(shù)據(jù)交換機(jī)上;J4是編程器端口,用來升級單片機(jī)內(nèi)程序以實(shí)現(xiàn)不同功能,如RS232_rIEP/IP轉(zhuǎn)換、WebServer、A/D遠(yuǎn)程數(shù)據(jù)采集和HTTPD控制等。
3.3參數(shù)設(shè)置連接
E—Link工作參數(shù)的設(shè)置和性能測試通過PC來完成。用隨機(jī)提供的E—Link通信接口電纜將PC的COM串口與E_Link的J2端口相連。E—Link上的J3端口用RJ45與以太網(wǎng)相連。E—Link電源可以通過J1插座外供,外接電源為15 V直流電源。E一Link的參數(shù)設(shè)置和性能測試需要在PC上運(yùn)行設(shè)置軟件。連接方式如圖2所示。
3.4 應(yīng)用系統(tǒng)的連接
所謂應(yīng)用系統(tǒng)連接,是指在實(shí)際應(yīng)用條件下用戶的串口設(shè)備通過E—Link上網(wǎng)方式的連接。串口設(shè)備可用RS232、。RS485、RS422及CAN總線4種方式與E—Link相連,如圖3所示。
E_Link數(shù)據(jù)傳輸器還可以與單片機(jī)系統(tǒng)直接連接,作為單片機(jī)系統(tǒng)的一部分,如圖4所示。
4 軟件系統(tǒng)
4.1 軟件設(shè)計
采用標(biāo)準(zhǔn)的TCP/IP協(xié)議.因?yàn)槿魏文苌暇W(wǎng)的計算機(jī)都采用這一協(xié)議。如果要遠(yuǎn)程傳輸數(shù)據(jù),可以利用現(xiàn)成的WindoWS的SOCKET函數(shù)或Linux下的網(wǎng)絡(luò)函數(shù)直接編程,實(shí)現(xiàn)PC到E—Link的數(shù)據(jù)傳輸。
4.2 網(wǎng)絡(luò)與E—Link
E—Link數(shù)據(jù)傳輸器使用的是TCP/IP協(xié)議,內(nèi)部協(xié)議有TCP、UDP、IP、ARP及簡單的應(yīng)用層處理協(xié)議.上層軟件可以使用VB、VC中的通用SOCKET函數(shù).但是要注意選用UDP和TCP。應(yīng)避免在一網(wǎng)段內(nèi)出現(xiàn)相同的IP地址和物理地址。
從網(wǎng)絡(luò)可以給E一Link發(fā)送二種類型的數(shù)據(jù);一種是設(shè)置數(shù)據(jù):一種是通過E—Link發(fā)送到串口的數(shù)據(jù)。
(1)設(shè)置包
上層可以設(shè)置E—Link的密碼、板卡IP地址、網(wǎng)關(guān)IP地址和板卡的物理地址(密碼的設(shè)置是為了保證不被篡改)。可以使用專門的串口監(jiān)控程序進(jìn)行設(shè)置.也可以使用Windows 9x/NT/2000提供的超級終端軟件進(jìn)行設(shè)置。如果網(wǎng)路上有DHCP服務(wù)器.可以讓其自行設(shè)置。發(fā)送設(shè)置數(shù)據(jù)給E—Link,E—Link對自身進(jìn)行設(shè)置,并不把數(shù)據(jù)送到串口。
E—Link必須初始化。初始化數(shù)據(jù)格式為設(shè)置4位密碼、IP地址、網(wǎng)關(guān)地址和物理地址。如果未被設(shè)置,它的初始化數(shù)據(jù)在X5045中為{\S′,\′E′E′,E
′T′,′O,′K′,′O′,′O′′,′O′′,192,168,0,8,20,192,168,0,159,O,192,168,O,8,36}。
重新設(shè)置IP的時候,最好使用和E—Link的IP地址同一網(wǎng)段內(nèi)的主機(jī)對其設(shè)置。比如192.168.0.XXX.設(shè)置格式如下:
密碼設(shè)置—″SETSMM:″(7)+舊密碼(4)+新密碼(4),15字節(jié);
IP設(shè)置—″SETSIP:″(7)+密碼(4)+新IP(4),15字節(jié):
網(wǎng)關(guān)設(shè)置—″SETSGT:″(7)+密碼(4)+新GATE(4),15字節(jié);
物理地址設(shè)置—″SETSMA:″(7)+密碼(4)+新物理地址(61,17字節(jié)。
下面是一個要發(fā)送的IP設(shè)置數(shù)據(jù)包(VB中):
Dim IpSet(1 To 151 As Byt\′字符串
IPSSet(1)=&H53′\′S、′
IoSet(2)=&H45\′\′E、′
IpSet(31=&H54\′\′′T′
IPSet(4)=&H53\′\′S\′
IpSet(5)&ti49′\′n
It,Set(6)=&H50\′′P′
IpSet(7)=&H3A′′:′
\′密碼
IpSet(81=&H38′\′0′
IpSet(9)=&H38\′\′O\′
IpSet(10)=&H38′′0′
IpSet(11)=&H38\′\′0\′
\′IP地址
IpSet(12)=192
IpSet(13)=168
IpSet(14)=0
IpSet(15)=8
設(shè)置成功,E—Link返回數(shù)據(jù)
{l′S′,′E′,′T′,′st′,′B′,′E′,′O′,′K′,Oxod,Oxoa};
發(fā)送設(shè)置包給E—Link,E—Link對自身進(jìn)行設(shè)置,并不把數(shù)據(jù)送到串口。
(2)發(fā)送數(shù)據(jù)包
如果不是設(shè)置包.則E—Link將UDP/TCP數(shù)據(jù)包接收后.將UDP/TCP中的數(shù)據(jù)部分取出。并通過串口送出。通信協(xié)議使用標(biāo)準(zhǔn)的RS232、RS422或RS485。在網(wǎng)絡(luò)數(shù)據(jù)傳輸中,因?yàn)镽TL8019AS的內(nèi)部RAM有限.最好不要一次發(fā)送超過4500字節(jié)的數(shù)據(jù),否則可能溢出.如果E一Link的處理速度不夠快或者網(wǎng)卡本身的原因產(chǎn)生溢出,則E—Link返回數(shù)據(jù)串f′O′,′V′,′E′′R′,′L′,′O′,′W′,OxOd,OxOal,并拋棄存儲區(qū)中的數(shù)據(jù)包。
4.3 串口與E—Link
串口到E—Link沒有固定的結(jié)束符(也可以設(shè)定結(jié)束符,例如0x0A和0x0D等),在串口的數(shù)據(jù)傳送中加上時間的控制,當(dāng)最后一個數(shù)據(jù)發(fā)送完成后的20 ms,E—Link認(rèn)為數(shù)據(jù)接收結(jié)束,并對數(shù)據(jù)包進(jìn)行處理。當(dāng)接收緩沖區(qū)每收到一個數(shù)據(jù)E—Link就對數(shù)據(jù)包進(jìn)行處理,后臺發(fā)送。如果數(shù)據(jù)較多.應(yīng)適當(dāng)增大接收緩沖區(qū)的容量,以避免數(shù)據(jù)溢出造成丟失。
一般情況下.下位機(jī)根據(jù)最近一次接收的IP和端口返回數(shù)據(jù)。比如上一次一個IP地址為192.168.0.159,端口為8000的數(shù)據(jù)包過來,并且由E—Link發(fā)送給串口,如果串口過來數(shù)據(jù),則仍返回此IP和端口。
如果下位機(jī)要作為主動方發(fā)送到一個目標(biāo)IP,首先要發(fā)一個″SETSIP:″+IP地址(total llbytes)數(shù)據(jù)串。E—Link向網(wǎng)絡(luò)查詢此IP的物理地址.如果成功則返回數(shù)據(jù)串f\′S′,\′E′,1′,\′,S\′,′B\′,E\′,\′0\′,\′K\′,0xod,0xOa},當(dāng)串口接收到該數(shù)據(jù)串時,就可以發(fā)送數(shù)據(jù)包,得到數(shù)據(jù)后,E—Link按照申請到的物理地址和目標(biāo)IP發(fā)送此數(shù)據(jù)包,端口使用8000。
給串口準(zhǔn)備的數(shù)據(jù)空間是10 KB,不要一次發(fā)送超過10 KB的數(shù)據(jù),否則會有I\′O′,′V′,′E′,′R′,′L′,′O′,′W′,0xod,0xoa,數(shù)據(jù)串返回,并拋棄此數(shù)據(jù)包。
5 結(jié)束語
E—link數(shù)據(jù)傳輸器可應(yīng)用于工業(yè)自動化系統(tǒng)、電信通信系統(tǒng)、遠(yuǎn)程分散式設(shè)備控制、智能自動報警及消防聯(lián)動系統(tǒng)和智能小區(qū)樓宇自動管理系統(tǒng)等。E—Link網(wǎng)絡(luò)數(shù)據(jù)傳輸器還可用于構(gòu)建新一代的以太網(wǎng)測控系統(tǒng).用以改造現(xiàn)有的由現(xiàn)場總線組成的分布式控制系統(tǒng)和開發(fā)生產(chǎn)網(wǎng)絡(luò)測控設(shè)備。它將推動家用電器智能化和網(wǎng)絡(luò)化。并使人們的生活方式發(fā)生深刻的變化。