您的位置 首页 应用

Linux和S3C2410的PROFIBUSDP主站渠道规划

针对标准PROFIBUSDP主站在国内研究较少,自主研发产品的功能有限、智能化不足的现状,进行了基于Linux操作系统的PROFIBUSDP主站的设计和研究,实现了PROFIBUSDP 1类主站的主从

针对规范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类主站主从通讯进程,大致分为以下几个阶段:问询从站是否在线,主站对从站的第一次确诊,参数化从站,通讯接口装备从站,主站对从站的第2次确诊和主站与从站之间的循环数据交流。

为了确保帧在总线上的正确传输,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 参数约束),或上交此过错给FDL层。

2 硬件体系规划

本PROFIBUSDP主站硬件渠道因为方针是彻底选用自主技能,不依托国外的产品和技能,所以本体系选用的是第一种计划(即由处理器运转完好的协议来完结);一起,依据S3C2410芯片的强壮功用,本渠道不光移植了Linux操作体系,而且还编写了网络接口和USB口的驱动,这关于渠道的多功用性和今后功用的扩展都有必定的含义,其整体结构如图1所示。

图1 主站体系硬件结构图

此硬件渠道以S3C2410处理器为中心,经过编程完结DP协议栈的功用,完结与上位机和DP从站设备的通讯功用。一起,针对S3C2410处理器的功用,运用外围芯片DM9000完结了以太网通讯功用,并依据USB的特色,以特定的I/O口完结USB的从设备功用。因为需求移植Linux操作体系,所以需求用外围芯片扩展内存。在本试验渠道中,经过串口1完结了DP通讯,经过串口2完结了该硬件渠道与上位机的通讯。

3 体系软件规划

为了进步该试验渠道的牢靠性,软件规划方面将本体系分为两个子体系,一个子体系担任与上位机进行通讯,另一个子体系则担任PROFIBUSDP的通讯。其间,与上位机通讯的程序流程如图2所示。DP网络通讯程序流程如图3所示。

图2 上位机通讯程序流程


图3 DP网络通讯程序流程

DP网络通讯模块和上位机通讯接口模块是两个独立的模块,他们同享硬件相关的函数库和从站相关数据结构。这两个模块还互为生产者和顾客的联系,上位机通讯模块为DP网络通讯模块供给从站相关的组态(GSD文件相关)信息和从站输出数据;DP网络通讯模块为用户通讯模块供给从站输入数据及从站运转状况相关信息。

4 体系牢靠性剖析

软件的安稳性和抗干扰性是衡量体系牢靠性的重要目标。本主站在软件完结中所采纳的确保牢靠性办法首要有防错规划、纠错规划、毛病康复规划等。

防错规划:首要体现在体系程序自检技能[8]及数据封装方面。体系软件规划进程中选用分层结构,与硬件操作相关的层的通讯选用独自通讯模块完结,这些层次之间经过层间接口进行通讯,层间接口在规划进程中对输入的参数悉数进行有效性查看(指针有效性、数值有效性、逻辑有效性查看等)。在数据封装方面,对与上位机通讯和DP网络通讯两个子体系别离进行编程,别离供给各个子体系的私有数据,私有数据供模块内部调用,并供给模块间拜访接口完结相关数据的同享,这样便能够避免呈现模块间数据重名以及编程进程中误修正发生的问题。

纠错规划:网关通讯进程中不管是和上位机的通讯仍是DP网络的通讯,选用的都是半双工的RS485通讯。相关通讯能否顺利进行,取决于数据的正确性和时刻两个方面。无论是与上位机通讯,仍是DP网络的通讯,每次关于传输进来的数据都有专门的数据校验模块进行校验,这就避免了在数据有误的情况下依然进行通讯。一起,针对接纳超时等问题,也有专门的模块进行处理。

毛病康复规划:选用看门狗技能。体系软件在运转进程中敞开硬件看门狗,软件有必要在必定的时刻内“喂狗”,不然就会导致看门狗对体系的复位。这样避免了因程序跑飞而导致无法康复的过错。

5 体系实时性

PROFIBUSDP现场总线作为使用在设备的公共总线,有必要处理各节点的网络运用权竞赛问题,一起确保通讯的实时性。PORFIBUSDP体系的实时呼应时刻依赖于max TSDR、选用的传输速率、要交流的数据长度和数量、min_slave_Interval(某一个从站前后2次被主站轮询的最小距离时刻)4个参数。体系的测控周期(又称拜访周期)是指控制体系周期性拜访网络上同一个节点的时刻距离,是衡量PORFIBUSDP实时功用的一个重要目标。

一次典型的主从数据交流进程如图4所示。

图4 主从数据交流图

其间,Tbit表明在总线上传输1位所耗用的时刻,是其他时刻参数的计量单位。因为PROFIBUSDP选用UART编码方法,每个字符由11位组成,所以传输一个字符需求11Tbit。

TID1界说了一个发送节点在取得相应信号后的再次发送下一个信息帧所需的最短时刻。

从图4可知,一个报文循环由自动帧(恳求或发送/恳求帧)和答复帧组成。循环时刻由帧传输时刻、传输延迟时刻和站延迟时刻组成。

设一次报文循环时刻为Tcycle,假如答复帧不为短应对帧:

假如答复帧为短应对帧:

其间:TReq=a×11Tbit,a为恳求/发送帧中的字符个数;TRes=b×11Tbit,b为应对帧中的字符个数;TAsk=1×11Tbit,短应对帧;TSDR为站延迟时刻,指接纳方从接到恳求到发生呼应数据的时刻距离;TTD为传输距离时刻,指一个帧在传输时在发送器和接纳器之间的传输介质上经过的最大时刻。

本硬件渠道中PROFIBUSDP总线传输速率设置为9.6 kbps,因为是近距离传输,所以TTD=0Tbit,Tsdr=11Tbit,TID1=37Tbit,和主站通讯的从站最多有244个数据(依据PROFIBUSDP协议规则)输入/输出,恳求帧中有11个字符数据,则报文循环时刻最长为:

可见,在传输速率为9.6 kbps的情况下,一次报文循环的最长时刻为297.3 ms;从上面这些参数中能够发现,只要TID1能够由主站渠道的功用决议,一般的MPU调度所需时刻为24.66 μs。而在移植Linux操作体系后,因为选用的2.6版别的Linux操作体系运用了新的O(1)的调度算法,大大进步了进程调度才能,一起关于多从站的通讯的使命能进行很好的办理和调度,大大增强了主站渠道的功用。

5 主站渠道功用剖析及调试

PROFIBUSDP主站的主从通讯功用首要体现在主从通讯速度的快慢和支撑的从站数目上。因为本试验室的从站数目有限,建立的测验渠道现在只要3个PROFIBUSDP从站(ET200S、MM420和自主规划的从站),如图5所示。

图5 PROFIBUSDP 体系结构图

本次测验的传输速率选定为9.6 kbps, 一起对3个从站进行组态,别离测验移植Linux操作体系前主站从接纳到数据到有数据宣布之间的时刻ttop,到移植Linux操作体系后主站的呼应时刻tend;经过试验,从示波器上的测验的图形能够看出ttop的宽度是大于tend的宽度的,详细丈量后可知无操作体系下ttop≈4015.4 μs,Linux操作体系tend≈70 μs。可见移植Linux操作体系后能使主站的呼应时刻大大缩短,进步对从站的办理功率。

参考文献

[1] Zaiping C, Xiaowei Y, Xunlei Y. Research of schemes on integration of fieldbus system[C]. 31st Annual Conference of IEEE, 2005(11): 611.

[2] Yu S S, Chin Y H, Yi S C, et al. An Artificial NeuralNetworkBased Approach to Software Reliability Assessment[C], 2005.

[3] Zhang X, Liu A, Gao Y, et al. The Prediction Model of Software Reliability Based on the Modular[C]. International Forum on Information Technology and Applications, 2009.

[4] Bo Y, Xiang L. A study on software reliability prediction based on support vector machines[C]. 2007 IEEE International Conference on Industrial Engineering and Engineering Management, 2007.

[5] 夏继强,梁超众,邢春香. 工业通讯用网关规划及其要害技能研讨[J]. 电子技能使用, 2010, 36(2): 118125.

[6] 刘强,甘勇梅,王兆安. PROFIBUS2DP 现场总线通讯接口的开发[J].电子技能使用,2006,27(9):39 41.

[7]卜志翔,胥军. PROFIBUS 现场总线通讯协议研讨[J] . 现场总线与网络技能,2005(8):62264.

[8] 曲辉,葛丽娟. 进步嵌入式体系牢靠性软件抗干扰办法[J]. 内蒙古农业大学学报:自然科学版, 2009, 30(1): 229232.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/325351.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部