基于ARM芯片实现PROFIBUS―DP从站接口电路的设计

时间:2022-02-07 05:08:34

基于ARM芯片实现PROFIBUS―DP从站接口电路的设计

【摘要】 本文提出以ARM芯片和PROFIBUS―DP协议芯片为核心的从站接口设计,采用STM32F103处理用户程序,由VPC3+C协议芯片实现PROFIBUS―DP协议的转换。从硬件和软件设计两个方面阐述从站接口的设计和实现方法。

【关键词】 现场总线 PROFIBUS-DP从站 VPC3+C STM32F103

一、引言

现场总线是一种工业数据总线,近年来得到了迅速的发展。现场总线有三种形式:Profibus―DP、Profibus―FMS、Profibus―PA,其中Profibus-DP以其灵活性和可靠性等优点得到了世界范围内的广泛应用,但并不是每个设备都可以接到Profibus网络中,这就使得为工业设备开发Profibus通信接口显得尤为重要。

二、PROFIBUS-DP从站接口设计的整体思路

PROFIBUS―DP用于分散外设间高速数据传输,适用于加工自动化领域。Profibus的传输速率为96~12kbps,最大传输距离在12kbps时为1000m,可用中继器延长至10km,最多可接 127个站点。Profibus协议模型中第一层是物理层,第二层是数据链路层,三至六层未使用,第七层是应用层,最后是用户层。Profibus―DP从站接口选用STM32F103处理用户发送的数据,协议芯片VPC3+C处理Profibus―DP数据链路层的协议,通过RS485实现物理层通信。采用协议芯片不必去了解PROFIBUS-DP的具体细节,只要了解协议的相关内容,这样使我们更方便的设计接口电路。本文设计的PROFIBUS-DP从站接口在总线控制系统中的大体框架。

三、PROFIBUS-DP从站硬件接口的设计

目前Profibus-DP从站开发有两种方案:(1)单片机+软件,但需要了解通信中的大量的协议;(2)单片机+Profibus通信的专用芯片,该芯片集成了Profibus通信所有的协议,避免对大量协议的掌握。本文选用第二种方案,设计的从站接口主要包括以下五部分:电源模块、AD/DA转换模块、STM32F103与VPC3+C接口模块、RS485转换模块和从站地址选择电路。从站采用反激式开关电源供电,可提供3.3V和5V两路隔离的电源。PROFIBUS-DP 从站通采用4~20mA/1~5V 模拟信号传输方式,对4~20mA 的输入信号通过AD转换进行校准和量程变换后将其转换为DP 总线输入数据,对DP 总线输出数据通过DA进行校准和量程变换转换为1~5V 的输出信号。PROFIBUS-DP支持的站地址由0到126共127,采用一个八位拨码开关防止寻址过程发生地址的冲突。

3.1微处理器与VPC3+C接口

STM32F103是增强型32位Cortex-M3,6K字节至20K字节SRAM,多达80个快速IO口,所有IO口可以影像到16个外部中断。VPC3是用于从站开发的通信协议芯片,它支持3.3V和5V电压的供电,并且包含Profibus通信的全部协议,即不用考虑电源转换问题也减少对协议的掌握。VPC3内部集成4KB的双口RAM,有16个没有优先级的中断存储。VPC3与STM32F103的通信有两种模式:Intel模式和Motorola模式。本文选择Intel模式,VPC3相当于STM32F103的外部RAM,通过双口RAM交换数据,VPC3内部有地址解码器,所以AB8―AB10接地。DB7―DB0可用作数据地址复用总线产生低八位数据和地址,AB0―AB3产生高四位地址,VPC3的片选信号由AB4―AB7控制,当AB4―AB7全为零时,选中VPC3。由于VPC3的AB0―AB7是地址数据复用总线,所以与STM32F103的IO连接是通过锁存器相连,锁存器的时钟控制端通过反相器与VPC3的ALE控制,地址总线直接与STM32F103的IO口相连。VPC3的复位引脚与STM32F103的PC9相连,可以通过软件复位VPC3。VPC3与STM32F103进入数据交换状态时,VPC3的引脚XDATAEXCH输出低电平,利用这个特点在该引脚与VDD直接接个LED指示灯,当进入数据交换状态时,指示灯就会被点亮。电路图如1所示。

3.2VPC3与RS485接口

Profibus通信的物理层为RS485,VPC3芯片本身不带RS485接口,所以本设计中采用IL3685芯片实现RS485信号转换。IL3685是现场总线隔离收发器芯片,具有RS485收发和隔离功能。使用一片IL3685设计方法可替代光耦+ RS485通讯芯片,简化了电路设计。IL3685一侧与VPC3相连,另一侧通过DB9与Profibus―DP电缆相连。VPC3的请求发送端口、串行发送端口、串行接收端口与IL3685直接相连。IL3685有一个特殊的引脚ISODE与DB9的DTR相连。

四、PROFIBUS-DP从站软件的设计

PROFIBUS-DP从站的软件设计主要是完成现场总线通信控制和处理用户数据,VPC3中集成的Profibus―DP状态机,可以描述Profibus―DP站的各种情况下的行为,STM322F103的主要任务是初始化和启动VPC3+C以及处理中断诊断事务,转存通过VPC3接收来自主站的数据,同时把设备发出的数据通过VPC3反馈给主站,然后通过主站的组态参数发送控制命令给设备,使得设备发生相应的变化,从而完成一个程序的循环过程。该软件部分主要有以下几个模块组成:

(1)主程序:主要完成STM32F103初始化设置波特率、系统时钟、中断方式等;VPC3+C初始化设置中断允许、设置地址/参数/配置缓冲区及长度;ADC、DAC初始化,设置从站地址;

(2)A/D、D/A调整模块:主要包括数据的采集、数据的转换,AD转换结束读取转换数据;

(3)通信模块:主要指的是VPC3+C通过RS485与主站之间的通信;

(4)时钟设置程序:包括串口波特率时钟、AD/DA采样时钟;

(5)中断模块:主要是处理从站参数、组态数据检测和从站地址选择;

(6)头文件:定义一些变量和宏接口,使得访问VPC3寄存器更加方便。

主程序和中断程序流程图如下图2所示。

五、结论

Profibus―DP用于主从设备间进行快速、简单的数据交换过程。本设计是为电源系统设计的,当电源数值变化时,会把这种变化数据发送给VPC3,VPC3把数据转换后通过RS485传送给主站S7-300,S7-300接到信息后,经行处理,将处理的结果反馈给VPC3,VPC3转换成微处理器可以处理的数据,微处理器接到数据,发送给电源设备发生相反的变化,从而达到稳定电源的目的。

上一篇:初中生物重要概念教学策略初探 下一篇:投标决策与施工索赔的探讨