融合通信的嵌入式网关系统设计

融合通信的嵌入式网关系统设计

摘要:针对当前工业生产现场中通信系统的兼容性问题,设计了一种基于融合技术的嵌入式网关系统,选用STM32F207为核心控制器,移植了μCOS-III嵌入式操作系统,实现了CAN总线、以太网和LTE移动通信的融合通信,可以应用于各类工业控制现场,系统稳定性、可靠性、兼容性都有了很大的提高。

关键词:CAN总线,以太网,STM32,LTE,μCOS-III

随着工业现场控制系统自动化程度不断加深,工业生产现场的各种传感装置不断增多,控制复杂性增加,数据通信的容量需求不断提高,单一的通信模式不断遭受挑战,越来越无法满足系统扩容的需要,不能对工业现场进行有效的实时控制[1]。因此,如何满足各种现场控制环境,对工业生产过程的大数据进行有效、实时地监控,实现最大程度自动化水平成为当前工业现代化发展的一个瓶颈。目前针对于工业控制系统中的很多现场设备都采用CAN总线进行通信,网络节点负责采集现场的相关信息及进行相应的控制,上位机负责数据的存储和人机交互控制,现场的网络节点和上位机之间通过CAN总线交互数据,这种控制网络可以满足基本现场控制管理,但是随着对工业现场控制的要求提高及多媒体技术的发展,单一控制数据的通信模式正逐渐改变,如何兼容现有控制设备同时满足对大数据的需求是当前研究的热点。为此,本文提出了一种基于STM32的嵌入式融合通信网关系统。

1工业控制系统结构设计

本系统结构图如图1所示,系统由网关节点、子节点和控制平台等部分组成。网关节点采用双机冗余设计,保证了关键通信的稳定性,融合了多种通信方式,实现了CAN总线、以太网和移动网络的融合,提高了系统的可扩展性,主要完成对整个网络监控系统进行监控、数据处理、管理决策等;子节点位于车间现场,主要完成现场参数的检测、数据处理和执行,并将相应的数据实时传输给网关节点,同时接收并执行控制命令。节点之间通过CAN总线实现数据的交互,系统基于信息分级的FCS(Field-busControlSystem,FCS)分布式控制对现场进行管理。对采集的信息采用分级管理机制,信息分为三级:I级、II级和III级。I级为现场正常生产控制信息,例如定位传感器采集正常值信息、CCD图像信息、电机和气缸的正常运转信息,各子节点可以自行处理,网关节点不直接参与控制,由监控子节点直接进行处理;II级为异常信息处理,例如单位时间内不良产品信息超过容忍度了,需要控制中心进行处理,控制中心管理员根据现场的各种采集信息,综合分析,发出控制命令,与现场操作人员协调,远程管理现场;III级为紧急信息,主要是一些危及安全生产的信息,例如灾难性故障,在传输给总控制平台由值守管理员处理查找原因的同时,通过LTE通信传输给具有特殊权限用户的移动控制平台,以便能够实时掌握现场信息,及时进行支持,排查原因,最大程度地保障了系统的安全运行。对现场采集到的各种信息设置相应的等级,在传输和处理过程中保证了高优先级的重要信息的能实时安全传输,并及时处理。现场所有信息和处理结果都需要传递给控制平台进行备案保存,以便掌握现场的工作情况,为安全生产提供信息依据。对信息进行分级处理,各子节点具有较强的独立性,从而降低了系统的复杂性,提高了系统的开放性、可靠性、容错性。

2硬件系统设计

2.1网关节点系统设计

网关节点的设计是工业控制系统的关键节点,网关节点通过CAN总线对各子节点进行参数设置,子节点采集现场信息,通过CAN总线传递给网关节点,当生产现场出现问题时,通过液晶显示和声光报警提示值班人员,值班人员可以从控制平台详细了解各节点的信息,通过控制平台或者键盘给子节点发出控制命令。网关节点通过TCP/IP和LTE与控制平台进行通信,保证了现场的有效控制。网关节点电路主要包括CAN收发电路、以太网接口电路、LTE通信电路、键盘电路、LCD显示电路和声光报警电路等,网关节点硬件电路结构如图2所示。考虑到网关节点的数据处理能力要求较高,选用基于ARMCotex-M3核的32位处理器STM32F207VE,该芯片采用最新的90纳米工艺生产新一代的STM32产品,120MHz高速运行时可达到150DMIPS的处理能力,高达512k字节的片上闪存和128k字节的SRAM,自适应实时闪存加速器使得片内闪存上以120MHz的高速零等待地执行代码。芯片携带有1路10/100M以太网接口,2路CAN通道,6个UART接口;还含有ADC、DAC、USB、PWM等外设资源[2]。可以稳定地进行TCP/IP和CAN总线通信,同时也能保证嵌入式操作系统μCOS-III的运行。

2.2CAN通信驱动电路设计

控制器STM32F207VE内部都集成了功能强大的CAN控制器,CAN通信模块的设计仅需要设计微处理器与驱动器的接口电路。在本设计中,主控节点与子节点的采用相同的驱动电路,驱动器选用广州致远公司的芯片CTM1050T,CTM1050T芯片采用全灌封工艺,内部集成了电源隔离、电气隔离和CAN收发电路,隔离电压可达DC2500V,接口简单,使用方便,可以很好实现CAN-BUS总线上各节点电气、电源之间完全隔离和独立[3]。该模块TXD、RXD引脚与+3.3V和+5V的CAN控制器完全兼容,不需要外接其他元器件,相对于传统的设计方案,简化了DC-DC电源模块、光耦模块和ESD保护等电路,提高了节点的稳定性和安全性。CAN总线驱动电路如图3所示,CTM1050T的收发引脚与CAN控制器的收发引脚直接相连,终端RT1为120Ω,屏蔽电缆线的屏蔽线接FGND引脚,CGNND为收发器地,RC1及CR1为耐高压电阻、电容,具有滤波等作用。

2.3以太网通信模块的设计

在网关节点系统中设计了以太网通信模块,实现了数据的远程传输,扩展了通信的带宽,提升了通信的兼容性。STM32F207VE内部集成了专用DMA的MAC模块,为以太网通信提供MII或者RMII两种接口方式,PHY物理层控制芯片选用DP83848CW采用RMII规范,简化了硬件的电路设计,电路图的设计如图4所示,STM32的PB11与TX_EN相连,使能发送引脚;PB12、PB13与TX_D0、TXD_1相连,发送数据;PD9、PD10与TX_D0、TXD_1相连,接收数据;X1为接收和发送数据提供时钟信号[4]。DP83848CW与网络变压器网口插座J0011D21BNL相连,实现TCP/IP数字信号的差分传输。

2.4移动通信模块设计

LTE移动通信模块以USR-LTE-7S4为核心,可以轻松实现与LTE网络的高速通信[5]。USR-LTE-7S4是一款体积小巧,功能丰富的M2M产品,可方便快速地集成于设计系统中,模块软件功能完善,能覆盖绝大多数常规应用场景,支持自定义注册包、心跳包功能,支持4路Socket连接,并支持透传云接入,具有高速率、低延时的特点。USR-LTE-7S4的UART_TX、UART_RX引脚分别与STM32的PC11和PC10相连,实现串口到LTE网络的双向数据透明传输。模块已集成SIM卡功能,设计时与SIM卡座对应引脚进行连线,SIM_CLK、SIM_RST、SIM_D引脚分别并联47pF左右的电容,滤除射频信号的干扰。模块提供开关机RES和POW_KEY引脚,控制STM32的开关机。通过LED状态显示模块工作状态。模块引出的指示灯引脚为LinkA、LED_W、LED_N,分别指示网路连接、模块工作和具体网络状态情况,引脚电平为1.8V,驱动指示灯需要做电平匹配,需要通过三极管来驱动指示灯。

3软件系统设计

软件系统的设计包括总控制平台和移动控制平台的上位机软件设计、主节点软件系统设计和监控子节点的软件系统设计。总控制平台基于C#进行软件开发设计,移动控制平台基于E-clipseJava开发,选择开放源代码的安卓操作系统。子节点采用面向工作过程的前后台程序设计方法,保证子节点能实时控制工作现场。在这里主要介绍主节点系统的开发,主节点系统采用自顶向下的设计方法,考虑到系统的性能和实时性的要求,移植了嵌入式操作系统μCOS-III。μCOS-III是JeanJLabrosse先生编写的免费公开源代码的实时操作系统,是μCOS的第三代系统内核,被设计用于32位处理器,也能在16位或8位处理器中很好地工作,其实时性、稳定性、可靠性得到了广泛的认可,相对于μCOS-II,μCOS-III允许多个任务运行在同一优先级上,相同优先级的任务按时间片轮转调度,任务的数量不受限制[6]。在Keil4下对μCOS-III移植进行了移植,修改3个内核文件:os_cpu.h、os_cpu_a.asm、os_cpu_c.c;3个CPU文件:cpu.h、cpu_a.asm、cpu_c.c。为了实现以太网通信的功能,移植了LwIP,编写相关的驱动程序。LwIP是瑞士计算机科学院(SCICS)的AdamDunkels等开发的用于嵌入式系统的开发源代码的TCP/IP协议栈,实现了ARP、IP、ICMP和TCP四个基本协议,适合与μCOS-III等嵌入式操作系统相配合使用[7]。对LwIP的移植,主要是修改与STM32、编译器、操作系统相关的文件,编写了IPReceive()和IPSend()两个驱动函数,完成了与底层硬件的数据交换,保证了IP数据的发送和接收。根据主节点具体的功能应用需求,考虑到任务的实时性和资源的利用率,划分十个任务:三个通信任务、三个监测任务、一个数据处理任务、一个存储任务、一个显示任务和一个初始化任务。三个通信任务分别为串口通信任务(负责LTE通信)、CAN通信任务和以太网通信任务,负责与上位机控制平台通信和监测子节点通信;三个检测任务分别为主节点定时监测任务、子节点定时监测任务和键盘监测任务,负责检测主节点、子节点的工作状态以及人机交互。数据存储任务负责对通信任务接收过来的数据进行解包处理、分类;存储任务负责在发送故障的情况,将数据存储在SD卡中;显示报警任务负责必要的显示和故障发生时的声光报警;系统初始化任务负责实现系统软硬件初始化工作、系统时钟配置以及其它配置、其它任务的创建和任务间通信使用的变量的定义及初始化。在内核启动后,该任务自动挂起,不再运行。系统通过消息队列、信号量对任务进行同步、互斥调度,协调各任务的运行,任务的调度关系如图6所示。

4结束语

这种融合通信方式保证综合控制系统的可靠性,在主节点中移植了嵌入式操作系统μCOS-III,为系统的可扩展性和稳定性提供了可靠的保证,为相关的工业现场控制提供了一种新的解决方案。

作者:凌启东 单位:徐州工业职业技术学院