《精编》工业通信用网关设计及其关键技术研究

上传人:tang****xu4 文档编号:133161437 上传时间:2020-05-24 格式:DOC 页数:10 大小:227KB
返回 下载 相关 举报
《精编》工业通信用网关设计及其关键技术研究_第1页
第1页 / 共10页
《精编》工业通信用网关设计及其关键技术研究_第2页
第2页 / 共10页
《精编》工业通信用网关设计及其关键技术研究_第3页
第3页 / 共10页
《精编》工业通信用网关设计及其关键技术研究_第4页
第4页 / 共10页
《精编》工业通信用网关设计及其关键技术研究_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《《精编》工业通信用网关设计及其关键技术研究》由会员分享,可在线阅读,更多相关《《精编》工业通信用网关设计及其关键技术研究(10页珍藏版)》请在金锄头文库上搜索。

1、工业通信用网关设计及其关键技术研究夏继强, 梁超众, 邢春香 时间:2010年05月06日 关键词:现场总线网关数据映射PROFIBUS-DP 摘 要: 提出了工业通信用网关系统的一般设计方法,并以PROFIBUS-DP智能网关设计为例对网关设计的关键技术数据映射关系、实时性、可靠性及故障处理进行了研究。对其他类型的工业网关的设计具有指导意义。关键词: 现场总线; 网关; 实时性; 可靠性; 数据映射 采用现场总线技术的工业测控系统具有结构简单、易于维护、开放性、分散性和可互操作性等优点。但因为现阶段多种现场总线协议的共存,导致其上述优点不能充分体现出来。针对目前工业测控领域多种现场总线共存的

2、客观事实,探讨如何将两种或多种现场总线系统集成具有重要意义。 在上述情况下,网关无疑是系统集成解决方案很好的选择。结合国家863课题,本文以中国四联集团与北京航空航天大学共同研发PROFIBUS-DP智能网关为例对工业通信网络用网关的设计进行了阐述并对其实现的关键技术进行了详细分析。1 网关系统解决方案设计 现场总线用网关一般要担负两种或多种总线之间的协议数据转换的责任,属于系统连接的关键部分。因此系统大多采用图1所示的的结构来实现。 应用本网关所组成的系统总体结构如图2所示。智能网关在系统中无缝连接PROFIBUS-DP(以下简称”DP”)现场总线系统与MODBUS总线系统,实现同一系统内两

3、种总线设备的共存。 本系统中,微控制器为中国四联集团研发的控制器。本智能网关在设计上为其预留了一个用于与控制器通信的接口。底层的I/O模块实现工业现场信号的检测或控制执行设备的运行。2 网关结构设计 现阶段的网关设计主要有协议芯片、硬核、软核三种解决方案: (1) 协议芯片解决方案:采用专门芯片来实现相关协议,这种方法开发周期短,实现起来相对简单,比较适合于快速开发,但成本稍高。 (2) 硬核解决方案:主要是对ASIC如CPLD、FPGA等进行硬件编程来实现相关协议的IP核。此方案对开发人员的硬件及软件知识要求最高,协议稍复杂,实现难度就很大。但是网关性能可以与采用协议芯片实现方式相媲美。 (

4、3) 软核解决方案:用软件实现协议数据链路层协议处理功能,结合相应的外围硬件电路实现协议功能。此方法成本低,但需要开发人员充分了解相关协议及协议运作机制。对于复杂的协议,编程工作量巨大,且可靠性不易保证,受单片机处理速度影响,通常网关的性能不如其他两种方法。 在一般工业控制用网关设计中,都有较短的开发周期及很高的可靠性要求。因此,对于复杂的协议如DP、CAN、FF总线等一般选用协议芯片实现;对于较简单的协议如MODBUS等一般用软核实现。本网关采用了DP协议芯片与MODBUS软核相结合的实现方式。其硬件结构如图3所示。 按照功能划分,网关可以分为电源管理模块、中央管理模块、DP从站模块和RS4

5、85通信模块。 本网关设计要求串行口速率能够达到921.6 kb/s。基于此要求,硬件平台选用PHILIPS公司的ARM7-TDMI核微处理器。 电源管理模块负责整套系统的电源供给,系统的稳定运行与电源模块的稳定性能关系密切,此处设计的电源模块兼有热插拔和电压转换功能;DP从站模块的核心功能由协议芯片(VPC3+C)实现;中央管理模块除了实现对DP从站模块的配置和管理,还要完成MODBUS协议的实现以及两种协议数据交换协议栈的实现。3 网关系统的实现 网关系统在软件设计方面与网关连接总线系统所采用的协议有较大差别,但一般协议在定义时为了实现灵活性好、易于实现和维护等优点都采用分层结构。网关软件

6、设计时也可以采用分层结构,最后在应用层实现协议数据的相互转换。本网关协议栈的实现采用的就是这种分层的思想。 网关协议栈是连接MODBUS输入/输出模块与DP通信的桥梁。协议栈分为DP通信层、协议数据映射层和MODBUS通信层三层。网关协议栈分层结构及各层功能如图4所示。3.1 软件总体结构设计 本网关的软件总体流程如图5所示。CPU通过驱动VPC3+C来实现对DP通信过程的控制,包括通信接口检查、正常和发生故障情况下的诊断数据的发送及数据交换等过程;通过MODBUS协议实现对下挂的输入/输出从站模块的查询操作;通过对模块应答帧(或通信超时)进行分析来判断模块的状态以及模块的通道状态,根据模块状

7、态信息填充DP的诊断域的数据,并以此为依据实现对网关通信状态(正常通信、报告故障或警告信息)的控制。3.2 PROFIBUS-DP总线驱动 此网关DP通信部分采用协议芯片VPC3+C,其内部含有4 KB RAM,用户可根据需要对其进行设置;具有两种微处理器接口:数据/地址总线复用或单独操作。因为ARM核对外部RAM操作的速度较快,时序不能满足VPC3+C的操作时序,因此这里用ARM的GPIO口来模拟VPC3+C的操作时序。本文模拟的是其在Intel模式下内部寄存器的读写时序。 此驱动主要提供了以下功能:nxp_vpc3_read、nxp_vpc3_write 、nxp_vpc3_init、nx

8、p_vpc3_reset、nxp_vpc3_isr,这些函数分别向上层应用提供了读写VPC3+C寄存器、对其初始化、复位操作及中断的处理功能。其中对寄存器的读写操作是关键部分,函数原型如下: unsigned char nxp_vpc3_read(unsigned int addr); void nxp_vpc3_write(unsigned int addr,unsigned char data);其中addr为要读写的寄存器地址,data为要写入的数据。3.3 MODBUS协议的实现 为提高信号传输的距离及抗干扰能力,此处MODBUS物理层采用标准RS485通信。为了保证MODBUS协议软

9、核的健壮性,设计了其有限状态机1模型,如图6所示,并根据此有限状态机模型运用状态路由器进行软件实现。3.4 协议数据的映射处理 此部分处理效率的高低直接关系到网关系统的性能,因此设计过程中应该谨慎设计。 此部分完成协议数据映射层的实现,具体的数据映射关系管理见4.1节阐述。4 网关关键技术研究 对于工业用网关应用来说,保证网关正常工作的首要条件是其所连接的系统数据映射关系的正确性,其次可靠性和故障处理能力是网关可长期稳定工作的重要影响因素,对网关实时性的要求则因系统的不同而各异。4.1 数据映射关系管理 如何管理网关连接的两种或多种系统中的设备在通信数据中的映射关系,即通常意义上的寻址,是很重

10、要的步骤。而这一部分针对网关所连接的不同,总线设备也有很大区别。 本网关对所有可能下挂的模块的输入输出数据格式进行分析,然后分别定义了各个模块对应的通信接口配置字,并在GSD文件以下例格式进行描述: Module=AI31xx4 channels 0xd3; 输入模块AI31xx占4个字长 EndModule 这样在对其进行硬件组态时,只需要将对应的模块放到对应的地址槽中即可。 在网关协议栈中同样保留上述表用来查询下挂模块类型对应的控制字和硬件组态数据进行比较。并以硬件组态数据为标准填充数据映射表,单个模块数据映射表数据结构如下:typedef structunsigned char cfg_

11、data; /*记录模块的参数配置字*/MODULE_STATE this_state; /*当前模块的状态*/unsigned char start_position; /*记录模块数据在 PROFIBUS-DP中交换数据中的起始地址*/unsigned char data_length; /*记录模块数据在 PROFIBUS-DP中交换数据中所占长度*/unsigned char data_direction; /*记录模块数据在 PROFIBUS-DP中是输入数据还是输出数据*/ IO_CONFIG_PRM。其中MODULE_STATE为枚举数据类型,代表MODBUS从站当前状态,数据结

12、构如下:typedef enum module_state TYPE_OK, NOT_EXIST, TYPE_DISAGREEMODULE_STATE;4.2 保证实时性措施 网关在对两种协议的数据进行映射的过程中采用了一次性内存拷贝技术和单缓冲区技术来尽快完成数据的处理且保证是最新数据,以此来保证网关通信的实时性能。 一次性内存拷贝技术是指网关从协议芯片内部读取到DP的输出数据后,直接将此数据填充到MODBUS输出帧对应的位置;从MODBUS输入模块得到的数据直接填入到DP协议芯片的输入缓冲区的对应位置。用这种方式来减少内存拷贝过程中所耗费的时间。 网关单缓冲区2,3技术也是为了保证数据为最

13、新数据而采用的。所谓单缓冲区即不管两种协议通信中待转换的数据而只保留当前最新的一帧。此网关连接的两种设备的正常数据通信都是周期性的,且周期一般固定不变。如果MODBUS数据交换的周期小于DP的数据交换周期,网关的缓存中只有一帧有效数据;如果MODBUS数据交换周期大于DP的数据交换周期,且采用链表结构保存DP的帧数据,则不管预先缓冲区有多大,肯定导致缓冲区溢出的问题,从而使DP的输出数据不能及时更新到MODBUS从站的通道上进而影响系统的实时性。 高效地使用指针可以大大提高网络协议栈性能。本网关在MODBUS协议实现过程的信息处理中就采用了函数指针实现指针路由功能,避免了因过多判断对系统性能的

14、影响,这样做不仅提高了系统处理信息的能力,也使系统有很好的扩展性能。上述一次性内存拷贝技术也是通过指针来实现的。4.3 保证可靠性措施 在硬件方面,除了保证网关性能所必须的参数外,还应在成本和可靠性方面做出一定的折中。本系统中为了提高系统的抗干扰能力,与外界通信的部分和系统在物理接口上都进行b 电气隔离,此处的3个通信接口都需要进行隔离。根据通信性能要求的不同,选择磁耦隔离+驱动芯片完成DP通信的隔离兼物理层电平转换功能;用双通道磁耦隔离芯片来完成另外两路串行口通信的隔离。这两款芯片都采用了最新的基于芯片尺寸的变压器隔离技术的磁耦,与传统的光耦比较,其转换速度、瞬态共模抑制能力、功耗、尺寸及成

15、本等方面均有很明显的优势。为了满足工业现场即插即用的要求,设计了电源转换及保护电路来实现网关供电系统的稳定,保证系统的可靠运行,并支持带电作业(热插拔功能)。 系统除了在上电之后对下挂的MODBUS模块进行类型查询并与DP主站组态模块类型进行比较外,在进入正常数据交换之后,也会实时地对模块的状态进行分析以判断是否有故障发生。故障标志是在网关和MODBUS从站进行通信过程中根据从站的回应帧来判断的。 网关系统中如何保证多种总线通信的互不干扰是很重要的环节。此网关系统中MODBUS协议是由软件来实现的,考虑到需要定时器等保证通信的可靠性,为了防止两种协议通信的相互影响,对DP输出数据的读取采用查询的方式而非中断方式进行访问。这样在DP的数据到来后不会打断正在进行的MODBUS通信过程,尤其是在DP通信速率较高的情况下,这种设计的可靠性更加明显。如果采用中断的方式,当DP通信速率超过一定值后,其势必影响网关与MODBUS从站

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号