开发中使用的微处理器是80C196,其与SPC3的接口电路如图3—1。应当注意的是SPC3在使用Intel芯片并工作于同步模式时,内部有自己的地址锁存及解码电路,所以CPU的低8位地址线不经过573锁存器直接与 SPC3连接(低8位地址线与8位数据线分时共用传输线)。而CPU的高8位地址线直接与SPC3的AB0-AB7相连,且必须为00000XXX(X表示0、1信号都行),AB8-AB10必须为低。此时片选信号输入引脚不起作用,应当将其接至高电平。


CPU与SPC3通过SPC3的RAM交换数据,SPC3的双口RAM应在CPU地址空间中统一分配地址。CPU把这片RAM当作自己的外部RAM。CPU采用P3和P4口扩展外部存储器,P3口作为数据和低8位地址线,P4口作为高8位地址线。
SPC3与通信接口的电路示意图见图3—2。SPC3用于串行通信的4个管脚分别为XCTS、RTS、TXD和RXD。XCTS的含义为清除发送,是 SPC3的输入信号,表示允许SPC3发送数据。此信号低电平有效,应一直接低电平。RTS为SPC3的请求发送信号,其最终接到收发器的输出使能端。 RXD和TXD分别为串行接收和发送端口。
为提高系统的抗干扰性,SPC3内部线路必须与物理接口在电气上隔离。输入输出通道上的电气隔离,采用了6N137高速光耦。电源的电气隔离,采用了DCP0505这种5V到5V的隔离转换电源。
Profibus通信协议保障了通信的高可靠性,但这以硬件和软件设计为基础。在通信接口设计时,必须遵循一定的规范,如信号的隔离,总线接口与收发间避免线路过长,电源的滤波处理,收发器和光耦的限流电阻和负载电阻必须与收发器光耦配合适当等。
采用的高速光耦为6N137,收发器为SN75ALS176,通信速率可达6M波特率,可用于大部分的应用系统。如果用户需要更高的通信速率,可以将光耦换作可达25M波特率的HCPL-7720/7721。
4 通信接口的软件设计
从站程序包括3个部分:SPC3的初始化程序,SPC3的中断处理程序和具体的IO应用程序。程序采用结构化编程思想,以便于以后的功能拓展。SPC3 的初始化程序应放在具体IO应用的前面;SPC3的中断输出作为CPU的中断输入,对于C196来说,采用的是外部中断,中断入口地址为200EH。
在SPC3正常工作之前,必须进行初始化,以配置各个需要的寄存器。初始化程序功能结构见图4—1。

中断处理程序用于完成SPC3发生的各种事件的处理。主要有新的参数报文事件,全局控制命令报文事件,进入或退出数据交换状态事件,新的配置报文事件,新的地址设置报文事件,监测到波特率事件和看门狗溢出事件。
数据输入和输出处理(输入输出相对于主站而言)以及用户诊断数据输入可以放在应用程序循环中。在一个应用循环中,由应用来刷新输入BUF中的数据,保障所有输入数据是最新更新的数据。而SPC3在接收到由Profibus主站传送的不同输出数据时,会产生输出标志位(同样位于中断请求字单元),CPU通过在应用循环中轮询标志位来接收主站数据。相对于特定应用的诊断信息,需要实时传递到主站;主应用程序在应用循环中判断是否有可用的诊断BUF存在,当有空闲BUF时,应用程序输入诊断信息并请求更新。对于实时性要求严格的系统,应采用中断方式进行输出数据和诊断数据处理。
5 结 论
为验证所设计从站的Profibus功能及系统性能,需要确定实验方案并组建实验网络。实验中使用的主站采用SIEMENS的IM180主站模块和 DPMT主站软件。IM180附以主站软件可以实现对从站的状态监控及控制。实验还需要建立自定义从站的GSD文件,目的是为了使用开放的组态工具组态。使用SIEMENS的GSD-EditorV2.1(可以从Profibus用户组织的网站下载http:∥www.profibus.com)建立定制从站的GSD文件,可以减少定制GSD的周期,并能保证文件格式的正确性。
实验中采用的总线波特率为6M,连接器采用SIEMENS提供的接线器和自己设计的连接器。主站与从站可以保持可靠的通信。主站对从站发送的“从站地址设置”命令,从站可以正确的接收并处理,对从站的特别工作模式设定是通过全局命令完成,包括对从站锁定和同步的命令。实验结果表明这些功能都得到较好实现。
不同波特率下所达到的通信距离也是Profibus规范的一个重要指标。本实验中采用屏蔽双绞线验证从站的这一特性。表5—1为实验所达到的指标。

以上实验表明,所设计的从站完全符合Profibus标准。网络的数据传送速率可达6Mbps,且运行稳定,可以满足大多数应用的需求。
开发过程也证明了利用Profibus通信协议进行Profibus产品开发,可以极大地节约时间和人力。 SPC3芯片的使用方法简单,功能相对完善,可以满足智能DP从站的通信接口设计。