打印
[STM32F1]

STM32与PROFIBUS协议

[复制链接]
楼主: goodluck09876
手机看帖
扫描二维码
随时随地手机跟帖
21
goodluck09876|  楼主 | 2019-5-16 14:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览

使用特权

评论回复
22
goodluck09876|  楼主 | 2019-5-16 14:31 | 只看该作者
3 ) SDI:固定8字节数据域。

使用特权

评论回复
23
goodluck09876|  楼主 | 2019-5-16 14:51 | 只看该作者

使用特权

评论回复
24
goodluck09876|  楼主 | 2019-5-16 14:51 | 只看该作者

使用特权

评论回复
25
goodluck09876|  楼主 | 2019-5-16 14:52 | 只看该作者
根据Profibus-DP的通信机制,主站与从站建立通信时,预先发送总线查询
帧得知哪些从站处于总线激活状态,一旦确定总线上的激活站点后,便开始对激
活站点进行参数化、组态并诊断,只有当所有配置正确后才可进入数据交换阶段。
下面就针对以上这几种报文的格式做详细地介绍。

使用特权

评论回复
26
goodluck09876|  楼主 | 2019-5-16 15:05 | 只看该作者
    上一章提到了国内带有Profibus-DP接口的产品不多,其原因是昂贵的ASIC
专用芯片SPC3给生产厂商带来巨大的成本压力。目前,国内实现DP从站通常
采用以下三种方法:

使用特权

评论回复
27
goodluck09876|  楼主 | 2019-5-16 15:08 | 只看该作者
    从上述三种方案来看,第三种方案主要针对接口模块设计的,要求依赖第三
方的设备,只能作为桥梁使用,往往不会在Profibus-DP网络中广泛地使用。第
一种方案克服了第二种方案存在的局限性,基于单片机软件实现成本低,灵活性
高,对今后在我国市场上推广有很大的帮助,但达不到第二种方案的高速通信功
能。权衡两者的优缺点,本课题采纳软核开发的方案,改进单片机软核实现的缺
点,通信速率方面做进一步地提高,使开发的DP从站应用于高速场合中。
    软核实现DP从站的通信速率与微处理器的工作频率密切相关,提高从站的
通信速率可通过提高微处理器的工作频率得以实现。因此,可选择一款比单片机
的工作频率还高的微处理器使软核实现的DP从站能满足高速通信的要求。随着
电子技术的飞速发展,带来了单片机性能在不断地提高,从以前的8位单片机发
展为目前的16位,32位ARM系列嵌入式微处理器。ARM较单片机在性能上得
到了很大的改善,常见的ARM处理器内核主要有ARM7系列、ARMS系列、
ARM 10系列、ARM 11系列、ARM Cortex系列等,其中以C ortex-M3为内核的
处理器是专门为功耗和价格敏感的应用领域而设计的,具有性能高,门数少,调
试容易,终端延迟小等特点。开发DP从站的微处理器的选择并不是越高端越好,
主要从以下两方面考虑:一方面要求处理器内至少带有一个USART接口,且能
达到1. SMbps的通信速率;另一方面在能完成指标的前提下,尽可能选择价格低
的产品。综合这两个条件,本课题选择意法半导体公司提供的C ortex-M3为内核
的STM32F l Ox芯片,最常见且性价比高的有STM32F 101和STM32F 103,这两
款芯片在性能上有所不同,见表2-4 0

使用特权

评论回复
28
goodluck09876|  楼主 | 2019-5-16 15:08 | 只看该作者

使用特权

评论回复
29
goodluck09876|  楼主 | 2019-5-16 15:09 | 只看该作者
    Profibus-DP协议定义了物理层、数据链路层及应用层,其中数据链路层由
MAC层及LLC层组成,应用层的定义与应用场合有关,不同的应用场合对其定
义不同。一个基本的DP从站主要负责完成物理层、MAC层及LLC层的功能,
应用层根据应用场合进行编写。物理层提供了数据传输的硬件通道,通过硬件电
路实现;MAC层负责控制数据帧正确地收发,识别数据帧、波特率自适应及从
站地址的设定等工作;LLC层完成Profibus-DP VO协议的功能,解析主站发送帧
及封装从站回应帧;MAC层和LLC层主要通过软件设计实现。

使用特权

评论回复
30
goodluck09876|  楼主 | 2019-5-16 15:09 | 只看该作者

使用特权

评论回复
31
goodluck09876|  楼主 | 2019-5-16 15:12 | 只看该作者
    STM32F 103的最小系统包括了晶振、程序下载接口,如图3-2 o STM32F 103
系统的主时钟选择常见的无源晶振8MHz的方式提供,通过软件配置时钟的倍频
系数或分频系数来改变系统的主时钟频率,最高可达72MHz o
3.1.1帧间隔识别电路
通过识别帧间隔来识别总线上的哪些数据属于一帧,以便后续的处理。采用
STM32F 103芯片内的定时器复位从模式与外部触发模式1完成辨识报文的帧间
隔。以USART 1 Rx接收端的信号作为定时器的外部触发信号,一旦检测到下降
沿就产生相应地触发。硬件电路上就将STM32F 103芯片的USART 1 Rx引脚与
TIM1 CH1连接,即STM32F 103芯片中PA10 (43脚)与PA8 ( 41脚)相连。
详见图3-2 0



使用特权

评论回复
32
goodluck09876|  楼主 | 2019-5-16 15:12 | 只看该作者
    通过识别帧间隔来识别总线上的哪些数据属于一帧,以便后续的处理。采用
STM32F 103芯片内的定时器复位从模式与外部触发模式1完成辨识报文的帧间
隔。以USART 1 Rx接收端的信号作为定时器的外部触发信号,一旦检测到下降
沿就产生相应地触发。硬件电路上就将STM32F 103芯片的USART 1 Rx引脚与
TIM1 CH1连接,即STM32F 103芯片中PA10 (43脚)与PA8 ( 41脚)相连。
详见图3-2 0
3.1.3从站地址设定电路
    DP通信网络中,主站不仅能与单个从站通信还能与多个从站进行通信,主
站与哪个从站通信会在数据帧中指明对应的从站地址,所以,每个从站都必须被
指定一个从站地址,且不能重复出现在同一Profibus-DP网络中。设定从站地址
有两种方式:一是通过2类主站进行设置,这种方法通过软件进行设定。二是直
接通过硬件进行设定,用普通DIP开关进行设定。本文从站的地址设定采用了后
者。一个DP网络中最多可拥有127个从站,地址设定范围为0-126,即可通过7
个开关完成从站地址的设定功能。具体硬件电路图如下图3-3 0



使用特权

评论回复
33
goodluck09876|  楼主 | 2019-5-16 15:13 | 只看该作者
    Profibus-DP协议的物理层采用RS485通信方式,它是一种差动半双工通信,
STM32F 103自带了USART异步串行通信接口,可通过必要的USART转RS485
接口电路完成主站与从站通信的硬件通道。由于DP从站要与主站完成高达
1.SMbps的通信,所以要求硬件的通信通道能实现高速通信的要求,接口转换电
路就必须满足高速的要求。另外,在DP网络中,多个从站只是通过简单的一对
双绞线将“A"、 "B”端连接,会出现电压差及信号发射的问题,因此RS485的
输入与输出端口之间通过光电隔离技术进行隔离,避免上述情况的发生。综合以
上两个指标,我们选择了ADI公司推出的基于其专利iCoupler磁隔离技术的隔
离型RS-485收发芯片ADM2486,它不但满足了高速通信的要求,而且自带了
隔离器,减省硬件成本及降低电路的复杂度。详细的驱动电路如下图3-40

使用特权

评论回复
34
goodluck09876|  楼主 | 2019-5-16 15:14 | 只看该作者
    当USART信号转换成RS485信号后,信号沿传输线向前传播时,受到阻抗
变化引起信号反射,会使总线上的信号发生叠加现象,导致数据包的丢失。为了
保证信号的完整性,减少信号反射现象的发生,需确保传输线的阻抗处处均匀不
发生变化,特别在传输线的终端要尽量避免阻抗的变化。传输线选择阻抗相对均
匀的双绞线,RS485输出端可接入一个与传输线阻抗相匹配的电阻。
    Profibus-DP网络支持主站与多个从站通信,如下图3-5 0图中可以看出,DP
网络中的终端电阻阻值等于多个从站的终端电阻并联后的值,随着从站个数的增
多,总线终端电阻的阻值会变小,阻值的改变也将影响信号传输的完整性。为减
少从站个数变化的影响,采取以下方案实现:从站端不使用终端电阻,即R为
无穷大,而搭建DP网络时,总线的两端处引入终端电阻Rx实现阻抗匹配。
ADM2486芯片中AB引脚间存在着一个12K阻值的电阻,用双绞线作为传输线,
双绞线的阻抗大约为110,并联12K的电阻可以忽略不计。所以,DP网络中,
从站的外部就不再接入终端电阻,直接在总线两端接入阻值为220的电阻Rx o

使用特权

评论回复
35
goodluck09876|  楼主 | 2019-5-16 15:15 | 只看该作者

使用特权

评论回复
36
goodluck09876|  楼主 | 2019-5-16 15:15 | 只看该作者
从图中可以看出,上拉电阻RuP与下拉电阻}ow。的阻值受总线终端电阻R
的影响,而终端电阻又受从站个数的影响,具体的关系式及相关计算为:
    假设Profibus-DP网络中挂接32个从站,节点负载阻值为:

使用特权

评论回复
37
goodluck09876|  楼主 | 2019-5-16 15:16 | 只看该作者

使用特权

评论回复
38
goodluck09876|  楼主 | 2019-5-16 15:16 | 只看该作者
    任何一个嵌入式开发项目都必须经历PCB设计阶段,PCB设计对电路的设
计越来越重要,若只注重原理的设计,而忽略了PCB的走线布局的,所完成的
电路是不健康的,会在运行中慢慢地显现出问题。根据本课题特殊要求:确保可
靠地进行高速通信,PCB的设计至关重要。下面是针对本论文中PCB设计时需
要注意的问题:
    1)通信线走线尽可能的短;在低频电路中,通常认为导线是电阻为0的纯
电阻,但在高频电路中,传输线上存在着损耗电阻、电感及电容,随着频率的升
高,这些参数便会对传输信号产生影响[}22,2}}。比如,S TM32F 103芯片的外部晶
振,为确保提供一个稳定的时钟,减小导线上电感电容的影响,应可能地靠近芯
片。对此,在高频通信电路中,走线应尽可能地短。
    2)芯片电源去藕;供电电源通常不是很稳定的,往往存在着噪声,这些噪
声会给芯片带来一些不必要的干扰,可能会导致芯片无法正常工作,为确保整个
系统的正常运行,在每个芯片的电源线与地线间接入一个0.1 of的电容来抑制电
源噪声[2s}
    3)关键的芯片尽可能被完整地敷铜;尖峰脉冲好比海上的风浪,为了能使
帆船稳定地行驶,应尽可能地增加与海面的接触面积。同理,为使芯片能抵抗尖
峰脉冲的袭击,可增加敷铜面积,这样才能使系统不至于因为小小的尖峰脉冲影
响系统的稳定性。
    4)两个不共地应被明确地分割;为确保两个不共地的电源独立正常地工作,
应该完全地隔离,且有明显的分界线。详见图3-8 0

使用特权

评论回复
39
goodluck09876|  楼主 | 2019-5-16 15:16 | 只看该作者

使用特权

评论回复
40
goodluck09876|  楼主 | 2019-5-16 15:17 | 只看该作者
    本文采用STM32F 103芯片软核实现Profibus-DP从站,整个工作的最重要部
分就属软件编程,图3-9给出了DP从站软件部分的总程序框图,按照协议标准
模型划分为两部分:一部分是MAC层,主要负责完成数据的接收和发送、帧间
隔识别及看门狗等功能;另一部分是LLC层,完成基本的Profibus-DP VO协议,
负责解析主站发送的数据帧、处理帧及封装回应的数据帧,能与主站进行正常地
数据通信。从站上电后,需要进行一系列的初始化配置,这样才能开始后续的通
讯,包括初始化接收与发送的配置、帧间隔识别初始化、看门狗配置、从站地址
的设定及自适应波特率等。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则