用于单片机的以太网网关--网络通
2006-05-07
摘要:“网络通”是基于普通单片机的廉价以太网测控网关。它可以将具有RS-232、RS-485等接口的测控设备简单而且直接地连接在以太网(因特网)上,利用丰富的现成的以太网资源,组成一系列以太网的分布式测控系统。
关键词:以太网分布式测控系统 以太网测控网关 网关 网络通
1 概 述
利用现有以太网(因特网)的丰富资源,组建以太网分布式测控系统是一种低成本、高可靠性、快捷的技术方案。组建以太网分布式测控系统的关键设备是以太网测控网关,而以太网测控网关的组成方式有以下三种。
第一种是在20世纪90年代中期,人们采用PC机+网卡+采集插卡组成以太网测控网关,进行协议转换,将由现场总线连接测控设备组成的分布式测控系统接入以太网,将管理PC机放在以太网内,组成一个较大的自控系统。这种组成方式成本很高,只适用于大的自控系统。
第二种是在近几年,人们采用嵌入式系统+以太网卡+采集卡来组成以太网测控网关。嵌入式系统实际上是在硬件和软件上均可按用户需要进行剪裁的PC机。例如,PC-104实际就是一台没有显示器、键盘、硬盘、软盘的PC-486DX计算机,有电子硬盘及各种I/O插口,可装入Windows CE和其他PC机应用软件。所以,实际上它是第一种网关的简化和微型化。它的成本比第一种有所下降,但价格还是较高。另外,利用了PC机的软件,开发速度较快。
第三种是今年以来,人们利用单片机加上以太网接口芯片组成以太网测控网关。这实际上是嵌入式网关向大众化、普及化的进一步发展。它以单片机取代PC机,用以太网接口芯片取代以太网卡,使测控网关的价格下降到几百元。这就使测控设备能以低廉的费用,以简捷的方式接入以太网,使网络家电变为现实,使以太网分布式测控系统能得到迅速的发展。
本文重点介绍我们研制的基于单片机的以太网测控网关--"网络通"的结构、原理和应用。
2 网络通的组成
"网络通"是以太网测控网关。它主要在网络层完成以太网TCP/IP协议和测控设备现场总线RS-232、RS-485、并口通信等协议的转换,完成以太网和现场总线网络间的互联,实现不同以太网和现场总线网络之间的数据交换。
"网络通"的组成如图1所示,由单片机和以太网接口芯片组成。
以太网接口芯片可选用符合IEEE802.3协议的10Base-T通用接口芯片,如UM9003、RTL8019、DM9008等芯片。这些芯片完成与以太网在物理层上的通信任务,采用RJ-45插口,可以直接连接到以太网上。
"网络通"对单片机没有什么独特的要求,可选用普通的单片机,如80C51等。单片机内用汇编语言写入TCP/IP通信协议,以及RS-232、RS-485等现场总线及并行总线通信协议。它负责完成数据链路层、网络层的协议转换,数据交换任务。它将从以太网接收来的IP包,进行拆包,取出数据,再按RS-232、RS-485等现场总线或并行总线通信协议重新组成帧,发送给测控设备;或者将测控设备发送来的数据帧,重新打成IP包,向以太网发送。
由于"网络通"具有RJ-45、RS-232、RS-485及并行通信总线等多种接口,是异型网互联、协议转换的网关,所以使用"网络通"可以很容易将具有RS-232、RS-485、CAN、双口RAM等接口的测控设备连接到以太网上,构建基于以太网的分布式测控系统。
由于"网络通"的接口丰富,且价格低廉,所以它既可以作为网关连接以太网和RS-485、CAN等现场总线网,也可以直接将具有各种接口的测控设备接入以太网,组成以太网分布式测控系统,而不需要再架设现场总线,如图2所示。
3 上位PC机软件
"网络通"为了方便测控设备通过以太网和以太网上任一PC节点进行数据通信,特意设置了VB下的专用控件lenlib.ocx,用户只需在PC机上安装10/100 Base-T以太网卡,在WIN98平台上即可调用该控件。控件lenlib.ocx提供以太网上接收和发送"网络通"产品数据的软件接口。嵌入lenlib.ocx控件可设计开发出"网络通"的各种网络控制系统应用软件,实现各种基于以太网的分布式测控系统。
lenlib.ocx控件是一种ACTIVEX控件,使用lenuser对象。它向应用开发者提供了一个属性remoteip,3个方法GetData()、SendData()、Link()和1个事件dataarrival()。其调用步骤如下。
① 首先连接PC机和"网络通"。remoteip属性赋值"网络通"的IP地址,再用Link()方法连接。当收到"ACK"字符串表示连机成功时,可以进行下一步通信。
② 通信。连通后,GetData()用来接收网络数据,SendData()用来发送数据到网络上。PC机收到"网络通"发数据后,触发DataArrival()事件,使用 DataArrival 事件内的 GetData 方法来获取已发送的信息,获取当前的数据块并将其存储在变体类型的变量中。
③ SendData,GetData,link语法:
返回值 Void
a. object.SendData data
b. object.GetData data, [type,] [maxLen]
通常总是将GetData方法与 DataArrival事件并用,而 DataArrival 事件包含totalBytes参数。如果指定一个比totalBytes参数小的maxLen,则将得到警告10040,以此指出剩余的字节将丢失。
c. object.link
参数如表1所列。
表1
部 分 | 描 述 |
Object | 对象表达式,其值是控件的对象Lenuser1 |
Data | 在SendData方法中,是要发送的数据,对于二进制数据应使用字节数组 在GetData方法成功返回之后存储获取数据的地方。如果对请求的类型没有足够可用的数据,则将data设置成Empty |
Type | 可选的。获取的数据类型,如下例“设置值”所示 |
MaxLen | 可选的。在接收到字节数组或字符串时所需大小。如果对字节数组或字符串参数丢失,则将获取所有可用数据。如果提供的数据类型不是字节数组或字符串,则忽略这个参数 |
设置值
type的设置值如表2所列。
表2
描 述 | 常 数 |
Byte | VbByte |
Integer | VbInteger |
Long | VbLong |
Single | VbSingle |
Double | VbDouble |
Currenc | VbCurrency |
Date | VbDate |
Boolean | VbBoolean |
SCODE | VbError |
String | VbString |
Byte Array | VbArray+VbByte |
4 "网络通"应用中的几个技术问题
在应用"网络通"组建以太网测控系统的实际过程中,要注意以下几个问题。
(1)"网络通"的传输速度
在利用"网络通"组成的以太网测控系统中,上位PC机与下位测控设备之间数据交换的速度取决于"网络通"的传输速度;而"网络通"的传输速度取决于以太网接口芯片的速度、单片机的处理速度,以及"网络通"和测控设备交换数据的方式。
在一般的测控系统中,要传送的仅仅是控制命令和测量数据,数据量不大?quot;网络通"与测控设备之间采用RS-232、RS-485、CAN等串口方式连接,其通信速率仅几十kb/s~上百kb/s。这时以太网接口芯片的速度(10Mb/s)和微处理器的速度就远大于串口通信速度。"网络通"的传输速率就取决于串口的通信速率。
当要传送的数据速率要求很高时(如图像),"网络通"与测控设备之间就不能再采用串口连接,而必须采用并口连接,这时传输速率就取决于微处理器的处理速度。此时,要选用一些高速的单片机,如P89C52RX系列或SX系列等单片机。
以太网接口芯片的速度已达10 Mb/s,远大于微处理器的速度,远大于"网络”与测控设备的数据交换速度,远大于测控工作的要求,所以对其可不予考虑。
(2)网络通的IP地址
以太网测控系统中,测控设备通过"网络通"进入以太网,就必须确定自己的IP地址。"网络通"的IP地址有活动IP和固定IP两种获取的方法。上电时,"网络通"软件自动在系统中搜寻是否有代理服务器。若有代理服务器,则申请并由代理服务器分配给一个活动IP地址,作为"网络通"的IP地址;若系统中没有代理服务器,则启用"网络通"在硬件上设立的一个固定IP地址作为"网络通"的IP地址。
(3)安全控制
在小型封闭的局域网中进行测控,安全问题不大,但在广域网甚至因特网上进行测控,安全控制就至关紧要。为此,在"网络通"中,微处理器采用48~128位的用户密码来保护测控设备的安全,合法用户可以修改、设定自己的密码。网络非法用户即使窃取了"网络通"的IP地址,没有用户密码,也无法通过"网络通"来操作测控设备。
(4)实时性问题
测控系统在很多场合都要强调它的实时性,但以太网不是一个实时系统。由于它的载波侦听碰撞检测(CSMA/CD)通信方式,决定了以太网中IP包的传输会有延迟,甚至丢包,这是利用以太网组成分布式测控系统最大的缺点。但是,现在以太网的速度越来越快,百兆网甚至千兆网,或在一些小型封闭的局域网中,当网络的繁忙程度大为减轻时,IP包几乎没有碰撞,传输延迟、丢包现象就大大减小,不会影响测控系统的正常工作。同时,在系统的网络层之上,可增加应答协议,丢包的问题就可基本克服。据此,我们做过的几个以太网测控系统一直工作正常。
(5)"网络通"的连接
"网络通"有两个插座:一个是RJ-45插座,可用双绞线直接连接到以太网;另一个是25脚插座,内含RS-232、RS-485、电源和数据、地址、控制等并行总线。用户可用硬跳线选定自己使用的通信方式。
"网络通"是一个系列产品,分为HX-1和HX-2两种,其结构基本一样。主要不同是内部采用的微处理器芯片不同,因而传输速率不同:HX-1型传输速度在1 Mb/s以下,主要用于文本数据传输;而HX-2型在1 Mb/s以上,主要用于图像数据传输。
结束语
用单片机组成以太网关--"网络通"可以满足一般测控系统的要求,而且它的造价、尺度都非常小。它既可以作单独的网关,用以连接以太网与现场总线网,或将测控设备直接接入以太网,这就使组建以太网测控系统不再是一件很麻烦的事;同时,它又可以作为一个模块,直接嵌入测控设备,生产新一带的网络测控设备、网络家电。这必将大大地促进以太网测控系统的发展。
上一篇:用单片机设计现场总线转换网桥
- 祛魅固态电池:一文看懂这项大火的技术