APP下载

液压远程实验平台多接口网关设计

2014-11-18李鹏廖晓波

机床与液压 2014年20期
关键词:流程图网关以太网

李鹏,廖晓波

(西南科技大学制造过程测试技术教育部重点实验室,四川绵阳 621010)

随着计算机网络技术的飞速发展和普及应用,给网络实验教学带来很大的发展空间,使得基于网络的实验教学成为可能。然后实验设备的通信接口千差万别,如何将设备进行网络互联共享,成为一个亟待解决的重要问题。远程实验平台的基本框图如图1 所示。其总体结构分为3 层:上层是用户层,用户通过上位机软件对下位机的设备进行操作;中间是网络层,进行数据的转换传送;下层是设备层,接收上层用户的操作数据进行实验操作。其中处于通信层的通信网关通过网络接受实验者的控制和实验数据,将该数据以各种近距离的通信方式发送给相应的实验设备。

图1 远程过程控制实验平台网络拓扑图

将嵌入式系统和Internet 连接起来实现远距离数据交换和控制的本质是嵌入式系统本身能够实现TCP/IP 通信协议。实现该方案总体上有两种方法[1-2]:第一种方法是直接在嵌入式平台上实现TCP/IP,使之直接连接上Internet,这种方法通过软件来构建TCP/IP 等以太网协议,软件设计复杂,工作量大,且该方案需要耗费很多的系统内存和系统MCU 的计算时间。第二类方案是直接由硬件来实现TCP/IP 协议,MCU 只需要通过一定的通信方式将数据发送给该以太网硬件设备,由该硬件设备完成以太网数据的转发,该方案结构简单,需要存储内存和占用CPU的时间少。

文中采用STM32 32 位ARM 处理器[3]来设计该通信网关,该处理器具有速度快、容量大、性能稳定、在线调试方便等优点,W5100 是WIZNETT 公司推出的最先的固件网络芯片[4],该芯片集成了10/100 Mb/s 以太网控制器,最高传输速度为25 Mb/s,硬件化了TCP/IP 协议、以太网MAC 和PHY三种功能于一体。

1 系统硬件设计

1.1 通信网关的总体结构框图

以太网通信网关主要功能是完成数据协议的转换,它将以太网发送的数据通过工业485 总线或者短距离无线通信方式发送给设备控制端[5]。其中485 通信模块是通过UART 连接485 芯片转换成485 总线数据,无线传输模块是通过蓝牙串口模块进行数据交换,其主要的结构框图如图2 所示,主要由以太网模块、485 总线接口、短距离无线通信接口几部分组成。

图2 嵌入式网关的结构框图

1.2 W5100 的接口原理图

W5100 芯片是一款多功能的单片网络接口芯片,其内部集成了10/100 Mb/s 以太网控制器,可支持自动应带(全双工/半双工模式),主要用于高集成、高稳定、高性能和低成本的嵌入式系统。它支持以太网介质传输层(MAC)和物理层(PHY),其硬件TCP/IP 协议可以支持TCP、UDP、ICMP、IGMP、IPV4、ARP、PPPoE 和IGMP。支持4 个独立的端口通信,其内部具有16 kB 字节的发送和接收缓冲区。其和MCU 的接口有SPI 接口和总线接口[6]。图3 为W5100 和STM32103 采用SPI 接口的接口电路图。

图3 W5100 电路接口原理图

1.3 多串口模块和MCU 的接口

由于当前很多设备都配置有 UART 串口,STM32103 自身共有3 个串口,一个作为485 总线的扩展,一个作为串口蓝牙模块的接口。为了实现网关对更多的串口设备数据收发控制,利用SMT32 的串口0 对串口进行了扩展,设计中采用串口扩展芯片GM8123。GM8123 可以将一个全双工的标准串口扩展成3 个标准串口,并能通过外部引脚控制串口,扩展模式为单通道工作模式和多通道工作模式,即可以指定一个子串口和母串口以相同的波特率单一地工作,也可以让所有子串口在母串口波特率基础上分频同时工作[7]。网关串口扩展接口图见图4。

图4 网关串口扩展接口原理图

2 系统软件设计

2.1 操作系统任务分配

在UCOSII 操作系统下,根据系统任务需求,系统主要建立了8 个进程,其依次为:串口数据发送进程、W5100socket0~socket3 四个进程、键盘处理进程、LCD 显示进程、空闲进程。其中串口接收处理任务和W5100 接收处理任务相对紧急,因此其优先级最高,其次是串口数据发送任务和W5100 发送任务优先级高,剩余的任务优先级相对较低。

2.2 多串口中断服务程序设计

在UCOSII 操作系统下,由于STM32103 自身共有3 个串口,再加上扩展的串口,一共串口个数可以达到5 个,然而W5100 一共有4 个SOCKET,这样一共可以建立4 个独立的以太网到串口的独立通道。在系统设计过程中,在系统内存中分配了4 串口的缓冲区rcvuartbuf,用来接收串口收到的数据,系统设计了4 个信号量,Rcvuartsem1-Rcvuartsem4。具体流程如图5 所示。

图5 多串口中断处理流程图

2.3 串口发送数据任务

在串口数据发送任务中,由于串口是互斥设备,因此每次请求数据发送前需申请占用,请求UartSem;如果请求到,则申请消息邮箱;如果申请到,说明系统需要利用串口来发送数据,然后打开信箱内容,根据内容判断要将哪个缓冲区的数据发往哪个子串口;然后根据GM8123 设置其地址引脚,将数据发往不同的子串口。其具体流程图如下:串口接收处理数据任务主要是接收串口设备发送的数据,然后将数据转化成SOCKET 发送出去,其流程图如图6 所示。

图6 串口发送任务流程图

2.4 W5100 驱动程序设计

W5100 共有4 个SOCKET,内部一共有16 kB 的缓冲区,在其工作之前必须先对其进行地址设置、内存分配等操作;同时,W5100 每个SOCKET 可以有两种模式,TCP 和UDP,根据系统应用要求,可以设置SOCKET 的操作模式;同时W5100 可以设置是客户端模式还是服务器模式[8],在此设计为服务器模式。在系统初始化之后,需要进行SOCKET 的设置。其初始化流程图如图7 所示。

图7 W5100 初始化流程图

其中配置发送和接收缓冲区大小可以根据串口连接设备发送和接收数据的大小进行配置,以满足应用要求。

2.5 W5100 接收数据中断服务程序

W5100 的每个SOCKET 接收数据完成之后,将解包后的数据放入接收缓冲区之后,产生中断,系统根据W5100 的状态寄存器查看,可以查出是哪个SOCKET 接收到了数据。接收数据的处理流程图如图8 所示。

图8 W5100 中断处理流程图

2.6 W5100 接收数据处理任务

W5100 接收数据处理任务流程图见图9。

图9 W5100 接收数据处理任务流程图

2.7 W5100 发送数据处理任务

W5100 发送数据流程图见图10。

图10 W5100 发送数据流程图

3 结论

针对远程实验平台中数据信息转换的问题,设计了一种可以进行网络数据和串口数据转换的网关。从硬件和软件两个方面对通信网关进行设计,重点介绍了在嵌入式操作系统UCOSII 下网络数据和串口数据的转换。该设计在相关设计中具有一定的借鉴意义。

[1]李成.基于嵌入式平台的无线家庭网关设计[D].武汉:武汉理工大学,2009.

[2]郑景远.多协议网关的设计与实现[D].西安:西安电子科技大学,2010.

[3]王晓寅.基于实时系统的STM32 网络应用[D].上海:华东师范大学,2011.

[4]杨春勇,牛磊,路杰,等.环境监测网络中的ZigBee 网关服务器[J].大地测量与地球动力学,2011,31(2):156-159.

[5]谢东.基于ARM 的嵌入式远程测控系统网关的设计[J].现代电子技术,2006(13):85 -88.

[6]蔡皓,冯仁剑,万江文.具有多种通信方式的无线传感器网络网关[J].传感器技术学报.2008,21(1):169 -173.

[7]刘通良,周建勇,潘仕彬,等.实现基于TCP/IP 的多串口转换网关[J].单片机与嵌入式系统应用,2006(3):73 -75.

[8]蒋峰.W5100 在远程温度采集系统中的应用[J].化工自动化及仪表,2011(2):214 -217.

[9]李春林,程健.基于ARM 和nRF2401 的嵌入式无线网络测控平台[J].自动化仪表,2007,28(8):8 -15.

猜你喜欢

流程图网关以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
基于改进RPS技术的IPSEC VPN网关设计
谈实时以太网EtherCAT技术在变电站自动化中的应用
专利申请审批流程图
专利申请审批流程图
LTE Small Cell网关及虚拟网关技术研究
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
应对气候变化需要打通“网关”
宁海县村级权力清单36条