嵌入式LonWorks网络智能网关设计

 提示:点击图片可以放大
来源:工控机    发布时间:2024-04-24 12:06:34

  实现LON网和以太网协议的转换方案。本网关采用电力线和带有以太网控制器的微处理器LPC1778分别实现器,实现了一个远程监控平台,达到了远程智能交互与监控的目的。本文给出了该智能网关硬件平台和软件平台的方案和实现方法。

  LonWorks技术是美国Echelon公司于90年代初推出的一种现代总线技术,它具有开放性、高速性和互操作性而已被各行业普遍的使用。而LonWorks设备往往工作环境恶劣,其自身各部分与周围其他电子设备之间不可避免存在各种各样的形式的电磁干扰和静电放电,保证LonWorks设备的安全稳定运行有着重大的意义。

  LonWorks设备正常运行过程中涉及的参数众多,控制策略复杂,未解决其现场远程监控的需要,有必要开发出一款自动化程度高的智能网关,实现LonWorks协议和TC/IP协议的转换,将Lon网和以太网互连,进而达到对远方的LonWorks设备运行集中的、远程的监控的目的。

  而传统的网关基本采用16位单片机来实现,受限于其运算能力低、存储空间小的特点,而不能够适用于多任务、实时性高的应用环境。本文设计的设计的一款嵌入式LonWorks网络智能网关,采用32位的ARM为主控芯片并嵌入C/OSII操作系统,具有能够很好的满足多任务、实时性、快速性高等复杂监控环境的功能。

  图1给出了系统结构示意图,下位机设备将收集到的监控参数通过电力线上传至智能网关,LonWorks网关根据电力通讯协议将已将收集到的数据通过协议转换将Lon网协议的数据包转换成TCP协议数据包上传到ARM内置服务器;远端的监视器作为嵌入式智能网关的人机界面互动平台将远程指令发送到智能网关,智能网关通过电力线下传至下位机设备,下位机设备根据电力线通讯协议接收相应的远程指令,并完成相应的远程控制。

  硬件平台由3个部分所组成,包括由Lon网数据采集收发模块、Lon网协议和LwIP协议转换模块和以太网通讯模块结构框图如图2所示。

  该模块是总系统的核心,其不仅包括网络协议转换功能,而且完成系统其它显示传输功能。该模块的主控芯片为NXP公司生产的LPC17 78,其片上资源包括512 Kb的FLASH存储器、高达64 Kb的SRAM,系统时钟频率可高达120 MHz,同时可内嵌操作系统。LPC1778内置外部总线控制器,通过总线方式读写双口RAM,从而完成与数据采集收发模块的高速数据交换。另外,嵌入式WEB服务器的架构需要大容量的存储器,片上资源已不能够很好的满足现有的需要,因此外部扩展一片16 Mb的FLASH SST25VF016B。

  以太网接口是网关与以太网通信的关键部分,本设计中选用的主控芯片LPC1778内嵌一个以太网控制器,通过扩展网卡芯片DP83848C和一个RJ45接口来实现以太网通讯接口。以太网控制器支持精简的媒体独立接口RMII,可在半双工、全双工模式下提供10M/100Mbps的以太网接入。我们采用RMII协议方式和MIIM(媒体独立接口管理)串行总线、以及MDIO(管理数据输入/输出)相结合的方式来实现与网络芯片的连接。使用RMII接口方式时需要接入一个50 MHz的外部有源晶振。

  该模块核心器件为电力线是Echelon公司生产的基于开放性ANSI标准的电力智能收发器,其可按LonTalk协议与LonWorks网络上的所有节点进行通信。PL3150通过地址线、数据线和控制信号线与双口RAM连接。双口RAM我们选用IDT71321,其支持总线 KB的存储容量。双口RAM作为PL3150和ARM之间数据接收和发送的缓存区。该设计的具体方案可实现两模块之间数据的高速、稳定、低误码率的传输。

  1)ARM端软件设计。软件平台由嵌入式C/OSII操作系统为基础构建,并利用LwIP协议实现TCP/IP协议,上层的应用程序为WEB服务程序以及网关协议转换程序。

  在网关中最重要的是实现两个不同网络的协议转换。在LonWorks网络中,节点与节点进行通信时,常采用特定的网络变量的形式进行。网络变量只有数据类型相同的输入网络变量和输出网络变量才能建立连接。在本网关工作过程中,根据图2所示的结构原理,当下位机设备需要向上位机发送数据信息时,将会对自己的输出网络变量进行更新,发送到LonWorks网络上;当PL3150监测到这些网络变量时,将对与之捆绑的输入网络变量进行更新并发送到双口RAM的数据缓冲区;ARM芯片通过外部总线读取双口RAM,其内部以太网控制器依据所使用协议将数据包进行封装,发送到以太网协议的应用层。相反,当上位机想要对远端现场设备做控制时,也要对相应的网络变量进行更改。

  在协议转换过程中,双口RAM作为一个共享存储器能够进行双边读写操作。为了避免数据信息交换时的读写冲突、产生竞争,在读写操作时要来控制以进行同步访问。本文采用通过定时查询控制地址的值来进行同步访问操作。将2 KB的双口RAM划分为3个主要部分宋存放不同内容:存放ARM对PL3150的控制信息;存放PL3150向ARM发送的数据信息;控制同步访问信息。