微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > Linux和S3C2410的PROFIBUSDP主站平台设计

Linux和S3C2410的PROFIBUSDP主站平台设计

时间:02-16 来源:3721RD 点击:

针对标准PROFIBUSDP主站在国内研究较少,自主研发产品的功能有限、智能化不足的现状,进行了基于Linux操作系统的PROFIBUSDP主站的设计和研究,实现了PROFIBUSDP 1类主站的主从通信功能。采用模块化设计思想,从防错设计、纠错设计、故障恢复设计等方面对设计方案中软硬件可靠性进行了详细分析。从响应时间的角度阐述了影响系统实时性的关键问题,同时对本平台的实时性进行了详细分析,并通过实验测试了该主站的性能参数。实验结果表明,对于多从站通信,使用Linux操作系统后,性能更优越,运行更稳定。

引言

PROFIBUS是面向工厂自动化、流程自动化的一种国际性的现场总线标准,是一种具有广泛适用范围的、开放的数字通信系统,适用于快速、时间要求严格和可靠性要求高的各种通信任务。PROFIBUS 现场总线分3种: PROFIBUSFMS、PROFIBUSDP 和PROFIBUSPA。其中,PROFIBUSDP是一种高速的低成本通信连接,用于设备级通信系统与分散式通信。

PROFIBUSDP现场总线由主站和从站组成。对于从节点的研究,国内科研院所很早就开始研究,现已有多家企业能够自主研制从站产品。但是对于主站,由于其技术复杂、开发难度大,目前国内只有北京和利时技术有限公司、浙大中控等少数几家公司开展相关的技术研究与开发,并只实现了部分子集功能。大部分产品主要由国外几家大公司垄断。同时,随着PROFIBUS在国内市场上的迅速推广,许多企业和科研单位开始了对PROFIBUS协议的研究,并展开了使用PROFIBUS通信协议的智能节点的研究。但是,目前国内业界对于PROFIBUSDP的研究和相关产品的开发都是基于国外提供的专用协议芯片(主站多数采用西门子推出的ASPC2,从站多采用 SPC3等智能通信芯片),即集中在从站设计领域,而没有主站样机开发的相关报道。对于主站的开发,国内一些科研院所(北航、中科院、浙大等)也曾利用可编程逻辑器件配合MCU设计出简单主站的试验产品,但是这些产品仅能实现简单的主站功能,对于组成强大的PROFIBUSDP网络还望尘莫及。

本文正是针对上述的问题,为避免采用协议芯片、增加主站智能功能和后续扩展性研究的需要,设计了基于Linux操作系统的PROFISBUSDP主站。在硬件上采用ARM9内核的处理器S3C2410,同时将Linux操作系统移植到此硬件平台上,在此基础上,完全由软件编程实现了整个PROFIBUSDP的主站功能,能够与标准PRODIBUSDP从站设备进行通信。

1 PROFIBUSDP主站通信机制

PROFIBUSDP的主要目的是在功能强大的主站与若干简单的从站之间进行循环的数据交换。因此系统主要使用主从类型通信服务。

PRIFIBUSDP总线系统设备包括主站和从站,而主站则包括1类主站和2类主站。1类主站能够对从站设置参数,检查从站的通信接口配置,读取从站诊断报文,并根据已经定义好的算法与从站进行用户数据交换,同时,1类主站还能用一组功能与2类主站进行通信。2类主站则是一个编程器或一个管理设备,可以执行一组DP系统的管理与诊断功能。由于2类主站不能单独作为一个主站对从站进行管理,加上本系统采用的是单主站结构,所以本系统设计的是一个1类主站。

PROFIBUSDP的1类主站主从通信过程,大致分为以下几个阶段:询问从站是否在线,主站对从站的第一次诊断,参数化从站,通信接口配置从站,主站对从站的第二次诊断和主站与从站之间的循环数据交换。

为了保证帧在总线上的正确传输,PROFIBUSDP对帧的结构及相应的时序关系做了严格的规定,且定义了12个参数以限定及保证帧间隔时间和可允许的最大等待时间等。一次典型的主从站数据交换过程在发出每一个帧前,须有一个同步期TSYN,即在每一报文帧发出前加入一段总线休息时间,其长度固定为33Tbit时间。

在TSYN后,通信的发起方发出请求帧到响应者(从站)。接收方从接到该请求到产生响应数据的间隔时间定义为TSDR,该参数的大小反映了该响应方从站的计算能力大小和资源多少。有些站点没有采用专用的通信ASIC芯片,或者宿主MPU 的计算能力较低都会使响应时间较长。PROFIBUSDP协议中规定了响应时间的上、下限值即:min TSDR,max TSDR。其中:min TSDR=11Tbit,max TSDR=60Tbit~850Tbit。

在通信的发起方(主站) 一侧,从主站发出请求帧的最后一位到收到响应帧的第一位之间的时间间隔被定义为Slot Time,它从另一个方面反映了一个系统的实时性能的好坏。此设计中定义了一个重要的参数TSL,即为允许的最大的Slot Time,如果通信的发起方主站在超过TSL后,还未收到接收方的响应,则认为系统出错,或重发请求帧(重发请求数不超过Max Retry Limit 参数限制),或上

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top