1 引言
随着Internet的普及和工业自动化的迅速发展.网络已深入家庭、办公室、工厂和自动化控制领域。E—Link网络连接控制器内含高速微处理器和以太网" title="以太网">以太网接口电路,串口设备经过它就可方便地进人因特网来实现测控系统的数据资源共享,它是连接以太网和串口设备的桥梁。以太网接口电路完成lOBaseT以太网物理层的通信,在高速微处理器内部用C51语言写入了TCP/IP协议及其他(RS-232、RS-485、CAN等)转换协议。因此通过E—Link 上网的串口设备简单,不涉及各种复杂的网络协议,只涉及与E—Link的数据交换。
2 E—Link数据传输器" title="数据传输器">数据传输器简介
2.1 产品特色
E—Link数据传输器是一种微型Internet接入模块.可以将分布式串口设备或其他各种用户的智能系统接入Internet,利用模块内部的 TCP/IP网络协议及10Base—T网络接口连接到以太网,方便地实现串口设备的联网。E—Link数据传输器具有体积小巧_功耗低,成本低和使用方便等优点。
串口设备可将自身运行状态和工作参数等信息以TCP或UDP数据包的方式提供给监控者,亦可实现信息的实时传输。这种方法有以下几个特点:(1)没有距离和国界的限制,只要有以太网即可通信;(2)利用广泛存在的网络资源。无需铺设现场总线;(3)实时传送,传输速率高.串行速率可达115.2 kb/s。
E—Link数据传输器可广泛用于通讯系统、工厂自动化系统、银行和保险系统、远程分散式设备控制、大型零售系统、楼宇自动管理系统和智能自动报警及消防联动系统。
2.2 主要技术指标
MC[I为16位AVR MEGA高速处理器,晶体振荡器的频率为14.745 6 MHz,其外部存储器容量为32 KB,内部FLASH存储器的容量为:128 KB.可以提供16 MI/s的运算处理能力。
支持协议:ARP、IP、UDP、TCP、ICMP、DHCP 和DNS。
网络接口:RJ45(10BASE一T)以太网接口。
接口形式:RS232、RS422、.RS485、CAN总线。
串行速率:300 b/s—115 200 b/s。
最大传输速率:300KB/s。
产品尺寸: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(所有驱动均在系统TCP/IP网络下)。
开发板具有32路开关量双向I/O控制和8路10位A/D转换器。
开发环境:使用免费的AVR—GCC C语言编程.用户无需考虑再次购买昂贵的AVR专用C语言编译器(例如IAR FORAVR、ImageCraftICCforAVR及CodeVison C等),而且本开发系统是FREE—WARE,可以完全按照要求对系统进行裁剪,高效率地完成开发工作。
3 硬件系统
3.1 基本配置和选件
E—Link数据传输器的基本配置包括:一个E—Link模块、一个软盘或光盘(设置和应用软件)、一条通讯接口电缆(模块与串口设备通信)和一本技术说明书。
3.2 E—Link数据传输器的外形
E—Link数据传输器的外形如图1所示。其中Jl是电源接口。接AC7V~12V或:DC9V~15V;J2是设备接口,是9针DB9插座,RS232 电平;J3是RJ-45网线插座,通过网线接到HUB或数据交换机上;J4是编程器端口,用来升级单片机内程序以实现不同功能,如 RS232_rIEP/IP转换、WebServer、A/D远程数据采集和HTTPD控制等。
3.3参数设置连接
E—Link工作参数的设置和性能测试通过PC来完成。用随机提供的E—Link通信接口电缆将PC的COM串口与E_Link的J2端口相连。E— Link上的J3端口用RJ45与以太网相连。E—Link电源可以通过J1插座外供,外接电源为15 V直流电源。E一Link的参数设置和性能测试需要在PC上运行设置软件。连接方式如图2所示。
3.4 应用系统的连接
所谓应用系统连接,是指在实际应用条件下用户的串口设备通过E—Link上网方式的连接。串口设备可用RS232、。RS485、RS422及CAN总线 4种方式与E—Link相连,如图3所示。
E_Link数据传输器还可以与单片机系统直接连接,作为单片机系统的一部分,如图4所示。
4 软件系统
4.1 软件设计
采用标准的TCP/IP协议.因为任何能上网的计算机都采用这一协议。如果要远程传输数据,可以利用现成的WindoWS的SOCKET函数或Linux 下的网络函数直接编程,实现PC到E—Link的数据传输。
4.2 网络与E—Link
E—Link数据传输器使用的是TCP/IP协议,内部协议有TCP、UDP、IP、ARP及简单的应用层处理协议.上层软件可以使用VB、VC中的通用 SOCKET函数.但是要注意选用UDP和TCP。应避免在一网段内出现相同的IP地址和物理地址。
从网络可以给E一Link发送二种类型的数据;一种是设置数据:一种是通过E—Link发送到串口的数据。
(1)设置包
上层可以设置E—Link的密码、板卡IP地址、网关IP地址和板卡的物理地址(密码的设置是为了保证不被篡改)。可以使用专门的串口监控程序进行设置.也可以使用Windows 9x/NT/2000提供的超级终端软件进行设置。如果网路上有DHCP服务器.可以让其自行设置。发送设置数据给E—Link,E—Link对自身进行设置,并不把数据送到串口。
E—Link必须初始化。初始化数据格式为设置4位密码、IP地址、网关地址和物理地址。如果未被设置,它的初始化数据在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}。
重新设置IP的时候,最好使用和E—Link的IP地址同一网段内的主机对其设置。比如192.168.0.XXX.设置格式如下:
密码设置—″SETSMM:″(7)+旧密码(4)+新密码(4),15字节;
IP设置—″SETSIP:″(7)+密码(4)+新IP(4),15字节:
网关设置—″SETSGT:″(7)+密码(4)+新GATE(4),15字节;
物理地址设置—″SETSMA:″(7)+密码(4)+新物理地址(61,17字节。
下面是一个要发送的IP设置数据包(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)=& amp;H38\′\′0\′
\′IP地址
IpSet(12)=192
IpSet(13)=168
IpSet(14)=0
IpSet(15)=8
设置成功,E—Link返回数据
{l′S′,′E′,′T′,′st′,′B′,′E′,′O′,′K′,Oxod,Oxoa};
发送设置包给E—Link,E—Link对自身进行设置,并不把数据送到串口。
(2)发送数据包
如果不是设置包.则E—Link将UDP/TCP数据包接收后.将UDP/TCP中的数据部分取出。并通过串口送出。通信协议使用标准的RS232、 RS422或RS485。在网络数据传输中,因为RTL8019AS的内部RAM有限.最好不要一次发送超过4500字节的数据,否则可能溢出.如果E一 Link的处理速度不够快或者网卡本身的原因产生溢出,则E—Link返回数据串f′O′,′V′,′E′′R′,′L′,′O′,′W′ ,OxOd,OxOal,并抛弃存储区中的数据包。
4.3 串口与E—Link
串口到E—Link没有固定的结束符(也可以设定结束符,例如0x0A和0x0D等),在串口的数据传送中加上时间的控制,当最后一个数据发送完成后的 20 ms,E—Link认为数据接收结束,并对数据包进行处理。当接收缓冲区每收到一个数据E—Link就对数据包进行处理,后台发送。如果数据较多.应适当增大接收缓冲区的容量,以避免数据溢出造成丢失。
一般情况下.下位机根据最近一次接收的IP和端口返回数据。比如上一次一个IP地址为192.168.0.159,端口为8000的数据包过来,并且由E —Link发送给串口,如果串口过来数据,则仍返回此IP和端口。
如果下位机要作为主动方发送到一个目标IP,首先要发一个″SETSIP:″+IP地址(total llbytes)数据串。E—Link向网络查询此IP的物理地址.如果成功则返回数据串f\′S′,\′E′,1′,\′,S\′,′B\′,E\′ ,\′0\′,\′K\′,0xod,0xOa},当串口接收到该数据串时,就可以发送数据包,得到数据后,E—Link按照申请到的物理地址和目标IP 发送此数据包,端口使用8000。
给串口准备的数据空间是10 KB,不要一次发送超过10 KB的数据,否则会有I\′O′,′V′,′E′,′R′,′L′,′O′,′W′,0xod,0xoa,数据串返回,并抛弃此数据包。
5 结束语
E—link数据传输器可应用于工业自动化系统、电信通信系统、远程分散式设备控制、智能自动报警及消防联动系统和智能小区楼宇自动管理系统等。E— Link网络数据传输器还可用于构建新一代的以太网测控系统.用以改造现有的由现场总线组成的分布式控制系统和开发生产网络测控设备。它将推动家用电器智能化和网络化。并使人们的生活方式发生深刻的变化。