首页 » 技术文章 » 利用Nport Express实现单片机的接入网络

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

作者:  时间:2010-09-26 10:09  来源:EDN

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

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

  3.3.1 IP地址范围的设置

  需要对(S2E)和(E2S)的可寻址IP范围进行设定,它决定了可进行数据交互的网络端计算机和Nport ExpressIP地址范围, 这个参数是绝对重要的,数据的往来都是以它为目标进行寻址的,必须对它进行合理的设定。需要进行交互的计算机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是另一个比较重要的菜单选项,从这个窗口中,我们可以检查串行口参数的设置情况,其中的两个参数TXRX比较重要,显示了Nport Express的收发数据量,从而也为我们判断Nport Express是否工作正常提供了依据。

  4 单片机接入

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

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

  5 网络端编程

  5.1 网络控件的选择

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

  在VB中利用Winsock控件,可以为两个或多个Internet节点建立连接并使之交换数据。对用户来说,Winsock控件是不可见的,它提供了访问 TCPUDP网络服务的方便途径,编写客户或服务器应用程序时,可不必了解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]

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

  Private Sub Timer1_Timer()

  Winsock1.SendData (Text1.Text)

  End Sub

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

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

  Private Sub Winsock1_DataArrival (ByVal bytesTotal As Long)

  Dim strdata As String

  Winsock1.GetData strdata vbString

  List1.AddItem strdata

  End Sub

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

  6 结束语

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

相关推荐

工业以太网市场需求上长 交换机产业机不可失

以太网  交换机  2013-07-16

飞思卡尔CEO:新战略初现成效 未来更关注中国市场

飞思卡尔  单片机  2013-04-28

力科推出100/10BASE-T 以太网解码软件

力科  以太网  示波器  2013-03-12

飞思卡尔携手周立功单片机 共同拓展中国MCU市场

飞思卡尔  MCU  单片机  2012-12-19

英飞凌为提高XMC4000单片机生产率免费提供DAVE 3

英飞凌  单片机  2012-04-20

杭州华数与蓝联部署博通EoC有线电视架构解决方案

博通  以太网  2012-03-23
在线研讨会
焦点