搜索
bottom↓
回复: 14

profibus-dp 学习资料:利用 SPC3开发智能 DP 从站源码讲解【连载】

[复制链接]

出0入0汤圆

发表于 2011-2-18 15:47:10 | 显示全部楼层 |阅读模式
点击此处下载 ourdev_616898NTQBY4.pdf(文件大小:63K) (原文件名:利用spc3开发智能从站源码讲解(连载一).pdf)
点击此处下载 ourdev_616899X9WVDY.pdf(文件大小:32K) (原文件名:利用spc3开发智能从站源码讲解(连载二).pdf)
点击此处下载 ourdev_616900RZZN72.pdf(文件大小:41K) (原文件名:利用spc3开发智能从站源码讲解(连载三).pdf)
点击此处下载 ourdev_616901OJGDY2.pdf(文件大小:138K) (原文件名:利用spc3开发智能从站源码讲解.pdf)

出0入0汤圆

发表于 2011-2-18 16:29:46 | 显示全部楼层
了解一下。。。


ps:楼主还是整理一下你的签名吧,太浪费网页资源了、眼花,

出0入0汤圆

 楼主| 发表于 2011-2-18 16:33:28 | 显示全部楼层
利用 SPC3开发智能 DP 从站源码讲解(连载一)

1、SPC3 介绍
SPC3 是用于西门子公司提供的用于智能 DP 从站开发的通信芯片.SPC3 支持全部
PROFIBUS-DP 协议。SPC3内部集成了 1.5KB的双口 RAM(简称 RAM) 。内部锁存嚣/
寄存器位于前 21个地址单元。主要包括方式寄存器、中断控制寄存器、状态寄存器以及输
入、输出缓冲区和诊断缓冲区等。
1.1  SPC3的主要技术指标:
◇ 支持 PROFIBUS—DP 协议;  
◇ 最大数据传输速率 12Mbps,可自动检测并调整数 据传输速率;  
◇ 与 80c32、80X86、80C165、80C166、80C167 和 HCII、HCl6、HC916 系列芯片
兼容;  
◇  44引脚的 PQFP 封装;  
◇ 可独立处理 PROFIBUS—DP 通信协议.  
◇ 集成的看门狗(WDT).  
◇ 外部时钟接口 24MHz 或 48MHz;  
◇  5V 直流供电。
1.2  SPC3 RAM 管理
1.2.1  RAM 空间定义
SPC3 1.5Kbyte RAM 分为三个区,分别是系统参数/寄存器区、组织参数区和缓冲区,
如表 1 所示。

表 1  SPC3双口RAM分配图表
地   址  功    能
000H ~ 015H  与 SPC3 相关的系统参数、寄存器
016H ~ 03FH  组织 SPC3 DP缓冲区所需的参数,如 Data In 缓冲的指针等。
040H ~ 5FFH DP缓冲区  如:  
Data In(3),Data Out(3),Diagnostics(2),Parameter setting data(1),
Configuration data(2),Auxilliary buffer(2),SSA-buffer(1)


说明:括号里的数据表示相应缓冲区的数量。如Data In(3)表示有3个 Data In缓冲区,主要实现SPC3 和
用户CPU对输入数据的并行处理。
  首先,SPC3 RAM 管理是以段为单位,每个段为 8 个字节,共分为 192 个段。当用户
需要诸如 9个字节的区间时,须占用 2 个段。
在后继程序中计算出来的内存空间大小就是以段为单位的。
当用户对 RAM 的使用超出 1.5Kbyte 的范围时,SPC3 会通过中断通知用户这一事件发
生。
1.2.2  RAM 空间读/写管理
SPC3 RAM中一些区域对于读操作和写操作的定义是不同的,如当对 02H和 03H进行
读操作时,它的含义就是中断寄存器;当对 02H 和 03H 进行写操作时,它的含义就是中断
确认寄存器。
  针对读/写操作的不同定义参见图 1和图 2。

出0入0汤圆

 楼主| 发表于 2011-2-18 16:34:12 | 显示全部楼层
利用 SPC3开发智能 DP 从站源码讲解(连载二)
2、SPC3 管理功能介绍
2.1 SPC3 中断管理
SPC3 提供了几个与中断相关的寄存器,它们分别是:中断请求寄存器(IRR)、中断寄存
器(IR)、中断屏蔽寄存器(IMR)和中断确认寄存器(IAR)。每个寄存器占 2 个字节,除了5 个
保留位之外 ,SPC3 共支持包括波特率检测、新参数数据、诊断缓冲区改变在内的 11 个中
断。SPC3 只占用一个中断向量号,中断服务程序在响应中断后,需要根据 IRR 中的内容来
判断是哪一个事件引发的中断。 用户可以在初始化时设置IMR来对中断事件进行开/关设置。
用户处理完事件后,需要操作 IAR 或相应的 Cmd 寄存器来来确认相应中断事件。
2.2 SPC3 状态机管理
  SPC3 可工作于四种状态:Power_On、WAIT-PRM、WAIT-CFG 和 DATA_EXCH。图 2
给出的状态机描述了 SPC3 工作状态间的关系。状态机主要用来保证从设备在不同条件下行
为的一致性。
在 Power_On 状态,从站可认接收来自二类主站的 Set_Slave_Add 报文,以改变从站地
址,从站应具有非易失性的存储器来存从站地址。在内部起动后,从站进入 WAIT-PRM 状
态,等待 Set_Prm报文。在此状态从站还可以接收 Get_Cfg或 Slave_Diag 报文,但拒绝处理
其他报文,不能进行通讯。如果 Set_Prm正确,从站进入 WAIT-CFG,等待 Check_Cfg 报文。
Check_Cfg 报文规定输入和输出字节数。另外也可以接收 Slave_Diag,Get_Cfg 报文。如果
Check_Cfg 正确,从站进入 DATA_EXCH状态,进行数据通讯,在此状态,从站可以接收来
自一类主站的 Writing Outputs、Reading Inputs、Global_Control、Slave_Diag、Chk_Diag 和
Get_Cfg 报文。


当从设备发生异常时,如 WD超时,则 SPC3 的状态就会改变,以保证系统的安全。开
发人员在软件调试过程中可通过检查 SPC3 的状态寄存器来确认其工作状态。
3、PROFIBUS DP 协议介绍
3.1 PROFIBUS DP 协议
PROFIBUS DP 协议中规定了 8 种主站-从站功能:读 DP从站诊断信息、传送输入与输
出数据、读 DP-从站的输入与输出数据、发送参数数据、检查组态数据、读组态数据、对
DP从站的控制命令、变更 DP从站的站地址。
在 PROFIBUS DP总线上传送的帧分为四种类型:可变数据字段长度的帧、有数据字段
的固定长度的帧、 无数据字段的固定长度的帧和令牌帧。 下面给出了有数据字段的固定长度
的帧中发送/请求帧和响应帧的格式。
    1.发送/请求帧的格式:   


2.回答帧的格式:  

其中,SYN        同步时间,最小 33 个线空闲位
      SD3        开始定界符,值:A2H
      DA         目的地址
      SA         源地址
      FC         帧控制
      DATA_UNIT 数据字段,固定长度(L-3)=8 个八位位组
      FCS        帧检查顺序
      ED         结束定界符,值:16H
      L          信息字段长度,固定的八位位组的个数:L=11
图示 有数据字段的固定长度的帧
对于利用 SPC3 芯片来开发 DP从设备的开发人员来讲,没有必要考虑如何对从总线接
收到的帧进行校验、解析和处理,也不必考虑如何将响应报文发送到总线上去,这些功能均
由 SPC3 完成。需要说明的是,用户程序对协议报文收发的控制能力是很有限的。
SPC3 管理功能介绍
在上面介绍的 DP 主站-从站服务中,诊断处理、参数化、检查组态数据和从设备地址设
置四种协议报文是必须了解的。
3.2  诊断处理(Dialog)
当从设备发生异常,可以通过诊断报文来向主站传递相关信息,此信息是从设备主动发
送的。标准的诊断信息有 6 个字节,而且用户可以在标准诊断信息之后加入设备相关的诊断
信息,最长可扩展到 244 字节。
SPC3 在收到应用程序传过来的诊断数据后,并不是立刻发给主站。而是在当前的服务
响应中置上标记,当主站收到这样的标记后,会在下个轮循周期内读取从站的诊断信息。
3.3  参数化(Parameter)
参数化报文主要是主站用来设置从设备的工作参数。 从站的参数化在 DP系统的建立阶
段首先完成,也可在用户数据交换模式中完成。除总线一般参数数据外,DP从站专用的参
数(如:较高或较低限值)传送到每个 DP从站。这些数据从主站参数集中的用户那里发送,此参数集缓存在主站中。
标准的参数化信息是 7个字节,根据需要用户最长可扩展到 244 个字节。
3.4  检查组态数据(CFG)
此功能允许 DP主站传送组态数据到 DP从站以便检查。 它们包括输入输出区域的范围,  
也包括关于数据连续性的信息。DP 从站中的用户程序会对接收到的组态数据进行检查,将
结果通知 SPC3。
组态数据的内容和长度跟从站中被组态的模块数和设备描述(GSD)文件中描述该模块
的信息内容有关,例如,GSD文件中有如下模块描述信息:
Module = "2AI*16bit" 0x43,0x41,0x01,0x10,0x02   ;
EndModule  
表示这是一个 2 通道的16 位精度的模拟量输入模块,是用 5个字节的内容描述的,后
三个字节的含义由开发商自行定义。
3.5  变更 DP 从站的地址(SSA)
此功能允许 DP主站(2 类)变更 DP从站的地址。如 DP从站没有存储能力(EEPROM,
FLASH)或如果地址设置是以一个开关来实施的,则此功能以 RS出错报文来拒绝。与此同
时,用此功能发送 Ident_Number。如果本地的和被传送的 Ident_Number 相对应,那么站地
址将被改变。

出0入0汤圆

 楼主| 发表于 2011-2-18 16:34:52 | 显示全部楼层
利用 SPC3开发智能 DP 从站源码讲解(连载三)

4、DP 从设备软件设计方案
在方案设计过程中,我们将软件结构设计成主程序模块/中断处理模块的形式。主程序
模块主要负责系统初始化和寄存器状态查询,并根据寄存的状态进行相应的操作,这一过程
主要处理一些对时间关键性要求相对较低的操作,如 IN/OUT 数据的处理、诊断报文的处理
等;中断处理模块主要处理对时间关键性要求较高的操作,如设备的上/下线处理、参数化
报文处理、从设备通道配置报文处理、设地址报文和设备波特率变更报文处理等过程。
下图给了主程序模块和中断处理模块的工作流程图。


图 基于SPC3 的DP 从设备程序设计流程图
在主程序模块的工作流程中,SPC3 初始化是非常关键一个环节。SPC3 的初始化过程主
要包括以下内容:
z  SPC3 中断配置。SPC3 最多支持 11 种类型的中断,用户程序可以对 SPC3 需要响应
的中断进行设置。SPC3 RAM 内中断屏蔽寄存器(IMR)的地址为 0x04。
z  用户定时器配置。在用户定时器超时后,SPC3 会认为用户程序发生错误,会自动
切换其工作状态,以防止设备发生故障时影响整个系统的安全。SPC3 RAM 内设置
用户定时器时间的地址为 0x18,0x19。 z  设备地址设置。SPC3内0x16H 为写入设备地址处。
z  制造商标识设置。SPC3 RAM 内设置制造商标识的地址为 0x3a,0x3b。
z  SPC3 内各种缓冲区地址及长度计算。需要注意的是,最后的长度值是以段为单位
的。需要计算的内容包括:输入/输出缓冲区的长度和指针;存放诊断处理、参数
化、检查组态数据和从设备地址设置等多种协议报文的缓冲区长度及指针等。
SPC3 只提供一个中断,用户程序在响应中断后根据中断请求寄存器(IRR)中的内容来
判断具体发生何种类型的中断事件,SPC3 RAM中 IRR 的地址为 0x00,0x01。
中断处理模块主要做以下工作:
z  检查并处理新的 PRM 报文;
z  检查并处理新的 CFG 报文;
z  检查并处理新的 SSA 报文。

出0入0汤圆

发表于 2011-7-28 10:09:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-12-14 17:28:19 | 显示全部楼层
挺好的,还有再详细点的不?

出0入0汤圆

发表于 2012-12-16 17:01:52 | 显示全部楼层
正在用SPC3开发DP从站,很好的学习资料!

出0入0汤圆

发表于 2013-8-27 02:49:17 | 显示全部楼层
顶啊。。。

出0入0汤圆

发表于 2013-8-27 02:50:54 | 显示全部楼层
源代码在哪里的呢?

出0入0汤圆

发表于 2014-12-9 12:53:44 | 显示全部楼层
我更想知道aspc2

出0入0汤圆

发表于 2016-8-17 21:33:25 | 显示全部楼层
也需要研究profibus dp了。。。先收藏

出0入0汤圆

发表于 2017-8-16 09:08:19 | 显示全部楼层
这款芯片 是不是类似协议转换芯片 需要配置后就能将 PROFIBUS 转换成232 数据。 谢谢楼主的资料。

出0入0汤圆

发表于 2017-10-29 22:05:54 来自手机 | 显示全部楼层
正在学习…  谢谢分享

出50入58汤圆

发表于 2018-1-31 11:41:15 | 显示全部楼层
学习了,谢谢分享
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 06:04

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表