PROFIBUS—DP智能从站的研究设计
扫描二维码
随时随地手机看文章
现场总线技术是实现现场级设备数字的工业现场层网络通信技术,它具有较强的现场信息集成能力,组成的系统可靠性高、可维护性好,而且总线协议是开放的。PROFIBUS现场总线是一种国际化的、开放的、不依赖于设备生产商的现场总线标准。它广泛适用于制造业自动化、流程工业自动化和楼宇、交通、电力等其他领域自动化。PROFIBUS由三个兼容部分组成:PROFIBUSFMS、PROFIBUSDP、PROFIBUSPA。DP主要用于现场级的高速数据传输(9.6kbit/S~12Mbit/s),解决自动控制系统通过高速串行总线与分散的现场设备之间的通信任务,传输技术主要用RS485,PROFIBUS-DP的通信任务是由一些固定服务(SAP)来完成的。DP从站能够接PROFIBUS的PLC或PC主站的控制数据,构成一个数字化、智能双向、多点的现场总线通信网络,实现最优控制;而且DP智能从站执行器具有可靠性高、性价比高等特点,因此开发智能化DP从站具有巨大的前景。
1 SPC3的基本特性
SPC3是SIEMENS公司开发的一种用于PROFIBUS-DP智能从站的专用芯片,集成了(RS-485)物理层、现场总线数据链路层、DP从站用户接口以及部分现场总线管理(FMA),与其相连的MCU或MPU只需少量的软件工作即可实现PROFIBUS-DP智能从站通信功能。
SPC3的内部结构如图1所示。
SPC3的控制核心是微序列器(MS,micmxequencer),它控制整个SPC3的工作过程。在芯片进入通信工作以前,需要外接CPU对参数寄存器、方式寄存器等进行必要的参数设置。SPC3还集成有双端口RAM,可以与外部直接交换数据。SPC3为外部访问提供了两种模式:地址数据总线复用模式和地址数据总线非复用模式。SPC3自动建立PROFIBUS-DP通信的服务存取点(SAP),不同报文数据对应不同的缓冲。DP输入数据、DP输出数据都具有三级缓冲,其中总有一级缓冲面向通信。诊断数据有二级缓冲,其中一级缓冲始终用于存放更新的诊断数据。
SPC3支持多个中断,具有中断屏蔽和中断指示功能,多个中断使用统一外部输出。SPC3具有内部集成的看门狗定时器,其操作于三种不同的状态:比特率搜寻、比特率控制和DP控制。SPC3的UART接口能够自动识别总线的比特率(9.6kb/s~12Mb/s)。在任意时刻都可以通过查看SPC3状态寄存器知道MAC状态。SPC3的空闲定时器直接控制总
线时间。
2 微处理器与SPC3之间的接口设计
2.1 硬件设计
CPU使用AT89S.52,它是采用先进的CMOS工艺制造的8位微控制器。它具有并行可编程功能的非易失性FLASH存储器,是80C51的派生器件。该控制器具有运算速度快、兼容MCS5l指令集的特点,可以闪速可编程、可擦除。它有三个16位定时/计数器。由于AT89C52内部集成有8kB的Flash,因此本设计不需另外扩展ROM即可进行内部加密。CPU与SPC3的接口电路如图2所示。对AT89S52而言,SPC3相当于它扩展的一个外部RAM。而且,SPC3有内部地址解码电路。所以,AB8~ABl0接地。此时D137一DB0是数据地址复用总线。可以产生低8位的数据和地址,高4位地址由AB0~AB3产生,AB4~AB7产生SPC3的片选信号。只有AB4~AB7同时为0时才选中SPC3。在图2中,SPC3的片选信号是1000H,SPC3的内部RAM位于1000H~15FFH单元。
外接看门狗电路MAX705用于为微控制器提供保护,它能在单片机上电时可靠复位,并能在断电时防止程序跑飞,从而避免SIKB中的数据被修改。另外,本系统也可采用手动复位,以便在调试或出现故障时使整套系统同时复位。为了防止外界干扰对系统产生影响,单片机与下位机的通讯采用RS-485接口电路来进行光耦隔离。其收发接口采用HCPL260l、DHCPL772l及SN75176等进行隔离,以保证数据可靠传输,消除干扰。
2.2 软件设计
对SPC3的软件操作主要包括两个部分:SPC3的初始化和SPC3的中断处理。流程框图如图3。
SPC3的初始化程序应放在主程序的前面,而中断处理程序完成CPU对SPC3中断输出的响应。SPC3上电复位之后。在正常工作之前必须进行初始化,以配置各个寄存器。中断处理程序用于处理SPC3发生的各种事件,这些事件包括:新的参数报文事件、全局控制命令报文事件、进入或退出数据交换状态事件、新的配置报文事件、新的地址设置报文事件、监测到波特率事件和看门狗溢出事件。数据输入和输出处理(输入输出相对于主站而言)及用户诊断数据输入可以放在应用程序主循环中。在一个应用循环中,由应用来刷新输入BuF中的数据。保障所有输入数据是最新的更新数据。而SPC3在接收到由Profibus主站传送的不同输出数据时,会产生输出标志位(同样位于中断请求字单元),CPU通过在应用循环中轮询标志位来进行接收主站数据。对于特定应用的诊断信息,需要实时传递到主站。主应用程序在应用循环中判断是否有可用的诊断BUF存在,当有空闲BUF时,应用程序输入诊断信息,并请求更新。对于实时性要求严格的系统,应采用中断方式进行输出数据和诊断数据处理。
3 设备数据库文件(GSD)
所谓GSD就是为了将不同的Profibus产品集成在一起而以电子设备数据库文件方式提供的功能函数(如I/0点数诊断信息、波特率、时间监视等)。只有GSD文件在COMPROFIBUS组态软件下才能对从站组态,否则主站无法识别从站。
3.1 GSD文件可以分为三个部分
1)一般规范。这部分包括生产厂商和设备的名称,硬件和软件的版本状况,支持的波特率一可能的监视时间问隔以及总线插头的信号分配;
2)与DP主站有关的规范。这部分包括只运用于DP主站的各项参数(如连接从站的最多台数或上装和下装能力)。这一部分对从站没有规定;
3)与DP从站有关的规范。这部分包括与从站有关的一切规范(如输入/输出通道的数量和类型、中断测试的规范以及输入/输出数据一致性的信息)。
3.2 GSD文件格式
GSD文件是一个普通的ASCII文本文件。可以用任何一种ASCII编辑嚣编写,如计事本、UltraFMit等,也可使用Profibus用户组织提供的编辑程序GSDEdit。但是其格式有严格的规定。GSD文件对每一种类型的设备用一个确切定义的格式做全面的描述。GSD数据库文件由生产厂家编写。具体的标准可以参照PROFIBUS-DP规范。
4 结论
本文详尽地叙述了基于AT89C52的智能芯片SPC3的设计使用方法,由于A189C52没有外扩ROM和RAM,而将程序直接放在其内部闪存中,因此,该方法具有外围电路简单、与处理器并口兼容性好、时序控制简单易懂、可靠性和性价比都比较高等优点。