摘 要:本文主要介绍使用XPORT进行串口转以太网的实现方案,在监视模式下,通过串口设置程序对XPORT元件进行自动设置,实现在RABBIT 2000目标板上电就可以方便的连接到以太网的功能,实现工业现场的异地实时通信。
关键词:XPORT,串口,以太网,RABBIT 2000
1. 引言
随着世界范围内网络和信息技术的日趋成熟,工业自动控制系统日益采用以太网和TCP/IP协议作为最主要的通信接口和手段。以太网作为目前应用最广泛、成长最快的局域网技术,在工业自动化领域得到了超乎寻常的发展。现在的设计挑战是在不改变原有设计且投资较少的情况下,方便快捷地实现工业现场使用的串口设备与以太网之间的连接。在我们的课题研究中,即采用了XPORT服务器策略。
XPORT由美国Lantronix公司于2002年研发成功,它是目前最小、最完整的串行口到以太网的转换方案。XPORT使用了Lantronix公司的DSTni系列网络芯片,10/100M的PHY,以及256KB的RAM和512KB的闪存。XPORT工作电压为3.3V,支持TCP/IP等网络通信协议,有一个支持RS-232串行标准、速度高达230Kbps的串行端口,完全可以满足工业现场通信速度的要求。它还提供一个RJ-45网络端口,可以方便快捷地实现串行设备与以态网的连接,从而实现工业现场的远距离实时通信。本文主要讨论XPORT在目标板上电自动配置参数的实现方法,本文中的目标板主要由RABBIT2000 CPU芯片、XPORT元件、液晶屏及按键等资源组成,实现以太网的通讯和字符的输出显示等功能。
2. 设计思路
2.1. XPORT参数配置方法比较
XPORT可以使用多种方式进行参数的配置,其中主要提供了从以太网和串口设置的两种途径:通过以太网口可以使用XPORT Installer、网页、Telnet等手段进行设置;通过串口可以使用串口登陆的方法。
在网口进行设置的几种方法中,XPORT Installer是Lantronix公司为XPORT专门提供的操作软件,最适合第一次对XPORT进行配置或是在不明XPORT的IP地址时使用,它可以自动搜索在线上的XPORT地址列表。网页和Telnet设置的方法适用于需要对其参数进行修改时使用,前提条件是必须已经知道XPORT的IP地址。这几种方法的共有特性是必须在主机上对XPORT进行参数设置,不能脱离主机自行配置。
从串口进行配置的做法是通过串口登陆到XPORT的监视模式下,通过设置信息进行配置。这样既可以在主机通过串口登陆时配置,又能够通过目标板CPU编程实现,达到脱离主机上电自动配置完毕的目标。以下我们就采用这种方法在RABBIT 2000平台上实现以太网通讯。
2.2. 监视模式中设置参数的原理
从串口进入监视模式的方法是将XPORT元件进行复位或是重启电源,用一秒的时间键入三个小写x字符就可以进入监视模式。但需要注意的是输入3个x时应该控制好输入的时间,最简单的方法是一直输入x直到进入监视模式。进入监视模式之后,从串口会传回一些字符标志以进入监视模式,并且出现提示符,0>提示符表明成功进入监视模式,其中提示符的含义见图1。
图1
进入监视模式得到0>提示符后,可以键入VS、GC等命令得到版本号和设置信息,具体的命令请参考技术手册。如要在监视模式中进行设置,必须有设置信息的120位数据,键入SC按回车键后,将设置信息输入即可,但新的设置需要重启后才能够起作用。最简单的方法是将使用者希望设置的信息通过GC命令得到,将数据拷贝保存,并且修改其中需要更改的信息,在键入SC及回车后直接将希望设置的新信息复制过来。这种方法在串口设置中常用,提供的初始化设置程序也是基于这种方法的。
设置信息包括了XPORT的主要参数,因此我们需要分析设置信息的含义,以便使用者能够根据个人的定义去实现。其中第一条设置信息中包括了本地IP地址、远程IP地址、子网掩码、波特率、本地端口、远程端口及UDP/TCPIP模式等几个重要参数。我们进行相应配置就可以实现正常的通信。
3. Xport设置程序
3.1. 程序流程
应用程序对XPORT进行设置时,采用的原理是通过串口方式进入监视模式,由于监视模式许多命令可以应用,并且所有操作都是基于二进制的数字操作,所以编程相对简单。为了方便使用者操作,我们已经将这些操作封装成几个函数。
3.2. 程序说明
我们在程序中提供一个结构体typedef struct XPORT,主要存储希望设定的参数值,其中包括本地IP、远程IP、子网掩码、波特率、本地端口、远程端口及UDP/TCPIP类型等参数。另外还定义了一个数组unsigned char setupbuf[0x12F],用来存储设置信息的数据。
我们封装了几个配置函数的原型如下:
int init_XPORT(struct XPORT *ptr1,unsigned char *buf1) //接口函数
void monitor (struct XPORT *ptr4,unsigned char *buf4) //进入监视模式得到设置信息
void setconfig(struct XPORT *ptr2,unsigned char *buf2) //设置参数函数
int getconfig(struct XPORT *oldptr3,struct XPORT *newptr3,unsigned char *buf3) //得到设置后的数据和欲设值进行比较
主程序和进入监视模式的函数流程在上面已经给出,设置参数函数只不过是把需要设置的参数转换为十六进制替换到相应的位置即可。但需要注意校验和计算,即将第一行数据以两位字符方式转换为十六进制数,将转换后的十六进制数逐个相加,再用100H减去相加后的和,即为它的校验核,如果校验核错误,设置将不能成功。将程序烧入FLASH,上电后自动将XPORT参数设置完毕,在液晶屏上显示出成功的信息,能够进行正常的UDP数据包的收发。
4. 结论
与通过以太网对XPORT元件设置相比,通过串口程序对XPORT元件进行设置有很多优点。通过以太网方式需要使用者进行手动设置。而我们在这里提供给使用者的是一个通用的XPORT元件自动设置的程序,上电时设置程序自动启动进入监视模式,并且自动完成本地IP地址、远程IP地址、子网掩码、本地端口号、远程端口号及波特率等的设置,不需要使用者手动设置。当多块目标板需要同时连接到以太网时,通过串口程序对XPORT进行设置可以节省大量时间和人力。
现在XPORT已经被应用于工业系统中,主要适用于需要以太网通讯但对其要求不高的情况。其主要特点为简单易用,连接方便,并且可以依据使用者的要求定制所需的功能。但它也有一定的局限性,比如传输数据量大时将导致速度很慢,操作编程不太灵活等。总而言之,XPORT提供了一种以太网连接方法,使用者应按照个人的需求决定是否选用。
5. 参考文献
1. LANTRONIX,XPORT User Manual & Integration Kit, Revision D February 10, 2003
2. 刘红玲等编著,实用微机接口技术,中国电力出版社,2003.2