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

Linux和S3C2410的PROFIBUSDP主站平台设计

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

交此错误给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,由于是近距离传输,所以

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

网站地图

Top