PROFIBUS-DP智能从站的设计
张锐敏 田敏 张卫东 周涛 石河子大学信息科学与技术学院电子系
[摘要]工业现场设备与PROFIBUS-DP总线网络连接实现数据通信,离不开PROFIBUS-DP总线通信转换接口。概括叙述了PROFIBUS总线的特点、总线协议,以及作为通信转换接口的PROFIBUS-DP从站开发的步骤。针对智能从站的软件设计和硬件设计进行了详细介绍。以单片机和SPC3为核心开发的智能从站能够实现现场总线控制系统中Profibus总线网络与设备之间的通信任务。
[关键词]PROFIBUS-DP 总线协议 现场总线控制系统 SPC3 智能从站
作者简介:张锐敏(1982.2-),女,民族:汉,籍贯:河北定县,助教,工学学士,新疆大学在读硕士,研究方向:电子技术、现代通信技术等。
引言
PROFIBUS是一种国际性的开放式的现场总线标准,即EN50170欧洲标准[1]。它以其技术的成熟性、完整性和应用的可靠性等方面的优秀表现,使其在现场总线技术领域中成为国际市场上的领导者。目前世界上许多自动化技术生产厂家都为它们生产的设备提供PROFIBUS接口。PROFIBUS已经广泛应用于加工制造、过程自动化和楼宇自动化。因此,开发、设计PROFIBUS产品非常具有现实意义。
一、PROFIBUS通信协议
根据应用特点可将PROFIBUS分为:PROFIBUS-FMS、PROFIBUS-DP、PROFIBUS-PA三个部分[2]。
本文主要介绍PROFIBUS-DP协议。DP是一种经过优化的高速、廉价的通信连接,专为自动控制系统和设备级分散I/O之间通信设计。PROFIBUS-DP具有如下特点:(1)网络中所有从站具有同样的优先权;(2)网络可以是单主站或多主站结构;(3)可以进行循环和非循环通信;(4)1类主站和2类主站均可以读取从站的数据;(5)每个从站可以达到244字节的输入和输出数据;(6)传输速率可以达到12Mbit/s。
二、PROFIBUS-DP 从站开发方案
(一)单片机+软件的解决方案
在这种方案中,PROFIBUS-DP 的数据链路层协议通过软件在单片机中实现,同时单片
机还实现一些用户程序,物理层通信由异步串行通信接口(UART)完成。这种方案的优点是开发成本比较低,缺点是由于需要开发人员透彻了解PROFIBUS 技术细节,因此开发的周期长。
(二)单片机+PROFIBUS 通信专用 ASIC 的解决方案
在这种方案中,PROFIBUS-DP 协议完全由 PROFIBUS 通信专用 ASIC 来实现,单片
机主要处理用户程序。利用这种方案实现 PFOFIBUS-DP 从站的开发,只要开发者了解 PROFIBUS 协议相关内容,特别是基本概念、基本术语,以及 ASIC芯片的技术内容,因此采用这种方案开发所需的时间要比第一种方案少。
鉴于上述两种方案的比较,本文采用单片机+PROFIBUS 通信专用 ASIC 的解决方案来实现 PROFIBUS-DP 从站的设计。
三、PROFIBUS-DP 从站开发步骤
利用ASIC进行DP从站的开发,首先需要确立开发方案,确定是开发简单从站还是开发智能从站;选取协议芯片;采用接口模块开发还是应用ASIC和处理器开发;根据应用场合对传输速度的要去选择相应的器件;最后,用户还需要在调试之前建立设备的GSD文件对设备进行测试。其中从站的硬件设计和软件设计是整个从站设计的关键。
四、从站硬件设计
(一)SPC3 协议芯片原理分析
SPC3 ASIC 芯片是西门子公司为优化的智能 PROFIBUS-DP 从站提供的专用芯片,集成了 PROFIBUS-DP 协议,遵照 EN 50170 标准。SPC3 主要技术指标如下[3]:
(1)支持 PROFIBUS-DP 协议。(2)在 PROFIBUS-DP 上自动检测和调整数据传输速率,自 9.6Kbit/s 到12Mbit/s。(3)集成的看门狗定时器(Watchdog Timer)。(4)44 引脚的 PQFP 封装。(5)集成了 1.5K 数据通信 RAM。(6)外部时钟接口频率为 24MHZ 或 48MHZ。
(二)SPC3 的组成
SPC3内部有双口RAM与微处理器交换数据,微处理器操作SPC3芯片就像操作它的外部RAM。SPC3 有14个中断源,中断无优先级,主要是通过中断屏蔽寄存器和中断响应寄存器来实现中断且共用一个中断输出。SPC3 有 8 根数据线和 11 根地址线,其中 8 根数据线与地址线复用,可以接 80C32、80C166、80C196、HC196、51 系列等单片机[4]。
(三)硬件结构
PROFIBUS-DP 从站的主要功能是利用 SPC3 协议芯片作为数据采集和发送单元实现与 PROFIBUS-DP 现场总线之间的通信,从而能使用户数据传送到主站并接收来自主站的数据。整个系统的结构图如图1所示。
图1 系统结构图
DP 从站用 89C52 作为处理器单元管理通信事务,SPC3 协议芯片则完成数据的转换和收发功能。扩展的数据存储器完成数据的存储和处理功能,89C52 与 SPC3 之间通过双口 RAM 交换数据,SPC3 的双口 RAM 在 89C52地址空间中统一分配地址,89C52 将 SPC3 的双口 RAM 作为自己的外部 RAM,通过 P0 和 P2 口与双口 RAM 连接,P0 口作为数据线和低 8 位地址线,P2 口作为高8 位地址线。
五、从站软件设计
因为SPC3集成了PROFIBUS-DP协议,所以对SPC3的软件设计主要有:SPC3的初始化、SPC3的中断处理、数据的发送和接收、从站诊断事务以及从站接口数据的处理等。
由于SPC3集成了完整的DP协议,因此在与主站进行通信时,89C52不用参与处理DP状态机,主要任务是根据SPC3产生的中断,根据中断寄存器的状态对SPC3接收到的主站发送的输出数据转存,组织要通过SPC3发给主站的输入数据,并根据要求组织外部诊断。对SPC3中000H-03DH各单元进行初始化,整个初始化完成后便可以与主站进行通信和数据交换。从站初始化时选DP Mode,从而激活SPC3在DP Mode下的所有服务存取点(SAPS),进而使用固化在SPC3硬件中的协议程序。为指针变量赋值应注意指针值是段序号,能被8整除。
六、从站的测试