利用Nport Express实现单片机的接入网络

发布者:TP9111最新更新时间:2010-09-18 来源: 半导体技术关键字:Nport  Express  WinSock  RS-232 手机看文章 扫描二维码
随时随地手机看文章

  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

  则单片机发出的数据流将自动添加到列表框中。值得特别注意的一点是,必须对Winsock的Bind属性赋予合理的初值,并且要与Nport Express的本地端口值一致。数据的具体处理涉及到很多方面的内容,如通信协议的制定,低层数据库的建立与数据更新等,在此不一一累述。

  6 结束语

  以太网作为IT产业的主要通信骨干,已是众所周知的事实,并且在与人类生活息息相关的信息产业上得到了大量应用,面对这股网络化的潮流,身为所有产业基础建设的工业自动化系统,也应广泛的应用TCP/IP以太网作为系统通信界面,提高系统自动化的能力。利用摩莎公司的Nport Express产品实现单片机接入以太网,达到了远程测量和控制的目的,简单易用、成本适中、效果明显是串行通信网络化的一种可行的方案。

关键字:Nport  Express  WinSock  RS-232 引用地址:利用Nport Express实现单片机的接入网络

上一篇:爱立信推出全球首款21Mbps嵌入式宽带模块
下一篇:基于LabVIEW8.6和S3C2440的手持数字波形表的界面设计

推荐阅读最新更新时间:2024-05-02 21:09

8051单片机实战分析(以STC89C52RC为例) | 12 - 串行口中断的使用
1 中断系统结构 以下这张图是从中断引脚到中断入口所经过的通道: 从图中不难看出RX与TX引脚经过了SCON、IE、IP这些寄存器,因此我们在写程序时得把这些寄存器功能配置好,CPU才会按照我们的想法只执行!下面分别对这些寄存器进行介绍(稍微了解一下即可,忘记的时候再查)。 1.1 SCON寄存器 SCON(Serial Control Register),中文叫串行口控制寄存器,SCON寄存器是用于控制串行通信的方式选择、接收和发送,指示串口的状态。 首先介绍SCON寄存器位SM0/SM1,它们用于设置工作方式: 其余SCON寄存器位的用途: 要注意的是在串口中断处理时,TI,RI都需要软件清 0 ,硬件置
[单片机]
8051<font color='red'>单片机</font>实战分析(以STC89C52RC为例) | 12 - <font color='red'>串行口</font>中断的使用
proteus与keil Cx51的单片机仿真(串行口单工通信)
单片机U1、U2串行口均工作于方式1,其中U1做接收机,U2为发送机,波特率9600,U1接收U2发送的数据后,依次送P1、P0、P2口进行流水灯显示,试编写程序,并通过Proteus仿真。 电路图: U1程序: #include reg51.h //包含单片机寄存器的头文件 unsigned char receive(void)//接收一个字节数据 { unsigned char dat; while(RI==0); RI=0;//只要接收中断标志位RI没有被置1,等待,直至接收完(RI1) dat=SBUF;//将接收缓冲器中的数据存于dat return dat; } void main(void) { unsign
[单片机]
RS-232-C端口实时监控软件的设计实现
  一、 引言   在实验室和工业应用中,受信道成本限制,串口常常作为计算机与外部串行设备之间的首选数据传输通道,而且由于串行通信方便易行,许多设备和计算机都可以通过串口对外设进行控制、检测,串口通讯日益成为计算机和外设进行通讯、获取由外设采集到的监测数据的一个非常重要的手段。本文所描述的程序实例运行于Windows 9x操作系统下,可后台运行、实时接收、处理从端口传来的数据,并能通过向串口发送命令来控制外设的动作。为了避免在实时监控数据时引发程序阻塞,在本程序中引入了线程和端口中断响应等技术。   二、 程序设计思路   由于本程序要对串行端口进行实时监控,这就要求它是一个后台程序,在监控的同时可以在前台进行其他一些于之无关
[单片机]
什么是PCI Express 标准
本白皮书主要着眼已经得到广泛采用的PCI 总线的成功优势所在,同时详细介绍下一代高性能I/O 互连技术PCI Express 它将作为标准的局域I/O 总线被广泛应用于未来各种计算机平台。本白皮书还将就PC 总线技术的演变历程、PCI Express 的物理层和软件层、PCI Express 所能带来的益处和竞争优势以及此项崭新技术在测量自动化系统领域里预示的令人振奋的深远意义,做个整体技术性概述。 PC 的演进历史  上世纪90 年代初,PCI 总线一经推出,即统一了当时并存的多种I/O 总线,诸如VESA 局域总线,EISA,ISA 和微通道等等,如图1所示。它首先被用于实现芯片与芯片间互连并替代了不全面的 ISA 总线。在
[嵌入式]
51单片机教程第6讲_串行口通信
STC51单片机一般带有1个串口,有的带有2个串口,串口一般用于下载程序和串口通信。串口通信特别适合控制设备,所以工控机的电脑上一般都带有串口。 51单片机的串口引脚为P3.0引脚与P3.1引脚,分别是RXD和TXD引脚。串口通信可以用于单片机和其它芯片通信或者单片机之间通信或者单片机与电脑通信。串口通信一般都是交叉连接。标准的串口有9个引脚,我们一般情况下,只用RXD TXD GND,剩下的引脚都是通信控制引脚,在以前用于控制电话机,现在已经基本上不用了。所以我们的51单片机上只保留了RXD和TXD。 串口通信的协议非常简单。如果单片机上的串口不够用,还可以用任意两个引脚模拟串口通信。 一般情况,我们用带有起始位的8位串口协议。
[单片机]
RS-232串行通信消除干扰噪声的设计方法分析
  1通信线路的绝缘设计方法   RS-232的大噪声(干扰)容限可使接口可靠工作,避免对由外部加到导线上的噪声引起的数据错误。在一个充满了电子噪声的连接环境中,绝缘可以防止噪声在连接电路之间的耦合。绝缘通过将一个电路分成一个个独立的块来进行工作。这些块使用光和磁耦合来传送能量和数据,而过滤掉大部分的噪声。   绝缘可以隔开地线、数据连接,或者把两者都隔开。地线绝缘使得一个电路对电源震荡和在被附近电路共用的地线中的噪声有免疫能力。在长的连接中,地线绝缘还使得连接对从一端到另一端的接地电位差异有免疫能力。绝缘数据连接避免了噪声在连接和它所连接到的电路之间的耦合。   大多数的电路连接使用直接的办法,例如焊点或者诸如螺母接线
[嵌入式]
RS-232收发器接口芯片SP3223E/3243E的原理及应用
1 概述 SP3223E/3243E是SIPEX公司生产的RS-232收发器,它支持EIA/TIA-232和ITU-T V.28/V.24通信协议,适用于便携式设备使用(如笔记本电脑及PDA)。SP3223E/3243E内有一个高效电荷泵,可在单+3.0V~+5.5V电源下产生±5.5V的RS-232电平,该技术已申请了美国专利(专利号为U.S.--5306954)。满负载时,SP3223E/3243E器件可工作于235kbps的数据传输率。3.3V时仅需0.1μF的电容。SP3223E是一个双驱动器/双接收器芯片,SP3243E则是一个三驱动器/五接收器芯片,是笔记本电脑或PDA的理想器件。SP3243E 包含一个总是处于激活
[嵌入式]
兼容IPv4与IPv6的Winsock网络编程研究
0 引 言 随着通信技术和网络技术的飞速发展,特别是近年来,IPv4协议面临着一些难以解决的问题,如地址短缺、缺乏服务质量控制Qos和安全性差等。为了应对这一挑战,IETF(Internet Engineer Task Force)组织提出了为适应未来对于网络基础设施数量和质量需求而设计的下一代互联网协议IPv6。IPv6继承了IPv4的优点,并根据IPv4多年来运行的经验进行了大幅度的修改和功能扩充,其扩展性、路由、安全性、配置和可靠性都有明显改进。 l IPv6相对于IPv4 WinSock的改变 1.1 IPv6中新增加的常量 为了支持IPv6,需要定义一个新的地址族名,以便正确地识别和
[网络通信]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved