使用SPC3芯片实现Profibus-DP总线通讯接口的设计

描述

现场总线是用于现场仪表与控制系统和控制室之间的一种全分散、全数字化、智能、 双向、互联、多变量、多点、多站的通信网络。工业现场总线是用来解决当前工业领域中“信 息孤岛”的必然方法。现在已经被广泛使用的工业现场总线的种类很多,有CANBUS、 DeviceNet、CClink、Modbus 等几十种现场总线。

德国的西门子公司是进入中国市场较早的跨国公司。该公司的工业现场总线产品在国 内占有很大的市场份额。西门子公司的SIMATIC NET 工业通信网络结构可以分为三级:企 业级、车间级和现场级。PROFIBUS 是一种用于工厂自动化车间级监控和现场设备层数据通 信与控制的现场总线技术。

本文主要介绍开发工业用电动阀门的通信接口——Profibus-DP 总线的开发。通过开发 的Profibus-DP 工业总线通信接口,可以将单台设备的控制器引入到工业现场总线网络之中, 使单台设备成为一个智能节点,实现控制的远程化,可以大大提高生产设备的整体系统控制 水平、降低生产成本。

一、Profibus 总线介绍

ISO/OSI 的通信标准模型由七层组成。从用户角度看,Profibus 提供了三种通信协议标 准:PROFIBUS-DP、PROFIBUS-PA、PROFIBUS-FMS[2]。

(1)、PROFIBUS-DP:是一种高速低成本通信,用于设备级控制系统与分散式I/O 的通信。 使用PROFIBUS-DP 可取代原来的24VDC 或4-20mA 信号传输。

(2)、PROFIBUS-PA:专为过程自动化设计,可使传感器和执行机构联在一根总线上,并有 本征安全规范。

(3)、PROFIBUS-FMS:用于车间级监控网络,是一个令牌结构、实时多主网络。 PROFIBUS-DP:定义了第一、二层和用户接口。

第三到七层未加描述。用户接口规定 了用户及系统以及不同设备可调用的应用功能,并详细说明了各种不同PROFIBUS-DP 设备 的设备行为。PROFIBUS-DP 总线的物理层(第一层)采用RS485 总线传输。

二、硬件方案

Profibus-DP总线的通信接口设计采用了西门子公司的SPC3协议芯片作为本设计的核心 芯片。SPC3协议芯片是SIEMENS公司研制开发的专门用于开发PROFIBUS-DP从站的智能通信集成电路。该芯片集成了完整的PROFIBUS-DP协议。SPC3主要由控制整个过程的微序列 器、参数/方式寄存器、RAM和RAM控制器组成双口RAM、中断控制器、内置的看门狗定 时器、内部总线接口单元、UART接口、波特率发生器和总线空闲定时器组成。SPC3芯片可 以自动检测总线上波特率从9.6K到12M的信号,并且能够自适应的采取相应的总线频率[3]。

芯片

从图1可以看出,微序列器是SPC3的核心。该芯片可以承担通信部分的微处理器功能, 实现PROFIBUS-DP从站通信处理,从而减轻从站CPU的工作负荷。SPC3通过它自身的双端口RAM 与微处理器交换数据,微处理器操作SPC3芯片就像操作它的外部RAM一样。SPC3芯片的整个 RAM采用8字节的段结构方式,共被分成192段,所有需要分配地址的BUF指针,必须指向段的 开头。SPC3的总线接口是个可参数化的同步/异步8位接口。该接口适合于Motorola和Intel 的微控制器/处理器。PROFIBUS-DP通信的服务存取点(SAP)由SPC3自动建立的。各种报文信 息呈现在用户面前的是不同BUF的内部数据。用户可以通过总线接口访问这些内部数据。SPC3 芯片有8根数据线和11根地址线,但是为了节约单片机资源,低8位地址线与数据线采取了复 用的方式。

芯片

三、RS485 接口设计

PROFIBUS-DP在底层的物理层上使用的是RS485协议。为了满足PROFIBUS-DP的数据高速 传输的要求,必须选择高速光隔和高速RS485收发器。本设计采用的高速光隔为6N137, RS485 采用MAXIM公司的高速差分总线收发器MAX3468作为驱动器。这样PROFIBUS-DP的传输速率最 高可以达到6Mbps。如果要让数据传输速率达到12Mbps,就必须选用更为高速的光隔。智能 从站节点RS485传输用的双绞线电缆采用了SIEMENS公司提供的PROFIBUS-DP总线电缆和终端 接口器。Profibus总线不带中继的情况下每分段32个站(主站或从站),最多可以达到127 个站(带中继)。每段的头和尾各有一个总线终端电阻,确保操作运行不发生误差。两个总 线终端电阻必须永远有电源。

芯片

四、Profibus 总线硬件接口结构

在PROFIBUS-DP 硬件接口电路设计方案基础之上,我们采用单片机+专用集成芯片SPC3+ RS485 驱动的方案。Profibus-DP 接口卡与控制设备(从站)的数据交换采用双端口RAM。采 用这样方式的优点是可以减少对控制设备资源的占用,并且由于数据交换是并行方式,数据 交换速度快[4]。

五、软件设计

DP 智能从站上电或复位后,首先进行SPC3 的初始化,其中包括有效地复位SPC3,触发 硬件看门狗,清零SPC3 内部RAM 单元(1016H~15FFH),设置SPC3 允许的中断,写入从站 识别号和地址以及地址是否可以被PROFIBUS-DP 改变,设置SPC3 内部看门狗计时初值,设 置SPC3 方式寄存器,设置参数缓冲区、诊断缓冲区、SSA 缓冲区、组态缓冲区、输入输出 缓冲区的初始长度,并根据以上初始值求出各个缓冲区的指针;根据传输的输入输出数据长 度,确定输出缓冲区和输入缓冲区的指针;获得波特率,针对波特率控制要求调整看门狗的 初始值。初始化流程图4 如下:

芯片

SPC3 与微处理器进行数据交换时通过中断方式进行的,以提高响应速度。通常情况下, 采用INT0 中断。SPC3 可以提起中断的中断源有:New_Prm_Data、New_DDB_Prm_Data 和 New_Cfg_Data 等。中断程序模块用于处理SPC3 发生的各种事件,这些事件包括: 新的参数 报文事件;全局控制命令报文事件;进入或退出数据交换状态事件;新的配置报文事件;新 的地址设置报文事件;监测到波特率事件和看门狗溢出事件。软件中采用中断方式处理从站 地址设定,检查组态和参数报文是否正确。采用外部中断INTO 输入,其入口地址为0003H。 使用函数定义语法 void dps2_ind(void) interrupt0 调用外部中断INTO,当外部中断0 被触发时,将会执行此中断模块中的服务函数,在函数中由DPS2_GET_INDICATION()宏可以 读出相应的事件信息,并进行各个中断事件的处理。中断程序流程如图5 所示。

芯片

六、GSD 文件

PROFIBUS 设备具有不同的性能特征,特性的不同在于现有功能(即I/O 信号的数量和诊断信息)的不同或可能的总线参数,例如波特率和时间的监控不同。对一种设备类型的特 性,GSD 文件以一种准确定义的格式给出其全面而明确的描述。GSD 文件由生产厂商分别 针对每一种设备类型准备并以设备数据库清单的形式提供给用户,这种明确定义的文件格式 便于读出任何一种PROFIBUS-DP 设备的设备数据库文件,并且在组态总线系统时自动使 用这些信息。在组态阶段,系统自动地对输入与整个系统有关的数据的输入误差和前后一致 性进行检查核对。GSD 文件可分为三个部分:(1) 总规范。(2) 与DP 有关的规范。(3) 与 DP 从站有关的规范。

七、调试

SIEMENS 公司推出的PACKAGE 4 主从站开发包,可以很方便的开发和调试 PROFIBUS-DP 主站和从站。开发包硬件包括IM183-1 从站接口模块、带载体板IM181 的IM180 主接口模板、IM184 从站接口模块以及总线连接器等附件,使用这些主站、从站 接口模块和连接器可以组成完整的DP 网络;软件包括组态软件COM PROFIBUS、仿真演 示软件DPMT 和固态程序DPS2。本设计也可以用此开发板进行调试和测试。用IM181 的 IM180 主接口模板构成主站与设计的从站进行Profibus—DP 的通信。除此以外,还可以用 300 系列PLC 等构件Profibus 网络调试[5]。

八、结束语

Profibus-DP 总线已经在国内得到了广泛的应用。通过研究Profibus-DP 总线的开发,本 文详细阐述了开发Profibus-DP 总线的软件和硬件的方法。当前国内市场各类控制器很多, 我们开发Profibus 接口,可以提高产品的附加值、开拓新的产品市场。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分