基于C167的PROFlBUS-DP智能从站的设计 2011-05-04 11:22:11来源:互联网

摘要:设计了基于C167的PROFIBUS-DP总线协议的智能从站。依据系统所要实现的功能,提出了使用PRO-FIBUS-DP协议智能接口芯片SPC3和软件的实现方案。以C167与SPC3为核心设计了其软硬件系统,经调试满足了设计要求,目前已在实际工程中得到应用。
关键词:PROFIBUS-DP;智能从站;C167;SPC3

现场总线控制系统已逐渐发展成为继集散控制系统之后的新一代控制系统,在众多的现场总线标准中,过程现场总线(PROFIBUS)标准以其国际化、开放式、不依赖设备生产商的种种优势,成为当前争相研究的对象。
PROFIBUS广泛适用于制造业自动化、流程工业自动化和楼宇、交通电力等领域的自动化,是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术。可实现现场设备层到车间级监控的分散式数字控制和现场通信网络,从而为实现工厂综合自动化和现场设备智能化提供了可行的解决方案。
与其它现场总线系统相比,PROFIBUS的优势在于具有稳定的国际标准EN50170作保证,并经实际应用验证其具有普遍性。目前已应用的领域包括加工制造、过程控制和自动化等。PROFIBUS-DP是开放的,与制造商无关,无知识产权保护的标准。任何人都可以获得这个标准并设计各自的软硬件方案。原则上,PROFIBUS-DP协议在任何微处理机器上都可以实现,在微处理器内部或外部安装串行通信接口即可完成。利用PROFIBUS-DP模型中的服务访问点,通过单片机编程来实现PROFIBUS-DP的状态机制。
PROFIBUS协议结构是根据IS07498国际标准,以开放式系统互联网络(Open System Interconnection-OSI)作为参考模型的。该模型共有7层,文中所探讨的PROFIBUS-DP系统定义了第1,2层和用户接口。使用单片机C167和智能通讯芯片SPC3设计了PROFIBUS-DP智能从站的硬件电路及其控制软件,该系统即将在西北电网与华北电网联网的灵宝背靠背直流工程中投入使用。

1 PROFIBUS-DP系统配置和设备类型
PROFIBUS-DP允许构成单主站或多主站系统。在同一总线上最多可连接126个站点。系统配置的描述包括:站数、站地址、输入/输出地址、输入/输出数据格式、诊断信息格式及所使用的总线参数。每个PROFIBUS-DP系统可包括以下几种不同类型设备:
(1)一级DP主站(DPM1):一级DP主站是中央控制器,它在预定的信息周期内与分散的站(如DP从站)交换信息,典型的DPM1如PLC或PC;
(2)二级DP主站(DPM2):二级DP主站是编程器、组态设备或操作面板,在DP系统组态操作时使用,完成系统操作和监视目的;
(3)DP从站:DP从站是进行输入和输出信息采集和发送的外围设备(I/O设备、驱动器、HMI、阀门等);
(4)单主站系统:在总线系统的运行阶段,只有一个活动主站;
(5)多主站系统:总线上连有多个主站。这些主站与各自从站构成相互独立的子系统。每个子系统包括一个DPM1、指定的若干从站及可能的DPM2设备。
任何一个主站均可读取DP从站的输入/输出映象,但只有一个DP主站允许对DP从站写入数据。
DPM1和相关DP从站之间的用户数据传输是由DPM1按照确定的递归顺序自动进行。在对总线系统进行组态时,用户对DP从站与DPM1的关系作出规定,确定哪些DP从站被纳入信息交换的循环周期,哪些被排斥在外。
DPM1和DP从站间的数据传送分3个阶段:参数设定、组态、数据交换。在参数设定阶段,每个从站将自己的实际组态数据与从DPM1接收到的组态数据进行比较。只有当实际数据与所需的组态数据相匹配时,DP从站才进入用户数据传输阶段。因此,设备类型、数据格式、长度以及输入输出数量必须与实际组态一致。

2 电路主要器件介绍
从站的硬件电路采用西门子C167单片机和智能通讯芯片SPC3。
2.1 C167微控制芯片
C167SR是西门子C16X系列第二代CMOS微处理器。它兼容16位CPU的高性能(高达1 000万条指令每秒),并具有智能外围设备扩展功能。它的主要优点体现在:增强了IO口的应用,提供了附加的内部高速RAM,CAN总线控制器和锁相环PLL等功能;继承了RISC处理器的优点,而克服了CISC处理器在嵌入式应用中的瓶颈;在指令处理上,采用4级指令流水线管道结构;在存储管理上,统一线性地址空间可达16 MB,具有段代码、页数据式管理机制;采用寄存器池,池间的切换时间只要80 ns;16位乘法400 ns,32位除法800 ns,中断响应时间最长400 ns;外部事件控制器PEC服务具有类似DMA的功能,可实现存储器与外设之间的高速数据传输;丰富的在片外设:2 kB RAM、10路A/D、111路I/O、5个定时器/计数器、16个比较/捕获单元、2个串行通信接口、在片的Watchdog等。
CPU的内核是由一个4级流水线指令管道,一个16位的算术逻辑单元以及指示作用的SFR构成。另外还专有做乘法,除法运算的硬件单元,一个位屏蔽器,一个移位器。基于这些硬件保证,大多数C167的指令在20 MHz时钟频率下,只需要1个时钟周期,也就是100 ns就能完成。例如,移位和循环指令通常只要一个时钟周期,而和移位的数目没关系。被优化的乘除法指令使得执行速度快了很多,它分成了2个部分:16×16位的乘法需要5个周期,32/16位的除法需要10个周期。另一个管道优化,即所谓的跳缓存,它将重复的循环跳转指令周期由2个减到1个。CPU可以对位于片上RAM的特殊寄存器进行16位的直接处理。CPU每访问一次寄存器组,其基址由索引指针寄存器指定。寄存器组数目仅仅受限于内部RAM的可用空间。对于简单的参数传递,一组寄存器可能会覆盖其它数据。最高达2 kB的系统堆栈用来存储临时数据。此堆栈也是位于片上RAM,CPU对其通过堆栈指针寄存器进行访问。两个独立的特殊功能寄存器,