打印
[STM32F1]

STM32与PROFIBUS协议

[复制链接]
10818|112
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
基于STM32F 103实现Profibus-DP从站软核的研发
由于我之前共享了一篇资料,没想到一位好心的网友告诉我,竟然可以直接使用STM32开发DP协议!

顿时感觉走了不少弯路!

现在共享一下资料,也希望大家一起探讨!

再次感谢这位网友!

使用特权

评论回复
沙发
goodluck09876|  楼主 | 2019-5-16 13:51 | 只看该作者
    Profibus-DP具有很高的市场占有率,主要用于设备级控制系统
与分散式I/O的通信中,安装简单,即插即用,且通信实时可靠,功
能比较完善等特点,是目前国际上应用最广泛的一种现场总线。当前,
国内对Profibus-DP的应用与研究主要以国外的一些成套设备为主,
而自主研究开发通信接口却比较少[m。在国内大多数采用德国西门子
公司提供的ASIC专用Profibus协议芯片SPC3开发Profibus-DP从站,
但由于SPC3芯片价格昂贵,再之外围器件的成本和软件开发的成本,
给生产厂家带来了巨大的成本压力,导致国内只有少量产品带有
Profibus-DP通信接口,无法被广泛应用。本文就针对该方案的缺点,
提出了采用廉价的高性能的普通ARM7芯片STM32F 103软核开发
Profibus-DP从站,代替了Profibus-DP专用芯片。通过有效地分配
STM32F 103的资源,采用硬件与软件相结合,开发智能DP从站,具
有硬件成本低、通信速率高、易修改及扩展、灵活性高等优点。

使用特权

评论回复
板凳
goodluck09876|  楼主 | 2019-5-16 13:52 | 只看该作者
    (1)介绍现场总线技术的发展概况、应用前景以及Profibus-DP协
议在国内外的应用情况,论述了国内开发Profibus-DP从站所采取的
方案及其存在的局限性,指出了本课题的研究方案、研究内容及待解
决的关键技术。
    (2)比较目前国内开发Profibus-DP从站所采取的方案,指出各自
存在的优缺点,提出一种基于aRM}芯片STM32F 103软件实现
Profibus-DP智能从站的方案,并针对预期的指标进行可行性分析。

使用特权

评论回复
地板
goodluck09876|  楼主 | 2019-5-16 13:54 | 只看该作者
    (3)重点介绍Profibus-DP从站的硬件和软件设计。从硬件原理图
的设计、PCB版的制作、电路的焊接及调试到软件编程进行详细介绍。
硬件电路主要包含微处理器接口、电源电路、RS485通信接口。软件
主要完成MAC层及LLC层的功能,如高速数据收发、帧间隔识别、
帧解析、处理及封装等。
    (4)采用CP5611+PC机作为Profibus-DP主站,搭建Profibus-DP
从站的测试平台,对本方案实现的Profibus-DP从站进行测试,是否
达到预期的指标。
    (5)最后,采用自制的丢包率测试站对己完成的DP从站进行丢包
率测试,给出测试的实验结果,并对实验数据进行详细地分析。
    本文实现的Profibus-DP从站在降低成本的同时,确保了高速通
信的功能,可以广泛地应用于高速通信的工业现场网络中,实现一个
智能化的网络,便于用户的管理。

使用特权

评论回复
5
goodluck09876|  楼主 | 2019-5-16 13:54 | 只看该作者
这个资料很好。感谢!

使用特权

评论回复
6
goodluck09876|  楼主 | 2019-5-16 13:55 | 只看该作者
    目前,国际上常用的现场总线标准有Profibus} Modbus} DevideNet} CANopen
等,其中,Profibus总线标准应用最为广泛,它具有开放性、互操作性、环境适
应性较强等优点。在国际上,已有300多家大型厂商(包括西门子、施奈德、ABB ,
欧姆龙、三菱等)都支持与推广Profibus标准。国内也有少量的产品带有Profibus
接口,国内这些产品所带的Profibus接口采用了DP从站的形式,而且大多数都采
用了德国西门子公司提供的ASIC专用Profibus协议芯片SPC3开发智能从站。由于
SPC3芯片的价格昂贵,再加之外围器件的成本和软件开发的成本,给低压电器
产品生产厂家带来了很大的成本压力,这就是国内很少产品带有Profibus-DP接口
的原因。

使用特权

评论回复
7
goodluck09876|  楼主 | 2019-5-16 13:55 | 只看该作者
    本课题就针对上述问题提出了相应解决方案,利用廉价的高性能普通ARM
芯片S TM32F 103开发Profibus-DP从站,代替了Profibus-DP专用协议芯片。通过有
效地分配STM32F 103的资源,采用硬件与软件相结合,开发智能DP从站,完全
代替ASIC专用芯片,大大地降低了成本,解决了上述出现的难题。

使用特权

评论回复
8
goodluck09876|  楼主 | 2019-5-16 13:56 | 只看该作者
国外几大电器巨头企业如德国西门子、ABB等公司都在力推带Profibus-DP
接口的产品,且因为Profibus协议具有开放性和互操作性,使得越来越多地厂商
都使用Profibus-DP接口,使其得到了迅速的发展。而在国内,有少量的产品带有
该接口,具体实现方法一般采用德国西门子公司提供的Profibus-DP专用协议芯片
SPC3开发DP从站,文献3,4,5和6中都采用了专用协议芯片开发DP从站,但由于
ASIC芯片价格昂贵,给电器生产厂商带来了巨大的成本压力。而且与该芯片进
行数据通信时需要通过并行总线接口,这就占用了微控制器的大量端口,限制了
微控制器的选择,不利于成本的降低和体积的减小。国内的大部分产品带有
RS485或RS232通讯口,其通讯标准和协议由各个企业自己制定,很难将各个不
同厂商的产品进行组网通信,导致这些电器的通讯接口闲置着没有被使用。

使用特权

评论回复
9
goodluck09876|  楼主 | 2019-5-16 13:56 | 只看该作者
    基于软核实现DP从站具有成本低和灵活性高的优点,但由于Profibus协议复
杂,对实时性的要求很高,给DP从站的开发带来了很大的困难。另外,之前高
性能MCU的价格一直很贵,也给DP从站的开发带来了一定的阻碍。此前有人提
出了采用单片机开发DP软核从站}9, io, m]的方案,此方案降低了硬件成本,但由于
受到单片机自身工作时钟的限制,最高只能达到SOOKbps的通信速率,无法完成
高速的数据通信,限制了应用的场合。
    国家“十二五”规划中提出的智能电网将对国内低压电器产品提出了可通讯
的要求,Profibus总线依靠现有的优势,将会在现场总线推广中占优势。因此提
供一种具有可靠性高和成本低的DP从站接口的解决方案刻不容缓。

使用特权

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

使用特权

评论回复
11
goodluck09876|  楼主 | 2019-5-16 14:11 | 只看该作者
    1)高速数据传输与缓存技术
    采用USART接收不但占用CPU的资源,而且接收的效率很低,在高速通信
的场合中并不适用,就针对高速场合中数据的接收与缓存可以采用STM32F 103
芯片中有USART与DMA功能,通过硬件DMA请求或软件设置方式触发DMA通
道,提高设备到存储器和存储器到设备的数据传输速度。合理规划STM32F 103
的16级可优先级嵌套的向量中断,满足实现物理层传输的基本要求,通信速率可
以达到1. SMbps以上。合理分配MCU资源,解决高速波特率的接收缓存问题。
    2)高精度单稳态逻辑辨识报文的帧间隔技术
    S TM32F 103芯片中内置了多达4个可同步运行的标准定时器(TIM2 ,  TM ,
TIM4和TIMS)。采用定时器的复位从模式与计数器的外部触发功能,设计高精度
的单稳态逻辑辨识报文的帧间隔。

使用特权

评论回复
12
goodluck09876|  楼主 | 2019-5-16 14:12 | 只看该作者
    本章介绍了Profibus的发展前景,对目前国内外开发的Profibus-DP从站的现
状进行分析,由于ASIC专用芯片的价格昂贵及其他因素的影响,在国内只有少
量的电器产品带有Profibus接口,不能被广泛地应用,为了解决该难题提出了采
用STM32F 103软核实现Profibus-DP从站的方案,该方案在成本及灵活性上都有了
很大的提高。另外,简要地介绍了本课题所要研究的内容、预期达到的指标及几
个关键技术问题。

使用特权

评论回复
13
goodluck09876|  楼主 | 2019-5-16 14:12 | 只看该作者
    Profibus是一种面向自动化的国际性现场总线标准,具有应用范围广、协议
公开的特点,适用于对时间和可靠性要求高的场合中,如制造业、楼宇、电力、
交通自动化等场合。Profibus协议参考OSI模型,定义了物理层、数据链路层和应
用层,不同场合中的应用层使用不同的应用规约,按照应用规约的不同将Profibus
划分为以下几个重要的子集:Profibus-FMS , Profibus-DP及Profibus-PA o
    最早的 Profibus仅定义了现场总线报文规范,这就是Profibus-FMS,它只定义
了主站与主站之间的通信协议,不支持主站与从站之间的通信,主要应用于车间
级的智能主站之间对等的、面向对象的通信,其通信数据量大,使用起来比较复
杂,成本高,市场占有率低,逐渐被Profibus-DP所取代。
    Profibus-DP是用于能通过简单的组态控制快速地使现场设备间进行高速通
信,面向现场层的应用。它保留了FMS中主站与主站之间的通信,在此基础上增
加了主站与从站之间的通信,具有设置简单、功能强大、价格低廉等特点。最基
本的版本为DP-VO,用于主站与主站令牌传递及主站与从站循环数据交换。另外
还有两版扩展版本:DP-V 1和DP-V2 0
    为了解决在自动化控制过程中进行安全地数据传输,在DP之后提出了
Profibus-PA,它的物理层采用了总线供电的方式,且其通信速率与其他两种不同,
是不可以改变的,固定为31.25Kbps,适用于对安全要求高,通信速度低的场合
中。
    三种Profibus子集中,FMS不支持主站与从站之间的通信,只支持主站与主
站间,不适用于通信量及成本低的场合中,而PA专门应用于对数据安全极高的
场合,不能更改波特率,因此,综上所述,这三个子集中Profibus-DP应用最广泛,
下面就针对Profibus-DP协议做详细地介绍。

使用特权

评论回复
14
goodluck09876|  楼主 | 2019-5-16 14:13 | 只看该作者
    文献15详细地介绍了Profibus-DP通信协议,下面就简单地介绍Profibus-DP
协议的核心思想。Profibus-DP协议采用混合访问方式,既保留FMS的主站与主站
之间令牌环传递方式,还增加了主站与从站的时间轮询方式。它遵从IEEE 802
标准,IEEE 802标准模型参照OSI模型,将OSI模型中的数据链路层细分为媒体
访问控制子层MAC和逻辑链路控制子层LLC两层,包括物理层、MAC层、LLC
层、网络层和应用层,详图如图2-1。而Profibus-DP协议则省略了IEEE 802模型
中的网络层,由物理层、MAC层、LLC层和应用层四部分组成。以下将分别对
这四部分进行详细介绍。



使用特权

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

使用特权

评论回复
16
goodluck09876|  楼主 | 2019-5-16 14:28 | 只看该作者
工业现场通信对可靠性要求很高,相比较RS232接口而言,RS485接口可靠
性高,传输距离长。通常DP协议的物理层采用RS485标准接口,以双绞线或光缆
作为传输介质,传输速率从低速的9.6Kbps一直到高速的12Mbps。每一个DP总线
段中可以最大连接32个设备,当多于32个设备时使用中继器得以扩展。另外,在
DP网络中,信号的传输距离受到通信波特率的影响,不同的通信波特率,信号
的有效传输距离不同,详见表2-l o
    DP主站与从站通信时往往会因为总线阻抗不均匀发生信号反射现象,影响
总线上信号的波形,导致主站(从站)无法正确地识别编码值,且随着通信的波
特率提高,位传输时间缩短,信号的反射对总线上信号质量的影响变大。为消除
这种干扰,通常在总线两端接入终端电阻,进行阻抗匹配,吸收到达终端的能量,
避免信号反射现象的形成【m,is,i9},连接具体见下图2-2 0

使用特权

评论回复
17
goodluck09876|  楼主 | 2019-5-16 14:29 | 只看该作者
    Profibus-DP支持主站与主站间和主站与从站间的通信,其中主站分为1类主
站和2类主站,1类主站负责完成对DP从站参数化、组态及诊断处理,与DP从站
进行循环数据交换和完成2类主站的参数化、组态及诊断请求的处理等工作。2
类主站主要管理组态数据,收集1类主站的诊断参数,也可以像1类主站一样,与
从站进行数据通信。Profibus-DP协议支持多主多从通信机制,为避免通信冲突以
确保高可靠性的通信,规定了一套可靠的通信机制。以下将对其进行详细介绍。

使用特权

评论回复
18
goodluck09876|  楼主 | 2019-5-16 14:29 | 只看该作者
    Profibus-DP网络中支持多个主站和多个从站的通信,每个站点都能发送和接
收消息,若不采取一定的通信机制,各个站点任何时候都发送消息,这样会导致
总线上消息的混乱,无法进行正常的数据交换。因此,Profibus-DP采用了两种通
信机制[[12,13,14],一是主站与主站间通信采用令牌环传递的通信机制。在整个DP
总线上只有一个令牌环,只有持令牌的主站才能与其所属的从站通信,其他主站
处于等待令牌状态,当该主站超过持有令牌的时间时,就将令牌传给下一个主站,
此时下一个主站就会被激活,与所属的从站通信,有效地避免了通信的冲突。二
是主站与多个从站通信采用了分时轮询的机制。主站预先设定轮询表,当该主站
持有令牌时间时,按照轮询表与从站逐一循环通信,直到该主站持有的令牌时间
结束,若在持有令牌的时间内还未能与所有其所属的从站通信,只有等下一次持
有令牌时,继续之前的动作,与未来得及通信的从站进行通信。该机制与类似的
CDMA机制的不同点为:主站与某个从站通信的时间是确定的,这一点对工业控
制网络来说十分重要。详见图2-3。这两个机制中,避免冲突最重要的一点是从
站一直是个哑终端,只是被动地等待主站发送的请求,只有当主站发送请求帧给
该从站时,从站才会回应响应帧给主站,其他时间只处于侦听总线的状态。

使用特权

评论回复
评论
Rz120591966 2024-3-26 14:54 回复TA
请问您用32做过Profibus通信么,有一点问题想问 
19
goodluck09876|  楼主 | 2019-5-16 14:30 | 只看该作者
    Profibus-DP网络与普通通信网络不同,它主要应用于工业现场中,对通信的
可靠性和实时性要求苛刻,确保通信的高可靠性Profibus-DP协议对通信时序做了
严格的规定。通信时序见图2-4。每一个主站与从站通信之前必须等待一定时间,
确保总线上已没有数据流,该时间称为同步时间TSYN,典型值为33Tbit ( Tbit
表示总线上传输一位所需要的时间)。同步完后,主站开始向从站发送请求帧,
待从站接收完主站的请求帧,等待TSDR的时间再发送请求响应帧,该时间称为
从站反应时间,也称为从站延迟时间,典型值为11 Tbit。主站发送请求帧直到接
收完从站的响应帧这段时间内一直处于空闲状态,即为主站的空闲时间,被定义
为Slot Time。如果主站在TSL时间内未接收到从站的响应帧,就被认为出现了一
次丢包,此时主站会选择重发请求帧。

使用特权

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

使用特权

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

本版积分规则

220

主题

5843

帖子

21

粉丝