利用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。
图1 SPC3 内部双口RAM 读操作定义
图2 SPC3 内部双口RAM 写操作定义
附录A:说明。
以上所讲内容可参见SPC3 用户手册。
SPC3 英文版手册及源码讲解可从 www.fieldbuses.com 网站下载。