利用Nport Express实现S2E(串行口到以太网)

2012-04-12 15:44:59来源: 互联网

1 引言

  单片机传输数据有两种方式:串行和并行。并行传输只能应用于近距离的通信,而对于大部分单片机测控系统来说,分布范围广,距离中央处理机远,因此只能采用串行传输[1]。串行传输需要经过电平转换,一般有两种方案:RS-232标准,RS-485标准。第一种标准的最大传输速率为20kb/s,最大传输距离为15m,而RS-485最大传输速率为10Mb/s,最大传输距离为1200m,超出这个范围,由于干扰信号的叠加和传输信号的衰减,误码率将大大增加 [2]。那么如何实现远距离的测控和数据传输呢?利用Nport Express把单片机接入因特网,使数据通过网络传输,则可以很好地解决远程通信的问题。本文就利用Nport Express实现S2E(串行口到以太网)进行了细致的讨论。

  2 Nport Express简介

  Nport Express是由台湾(MOXA)摩莎技术有限公司设计生产的单片机网络接入设备,它有两个端口,一个是RS-232或RS-485电平的输入接口,另一个是网络接口,内部进行TCP/IP封装,对用户来说是完全透明的。其主要特点如下:

  (1)体积只有手掌大小,安装调试方便,自动检测10/100M bps以太网端口;

  (2)接入口支持RS-232/422/485标准,提供宽泛的主机与远程串行口的Internet/Intranet连接;

  (3)支持多个主机共享一个服务器或串行端口;

  (4)适用于Windows NT/95/98/ME/2000等操作平台,参数配置直观方便;

  (5)接入网络安全可靠,并有相应的控制保障措施,串行口最大速率可达230.4k bps。

  3 对NportExpress的参数设置

  虽然Nport Express对以太网的连接是一种虚连接,而Windows操作系统会把它的串行接入口当作一个真实存在的物理接口。这个接口完成的不仅仅是数据的接收发送,而且包括RTS,CTS,DTR, DSR, DCD等控制信号的传送。Nport Express支持多种协议:ARP, UDP, TCP, ICMP, Telnet/Rtelnet和DHCP。 TCP 确保了数据的准确传输并提供了自动纠错功能,而IP完成数据块的寻址和路由。在安装和使用Nport Express之前,应对Nport Express的基本参数进行设置。

  3.1 参数设置界面的打开

  只有获得Nport Express的实际IP地址,才可以打开它的参数设置界面。IP地址由四个字节组成,是Nport Express在网络中的身份证。由于接入网络方式的不同,如局域网接入或通过Modem 拨号上网,IP地址会有所不同,而且每次接入网络时, Nport Express获得的IP地址也可能不同。为了获得Nport Express的实际IP地址,首先运行Nport Monitor,打开Nport Monitor界面,然后运行Configure,Search,则可以查到Nport Express的实际IP地址。然后从“开始”菜单,选择“运行”,输入“telnet 192.168.127.254”(此值为缺省值),当Nport Express所获得的实际IP地址与此不同时,应输入实际IP地址,就可以实现S2E的连接了。

  当Telnet窗口打开后,输入1选择ansi/vt100 为控制终端类型,回车后,会出现Telnet的主控界面,在此进行Nport Express各项参数的设置。打开后的主界面如图1所示。

  

打开后的主界面

  3.2 Nport Express运行模式的设置

  Serverconfig是对Nport Express服务器的名称、IP地址、子网掩码、网关的设置进行验证,本项菜单无法改动,也无须改动。 Nport Express有三种运行模式:基于主机连接模式,对等连接模式和自然连接模式。由于自然连接模式是利用TCP/IP协议实现异步串行口的网络接入,可实现与局域网或广域网的连接,使用者可以方便的打开异步串行口,从远程主机上读写原始数据,并实现对异步串行口的远程控制,本文选用这种模式,即RAW-ConnecTIon Mode(自然连接模式)。

  有两种传送模式可供选择,即TCP模式与UDP 模式。它们的比较见表1。

  

  Op-mode菜单项的第一个子菜单可以实现对连接方式的设定。从表1可以看出,TCP模式是一种面向连接的传送方式,在传送数据前,通信双方必须都收到对方的回应信号才能启动数据的传输,因而占用了大量的时间用来完成握手信号的传送,但相对于UDP来说,数据传送的安全性较高。而UDP模式是一种快速存取数据的通信方式,通过UDP的特性,Nport Expres可同时接收或发送数据给多台设备,且不需要重新建立联机,节省联机的时间,加快数据传送的效率,对于实时性要求较高的系统,一般选用这种方式,本文的实验中也选择了 UDP模式。经过比较,决定选用RAW Connection(UDP Server/client)。

  3.3 可寻址的IP地址范围及端口号的设置

  Op-mode还可对收发数据的客户机或服务器的 IP地址范围号和端口号进行设定,这一菜单项特别重要,关系到数据收发的成败,需要仔细设置。

  3.3.1 IP地址范围的设置

  需要对(S2E)和(E2S)的可寻址IP范围进行设定,它决定了可进行数据交互的网络端计算机和Nport Express的IP地址范围, 这个参数是绝对重要的,数据的往来都是以它为目标进行寻址的,必须对它进行合理的设定。需要进行交互的计算机IP地址一定要包含在内,如果一项设置包含的IP地址太多,而中间有很多IP地址并不需要交互,可以把IP地址范围分段设定,最多可以分为四段。

  3.3.2 端口号的设置

  端口号分为远程端口号和本地端口号. 无论TCP还是UDP连接方式,数据报都是根据IP地址和端口号达到目的地的,在使用时可以为Nport Express设定一个合适的端口号,即远程端口,一般可自由设定。本地端口指的是要与Nport Express进行数据交互的网络终端计算机的端口号,它的设定以不与计算机外设的缺省端口号冲突为原则。只有IP地址在可寻址范围内,且本地端口号与Nport Express的设定相一致的网络终端计算机才能实现与Nport Express的数据交互。

  3.4 串行口参数的设置

  第三个菜单项SerialPort为串行口的设置,包括波特率、奇偶校验、数据位、流控等参数的设置,这些参数的设置必须和单片机的串口传送参数相一致,否则,数据将不能被正确的收发。

  3.5 利用Monitor 菜单项监控数据的收发

  Monitor是另一个比较重要的菜单选项,从这个窗口中,我们可以检查串行口参数的设置情况,其中的两个参数TX、RX比较重要,显示了Nport Express的收发数据量,从而也为我们判断Nport Express是否工作正常提供了依据。

  4 单片机接入

  以上对Nport Express的参数进行了比较详尽的设置,作为单片机接入网络的关键设备,Nport Express起到了一个单片机网卡的作用,它是串行口数据往来的通道,而单片机作为现场设备检测控制装置,是实现数据交互的门户。利用单片机采集各种数据,并从串行口发出,当然电平转换必不可少,如利用MAX232或HIN232CP芯片,转换成232电平,接入Nport Express的串行口输入口。其中,关键之处在于单片机波特率和握手协议的设定,一定要与Nport Express相一致,才能实现数据的正确传输[4] 。单片机的初始化与收发程序分别如下:

  

  单片机的波特率设定为9600 bps,数据的收发采用中断方式,当单片机收到网络端发来的控制命令时便可触发执行相应的操作,实现远程监控的目的。其原理图如图2所示。

  

  5 网络端编程

  5.1 网络控件的选择

  为完成数据的采集处理和对单片机的控制,需要在客户机或终端服务器设计一软件平台,实现客户机与Nport Express通过以太网的交互。Nport Express驱动模式支持的开发语言很多,如VC,VB,Delphi, C等。因为VB操作界面简单,串行通信与网络接入控件使用方便,故此选择VB编写前台控制程序。VB中有三个internet控件:internet Transfer, webBrowser, WinSock,都是AcTIveX控件,可以用来实现每一层Internet 通信的访问。

  在VB中利用Winsock控件,可以为两个或多个Internet节点建立连接并使之交换数据。对用户来说,Winsock控件是不可见的,它提供了访问 TCP和UDP网络服务的方便途径,编写客户或服务器应用程序时,可不必了解TCP的细节或调用低级的Winsock APIs。通过设置控件的属性并调用其方法就可以连接到一台远程机器上,并且还可双向交换数据。

  5.2 Winsock的属性设置

  Winsock的属性主要有以下四个:

  (a) Protocol ,返回或设置Winsock空间所使用的协议,本文选用UDP;

  (b)RemoteHostIP,远程主机IP地址,本文中即Nport Express的实际IP地址;

  (c)RemotePort, 要连接的远程端口号,要与Nport Express的设置相一致;

  (d)LocalPort, 本地端口,即与Nport Express进行数据交互的计算机端口号,可自由设定,但要与Nport Express中的设置值相一致。

  5.3 利用Winsock实现数据的收发[5]

  调用Winsock的SendData方法,可以发送数据到网络,经Nport Express传输到单片机,实现前台对现场设备的远程控制,最简单的调用方法如:

  Private Sub Timer1_Timer()

  Winsock1.SendData (Text1.Text)

  End Sub

  由一个时钟控件触发Winsock控件的SendData 方法,实现数据向网络的传输,并经Nport Express,传送到单片机,实现控制命令的传送,当然也可以由其他事件触发。

  调用GetData方法,可获得单片机发送到网络上的数据流,这个方法一般在Winsock的DataArrival事件中使用。例如,一段数据接收程序如下:

  Private Sub Winsock1_DataArrival (ByVal bytesTotal As Long)

  Dim strdata As String

  Winsock1.GetData strdata, vbString

  List1.AddItem strdata

  End Sub

则单片机发出的数据

[1] [2]

关键字:Nport  Express  S2E  串行口  以太网

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2012/0412/article_15641.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
Nport
Express
S2E
串行口
以太网

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved