浅谈单芯片嵌入式网关在人员定位中的应用

时间:2011-09-02

  随着Internet技术的飞速发展,光纤环网作为一种工业底层控制局域网,其拓扑结构与常用局域网一样,基本拓扑结构有总线形、环形和晕形。在光纤单环CAN网络中,由于器件的延时将导致环路信号自激,使环形CAN网络堵塞(或称为锁死)。为遵守CAN总线控制器在链路层的协议,应设计一种光纤CAN单环网专用逻辑控制单元LCU。该单元的功能是:对CAN总线数据实现收发控制,即主节点对接收到的数据不转发,当数据沿光纤环回到原发送节点时,立即被剔除;从节点对接收数据实现转发。同时还可消除环形光纤CAN总线网络的自激现象,保证环网不被堵塞。

  由于单芯片嵌入式网关具有成本低、体积小、可靠性高、功耗低、环境适应能力强等诸多优点,在通信和工业控制等领域得到了日益广泛的应用。

  1 嵌入式网关构架

  以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802·3系列标准相类似。以太网早由Xerox(施乐)公司创建,在1980年,DEC、lntel和Xerox三家公司联合开发成为一个标准。以太网是应用为广泛的局域网,包括标准的以太网(10Mbit/s)、快速以太网(100Mbit/s)和10G(10Gbit/s)以太网,采用的是CSMA/CD访问控制法,它们都符合IEEE802.3。

  基于以太网的TCP/IP转换为工业RS 485和RS 232协议的基本构架如图1所示。根据嵌入式网关的功能,本设计实现了以下协议:HTTP,TCP,UDP,IP,ICMP,ARP。

  (1)HTTP是嵌入式WEB服务器的主要构架,属于应用层协议,本文主要实现网关系统参数设置与查询、基站系统参数的设置与查询。

  (2)TCP协议是面对连接的,在本文中实现井下基站与远程以太网终端数据的通信:提供TCP Server功能,负责终端电脑主动连接网关,实现数据通信;实现TCP Client功能,提供网关主动发起的数据传输。

  (3)UDP 是User Datagram Protocol的简称, 中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。它是IETF RFC 768是UDP的正式规范。UDP协议的全称是用户数据包协议,在网络中它与TCP协议一样用于处理数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。

  (4)IP是英文Internet Protocol(网络之间互连的协议)的缩写,中文简称为“网协”,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守 IP协议就可以与因特网互连互通。IP地址具有性,根据用户性质的不同,可以分为5类。另外,IP还有进入防护,知识产权,指针寄存器等含义。

  (5)ICMP和ARP协议实现网络的一些基本配置,ARP为地址解析协议,是将IP地址转换到硬件地址的协议,ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

  2 硬件结构设计

  硬件的系统框图如图2所示,光纤转电模块实现光纤到电的RJ45转换,RJ45实现光纤转换模块和MC9S12NE64(以下简称NE64)的连接,4个SPE485实现该网关与基站的RS 485连接,MAX232实现调试输出或基站的RS 232连接。

  2.1 MC9S12NE64以太网单芯片简介

  NE64是Freescale公司于2004年9月推出的高性价比、业内嵌入式单芯片以太网微控制器,内核为HCS12。由标准的内置外设构成,主要包括一个16 b的中央处理器单元(HCS12 CPU),64 kB的FLASHE2PROM,8 kB的RAM(EMAC共享),集成了10/100 Mb/s以太网物理层收发器(EPHY)的以太网媒体访问控制器(EMAC),2个异步串行通讯接口模块(SCI),1个4通道16 b定时器模块(TIM)以及多达21个管脚可用于键盘唤醒输入(KWU)等。内置的PLL电路允许对功耗和性能进行调节来满足运行要求。

  2.2 网络接口设计

  NE64内部集成了用于连接以太网的EMAC和EPHY协议层,因此省了外接的PHY,只需连接少许的外部电阻和电容以及一个RJ45接口就可以实现网络的物理连接,接口电路如图3所示。

  2.3 RS 485和RS 232接口设计

  NE64本身具有双串口,因此本文将串口0(SCI0) 设计为RS 485通信,将串口1(SCIl)设计为RS 232通信。

  在煤矿井下人员定位系统中,该网关通过RS 485(串口0)与本地基站相连以获取人员信息。为增加系统中RS 485的驱动能力,设计了4路接口,原理图如图4所示。

  在图4(a)中,只画了一路的RS 485接口电路,其他的3路基本一样。在接收脚RXD00串联电阻和LED指示灯,用于指示电路的接收状态,发送状态的LED指示灯没有在图中画出,原理同接收电路。WD1~WD3及串联的20 Ω小电阻,具有防雷击功能。图4(b)中的RXD01~RXD03是另外3路RS 485的接收端,要注意的是图中74HC09是集电极开路输出,因此在输出时需接一个上拉电阻,RXD0直接连接NE64的串口0的接收端,而4路RS 485的发送端TXD0连接在一起并和NE64的串口0的发送端相连。

  3 软件实现

  嵌入式网关的软件系统完成系统的协议转换以及wEB服务器的构建,基于TCP/IP的网络协议栈有很多,但是针对嵌入式系统,必须考虑到硬件和软件资源,从而需对其进行精简使之应用于嵌入式系统。考虑到硬件资源和软件的开发,本文选用了源码开放的OpenTCP协议栈,该协议栈由芬兰的Viola Systems公司开发,实现了大多数的基于vIP4的网络协议,如HTTP,DHCP,SMTP,TFTP,TCP/IP,DNS,ARP,ICMP等协议,并由美国的SourceForge公司根据NE64的硬件资源将其移植过来,实现了在16位低成本嵌入式系统上的网络化,程序的流程如图5所示。

  3.1 基于TCP服务端和客户端的建立

  TCP:Transmission Control Protocol 传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议。基于TCP服务器端和客户端程序是本设计的主要应用程序,负责整个定位数据的传输。考虑到上位机主监控软件的设计,本文采用OpenTCP协议栈提供的API函数来建立TCP服务程序。在程序中,远程主控端可以通过客户端程序主动拨号与本网关设备的服务器端建立连接,并获取基站人员定位信息;如果该网关设备中已存放有大量数据(取决于本地存储器),那么它将通过本地客户端主动拨号与远程主控端服务器建立连接,并上传数据。

  服务器端程序包括初始化函数void tcps_init(void)、主回调函数void tcps_run(void)以及事件监听函数INT32 tcps_eventlistener(INT8,UINT8,UINT32,UINT32)。本文仅列举了服务器端的初始化函数:

  3.2 其他网络协议的实现

  其他网络协议包括嵌入式WEB服务器、UDP、ARP协议、DNS协议以及ICMP协议。WEB服务器是基于HTTP网络协议而构建的,在本文主要用来实现系统参数的查询和设置,包括TCP的套接字的初始化、HTTP的初始化以及HTTP回调函数。基于UDP的数据传输是该网关的扩展功能,运用于大量数据传输,并且某些数据可以被丢掉的,如将该网关运用在井下人员的语音传输系统中。

  3.3 RS 485以及RS 232数据传输

  RS 485和RS 232是该网关设备与井下人员定位基站通信的主渠道,软件设计主要包括两部分:初始化和数据通信。初始化程序主要设置通信波特率以及有关的状态,数据通信主要包括串口中断处理(发送和接收)以及对收到的基站数据处理。

  4 单芯片嵌入式网关在煤矿井下人员定位中的应用

  在现场安装了5个网关设备,每个网关分别连接6台基站,安装距离远为600 m。PC机端的主控软件用VC++6.0设计,主界面包括简单服务器和客户端拨号程序。以太网采用自动协商协议,网速为100 Mb/s。以太网数据缓冲区设置为1 kB,实际上有用的字节数为804 B,除去数据长度、校验和一些特殊信息,可用的字节数为796 B,即传送的数据量为796 B。

  5 结 语

  基于单芯片的MC9S12NE64的嵌入式以太网网关,完成了光纤环网到井下基站的数据转换,实现了低成本、高速率的嵌入式WEB服务器、简化的基于TCP服务器和客户端用户应用程序以及UDP的数据传输的系统。该网关可以广泛应用于工业生产和其他控制领域,实现小型工业网络监测系统,具有良好的应用前景。


  
上一篇:面向设备的编程模式概述
下一篇:浅谈IHA架构的PCI中断应用

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料