开发方案的选用
PROFIBUS-DP是开放的、 无知识产权倮护的标准。原则上,PROFIBUS DP协议在任何微处理器上都可以实现,在微处理器内部或外部安装异步串行通信接口(UART)即可完成。基于上述特点,目前在 拜发PROFIBUS-DP从站时有以下方案可供选择:(1)单片机+软件的解决方案;(2)单片机+PROFIBUS通信专用芯片的解决方案;(3)采用专用拜发工具。其中以方案2最为方便。
本文采用单片机加PROFIBUS-DP通信专用芯片的解决方案。其中微控制器的选取是实现智能从站开发的关键,因为DP智能从站的控制芯片需要有足够大的RAM来配置VPC3及实现数据交换,并且也需要较 高的运行速率。我们选取Cygnal公司推出的完全集成的混合信号系统级芯片C8051F020,其突出的优点是具有很高的运算速度,非常合适拜发PROFIBUS-DP从站。VPC3芯片是VIPA公司为优化的智能 PROFIBUSDP从站提供的专用芯片,集成了PROFIBUS-DP协议,可以替代西门子SPC3,同时具有工作电压低、RAM大等优点,具有很高的性价比。
硬件电路设计
硬件电路主要采用VIPA的PROFIBUS-DP协议芯片VPC3和CygnalC8051单片机。C805l器件是完全集成的混合信号系统级芯片,具有64个数字IJO引脚。兼容的CI-51内核,4352(4096+156)字节(B)的片 内RAM,可寻址64k字节地址空间的外部数据存储器接口特别适合本设计使用。工作过程单片接口转换电路机自动识别不同的非总线设各,把数据交换到VPC3里,由VPC3负责协议的转换,把转换后的数据 传送到总线里。整个过程可是逆的。所有功能的实现由我们固化在单片机里的程序实现。同时实现自适应功能,即自动识别不同的非总线带通讯的控制设备。
VPC3是用于从站开发的智能通信芯片,它支持PROFIBUS-DP协议。VPC3内部集成4kB的双口RAM。内部锁存器/寄存器位于前2 1个地址单元,主要包括:方式寄存器l、0,中断控制寄存器,状态寄存器 以及输入、输出缓冲器和诊断缓冲器各自的状态寄存器。组织参数位于RAM中从16H开始的单元。整个缓冲器结构(属于DP-SAPS)就是基于这些参数来写的。此外,普通参数在这些单元设置数据(包括站 地址、地址允许改变、用户看门狗值和设备标识号等),状态显示存储在这些单元(通用控制命令等)。
PROFIBUS-DP智能转换接口的主要功能是利用VPC3协议芯片作为数据采集和发送单元实现与PROFIBUS-DP现场总线之间的通信,从而能使用户数据传送到主站并接收来自主站的数据。DP智能转换接口 用C8051作为处理器单元管理通信事务,VPC3协议芯片则完成数据的转换和收发功能。扩展的数据存储器完成数据的存储和处理功能,C8051与VPC3之间通过双口RAM交换数据,VPC3的双口RAM在C8051地址 空间中统一分配地址,C8051将VPC3的双口RAM作为自己的外部RAM,通过P6和P7口与双口RAM连接,P6口作为数据线和低8位地址线,P7口作为高8位地址线。从站接口的总体设计方案,我们采用C8051作为 主控芯片,结合PROFIBUS-DP从站接口芯片VPC3以及ADM248*85接口芯片设计了整体的解决方案。
因为C8051和VPC3+均为3.31/供电,所以可以直接连接。对于C8051来说VPC3就是它的一个外置RAM。SPC3有内部地址解码电路,所以ABS~AB10接地。此时DB7~DB0是数据地址复用总线,可以产生低8位的数据和地址,高4位地址由AB0~AB3产生,AB4~AB7严生SPC3的片选信号,只有AB4~AB7同时为0时才选中SPC3。单片机P7口的P7.0 ~P70.7接VPC3的DB0~DB7端,既作为VPC3的数据线,也作为VPC3地址总线的低8位。P7口作为数据线和低8位地址线,P6口作为高8位地址线C8051。P6口的P6.0~P6.2接VPC3的AB0~AB2端, 作为VPC3地 址总线的高3位,同时要使VPC3的高5位AB7…3=00000。在软件程序的设计中,VPC3的数据存储器的地址区被强制在1000H~15FFH,这要求P7.7~7.4=0001, 要想AB4仍为0,必须将P6.0通过一个非门MM74HC接VPC3的AB4端。在实际电路中,VPC3的AB8~10通过一个接地电阻接地,使得AB8..10=000,AB3接P6.3始终给出低电平信号即AB3=0,AB4的输入端通过非门MM74HC接P6. 4,只要P*始终为1,从而保证VPC3的数据存储器的地址范围为1000H~15FFH。
现场总线接口电路是VPC3与现场总线侧连接的电路,因为Profibus-DP可以达到12Mbit/s的速率,因此对已接口电路的要求是非常高的。在此我们选用Profibus接口专用芯片AMD2486,ADM2486是ADI 公司生产的半双工、隔离RS-485收发器。其内部含有倮护隔离电路,减少了硬件电路的布线,提高了通信的稳定性。
软件设计
程序设计包括主程序和中断程序,还有GSD文件的编制。
1.主程序设计
C8051和VPC3初始化程序放在主程序中,而且一定要放在I/O程序前。主程序流程图如图1所示。上电后,C8051首先进行初始化,设置RS232端定时器/计数器工作方式、设置波特率、中断方式等,随后VPC3进行初始化,以设置允许中断、写入从站识别号和地址、片内方式寄存器、诊断缓冲区、参数缓冲区、配置缓冲区、地址缓冲区、初始长度。
图1主程序流程图
此时,VPC3下—个十分重要的步骤就是根据以上初始值求出各个缓冲区的指针及辅助缓冲区的指针,根据传输的数据长度,确定输入缓冲区、输出缓冲区及指针。主站检查以上参数是否与配置的参数一致,只有双方完全一致,从站才能进行配置,设置从站的输入输出字节数、诊断字节数和各类数据指针。然后,从站才能将配置好的数据同主站比较,只有双方完全一致,从站才能通过DP状态机与主站进行数交换。用户设备通过I/O程序实现报文数据处理。
2.中断程序设计
VPC3有14个中断源,各中断源无优先级,主要是通过中断屏蔽寄存器和中断响应寄存器来实现中断且共用一个中断输出。诊断分为外部诊断和状态诊断,外部诊断必须在从第7个字节开始的单元写入用户数据,状态诊断则只要在第—字节写入OOH即可。VPC3定义从站地址较灵活,既可在组态时由主站设置又可通过自身软件或是增设的硬件地址设置电路实现。根据OSI参考模型,FDL层规定了总线存取控制、数据安全性以及传输协议和报文的处理。DP标准规定了以下四类传输服务。SRD∶发送和请求有应答的数(对DP和PMS),在一个报文循环中发送和接收数据。SDN∶发送没有应答的数据(对DP和PMS),广播和有选择广播报文,即报文送达有选择的一组节点。DP仅限于SRD和SDN服务。在SRD服务时,主站发送输出数据到从站和接收输入数据(若输入数据存在于从站中),在规定的时间周期内应答。若从站是输出设备,则用“E5H”的短应笞。SDN服务是发送数据到规定的一组从站,可按照要求触发SDN服务,对SDN报文没有应答。
本程序设计采用中断方式处理从站地址设定,检查组态和参数报文是否正确。采用外部中断INTO输入,其入口地址为0003H。C51编译器支持在C源程序中直接开发中断程序,减轻了用汇编语言拜发中断程序的繁琐过程。便用扩展属性的函数语法定义void dps2_ind(void)interrupt ouslng 1调用外部中断INTO,当外部中断0被触发时,将会执行此中断模块中的函数,在函数中有DPS2 GETINDICATION()宏可以读出响应的事件信息,并进行各个中断事件的处理。中断程序流程如图2。
图2中断程序流程图
3.GSD文件编制
PROFIBUS设备具有不同的性能特征,特性的不同在于现有功能(即I/O信号的数量和诊断信息)的不同或可能的总线参数,例如波特率和时间的监控不同。这些参数对每种设备类型和每家生产厂来说均各有差别, 为达至刂PROFIBUS简单的即插即用配置,这些特性均在电子数据单中具体说明,有时称为设备数据库文件或GSD文件。GSD文件是一种准确定义的格式描述,生产厂商对每种设备都有一个GSD文件。有了GSD文件后,将来用配置软件组网时只要把设备的GSD文件拷贝到相应的目录下,就可以方便地把此设备加到现场总线网络中。GSD文件的编制可用GSD文件编辑软件,参考编辑软件提供的模板进行修改即可。
图3 实物图
结语
本文的研究内容作为山东省自然科学基金“工业网络控制系统同步控制性能及控制策略研究”的重要组成部分,采用了价格较低的VPC3取代了西门子的SPC3,其3.3V的工作电压具有更低的功耗。通过接口转换电路和软件设计实现自适应功能,即自动识别非总线设备的通讯参数,同时利用高性能的8位单片机C8051实现了PROFIBUS DP智能从站接口的开发,使产品的设计具有更高的性价比,为该产品的国产化提供了一种方法。提供的软硬件设计方法经实践可行,该产品已成功应用于与多家PLC和仪表的通讯网络中。
上一篇:无轨电车整流站自动化监控系统
下一篇:工业以太网在现场总线控制系统中的应用