用SPC3协议芯片设计PROFIBUS-DP智能从站

发布者:RadiantRiver最新更新时间:2006-05-31 来源: 单片机及嵌入式系统应用关键字:寄存器  缓冲器  速率 手机看文章 扫描二维码
随时随地手机看文章

引言

  国际电工委员会IEC在2000年1月4日投票通过了现场总线IEC61158国际标准,IEC61158包括了7种现场总线标准,PROFIBUS作为类型3正式加入IEC61158。PROFIRUS协议的结构是以ISO7498国际标准开放式系统互连网络参考模型OSI为基础的。

  PRO FIBUS由二三部分组成:PROFIBUS·FMS、PROFIBus-DP和PROFIBUS—PA。FMS主要用于车间级控制网络,是一种令牌结构和实时多主网络,DP是一种高速的低成本通信连接,用于设备级控制系统与分散式通信;PA是专为过程化而设计的,具有本征安全规范。在这里,主要介绍PROFIBUS-DP(Distributed Process)协议。 PROFIBUS—DP使用了0SI参考模型的第一层、第二层和用户接口,第三层到第七层未定义。PROFIBUS—DP主要应用于传感器和执行器级的高速数据传输.它以DlN 19245的第一部分为基础,主站周期性地读取从站的输入信息并周期地向从站发送输出信息。它的响应时何从几百μ s~几百m s,数据传输速率为9 6 k b p s~12Mbps,传输的数据容量为每个报文多达244字节.传输介质为屏蔽双绞线或光纤等。

 

  本文主要讨论采用slemens的从站协议芯片开发智能从站的方法.智能从站的框图如图l所示。其中包括微控制器、看门狗及EEPROM、SPC3、光电隔离、驱动器和拨码开关等。

1  SPC3协议专用芯片

  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内部结构介绍

  SPC3是用于从站开发的智能逋信芯片.它支持PROFIBUS-DP协议。SPC3内部集成了1.5KB的双口RAM。内部锁存嚣/寄存器位于前21个地址单元。主要包括方式寄存器l、0.中断控制寄存器.状态寄存器以及输入、输出缓冲器和诊断缓冲器各宦的状态寄存器。

 

  组织参数位于RAM中从1 6H开始的单元。整个缓冲器结构(属于DP—sAPs)就是基于这些参数来写的。此外,普通参数在这些单元设置数据(包括站地址、地址允许改变、用户看门狗值和设备标识号等).状态显示存储在这些单元(通用控制命令等)。

  用户缓冲器区域位于从40H开始的单元。其中,方式寄存器O设置PROFlBUS—DP的操作方式,如SYNC、FREEZE等。方式寄存器0必须在离线状态进行赋值,一旦上电,就不能修改。方式寄存器1在上电后可对每个位进行置位和复位。

  SPC3有1 4个中断源.各个中断源没有优先级-而是通过中断屏蔽寄存器和中断响应寄存器来实现中断的。但“新参数数据“中断和“新配置数据”中断可以不用中断响应寄存器响应。中断信号的极性由用户设定。

  诊断分为外部诊断和状态诊断。若是外部诊断,用户必须在从第7字节开始的单元中写入用户数据。若是状态诊断,则只需在第l字节写入00H.而不必填写从第7字节开始的用户数据。

  从站地址号可以是固定的,也可以由主站设置。若设站地址号不能改变,则在初始化阶段,令“Real—No—Add—change=0FFH" "R-SSA BUF-PTR=00H”。
  用户看门狗计数器是l 6位的内部存储器单元, 初始值由R user Wd_Value单元给定。每接收1个数据报文,计数器减l。当减到0000H时,SPC3就进入“等待参数化”状态,DP状态机执行“离开主站”命令。

  另外SPC3内部还集成了1个看门狗计数器.可工作于3种不同的状态 波特率监测、波特率控制和DP控制。SPC3能自动标识总线波特率(9.6kbps~12Mbps)。

  1.3 SPC3硬件电路设计

 

  CPU使用AT89S52,采用的是INTEL工作方式,CPU与SPC3的接口电路如图2所示。对AT89S52而言,SPC3相当于它扩展的一个外部RAM。而且,SPC3有内部地址解码电路.所以,AB8~AB10接地。此时DB7~DB0是数据地址复用总线.可以产生低8位的数据和地址,高4位地址由AB0~AB3产生,AB4~AB7产生SPC3的片选信号.只有AB4~AB7同时为0时才选中SPC3。在图2中,SPC3的片选信号是1000H,SPC3的内部RAM位于1000H~l5FFH单元。本从站的开发采用的是汇编语言编程.占用的内存单元少,不需扩展外部RAM。如果使用C语言编程,则必须扩展足够的RAM或者使用带有足够RAM的CPU。

  从图2中可以看出,RS485总线驱动器一侧与9针D型插鹰相连。另一侧通过光耦与SPC3相连。目前,能满足12M bp s波特率的驱动芯片有sN 6 5AL S1 7 6、SN65ALSI 176、SN75ASLl76、ADMl一485、SN65HVDl 176等,采用光电隔离主要是为了消除来自外界的干扰,能满足12Mbps波特率的光耦有HCPL7 720、HCPL0720HCPL772l、HCPL072l、HCPL7710等。另外要求电源也要采取隔离措施.如加变压器隔离或采用DC—DC模块。

2 PROFIBUS—DP的状态机

  根据PROFIBUS—DP协议可知,PROFIBUS—DP的状态机描述DP从站在每种情况下的行为以保证它符合一致性.SPC3内部集成了状态机.用户对状态机的控制是很有限的。PROFIBUS—DP的状态机如图3所示。

  在Power_On状态,从站能从2类主站接收Set Slave-Add报文来改变它的地址,然后从站进入Wail_P rm状态,等待参数化.此状态从站还可以接收Get_Cfg和Slave_Dlag报文。参数化完成后.从站进人wait_Cfg状态,等待Chk_Cfg报文.另外还可以接收Slave_Diag、Set_Prm和Get_Cfg报文。如果Chk_Cfg完成后,从站将进入Data_Exch状态.进行数据通信。此时从站还可接收Writing_Outputs、Reading_lnputs、Global_Control、Slave Diag、Chk_Diag和Get_Cfg报文,若组态和数据交换不成功.就会返回到参数化阶段。Wait_Prm在对从站进行组态时,必须要编写它的GSD文件.所谓GSD就是为了将不同的PROFIBUS产品集成在一起而以电子设备数据库文件方式提供的功能函数(如I/O点数、诊断信息、波特率、时间监视等)。只有GSD文件在COMPROFlBUS组态软件下才能对从站组态,否则主站无法识别从站。

 

3 软件设计

  对SPC3的软件操作主要包括两个部分:SPC3的初始化和SPC3的中断处理。主程序和中断程序流程图分别如图4和图5所示。

  SPC3的初始化程序应放在主程序的前面,而中断处理程序完成CPU对SPC3中断输出的响应。 SPC3上电复位之后.在正常工作之前必须进行初始化,以配置各个寄存器。中断处理程序用于处理SPC3发生的各种事件,这些事件包括 新的参数报文事件:全局控制命令报文事件.进入或退出数据交换状态事件,新的配置报文事件:新的地址设置报文事件;监测到波特率事件和看门狗溢出事件。数据输入和输出处理(输入输出相对于主站而言)及用户诊断数据输入可以放在应用程序主循环中。在一个应用循环申,由应用来刷新输入BUF中的数据.保障所有输入数据是最新的更新数据。而SPC3在接收到由PROFIBUS主站传送的不同输出数据时.会产生输出标志位(同样位于中断请求字单元),CPU通过在应用循环中轮询标志位来进行接收主站数据。对于特定应用的诊断信息.需要实时传递到主站。主应用程序在应用循环中判断是否有可用的诊断BUF存在一当有空闲BUF时应用程序输入诊断信息,并请求更新。对于实时性要求严格的系统,应采用中断方式进行输出数据和诊断数据处理。

4 GSD文件简介

  PRO FlBUS设备具有不同的性能特点,为达到PROFIBUS简单的即插即用配置.PROFIBUS设备的特性均在电子设备数据库文件(GSD)中具体说明。标准化的GSD数据将通信扩大到操作员控制级。使用基于GSD的组态工具可将不同厂商生产的设备集成在同一总线系统中.既简单又是对用户友好的。

   4.1 GSD文件的组成

 

  GSD文件可以分为三个部分:
  ◆一般规范 这部分包括生产厂商和设备的名称,硬件和软件的版本状况,支持的波特率一可能的监视时间问隔以及总线插头的信号分配;
  ◆与DP主站有关的规范这部分包括只运用于DP主站的各项参数(如连接从站的最多台数或上装和下装能力)。这一部分对从站没有规定;
  ◆与DP从站有关的规范 这部分包括与从站有关的一切规范(如输入/输出通道的数量和类型、中断测试的规范以及输入/输出数据一致性的信息)。

  4.2 GSD文件格式

  GSD文件是ASCII文件.可以用任何一种ASCII编辑嚣编辑 如计事本、UltraEdit等,也可使用PROFIBus用户组织提供的编辑程序GSDEdit。GSD文件是由若干行组成,每行都用一个关键字开头,包括关键字及参数(无符号数或字符串)两部分。GSD文件中的关键字可以是标准关键字(在PROFIBUS标准中定义)或自定义关键字。标准关键字可以被PROFIBUS的任何组态工具所识别,而自定义 关键字只能被特定的组态工具识别。
  一个GSD文件的例子如下。
#Pr0fibus DP             ;DP设备的GSD文件均以此关键存在
GSD Revision=1            ;GSD文件版本
VendorName="Meglev"         ;设备制造商
Model Name="DP Slave"        ;产品名称,产品版本
Revision="Version 01"        ;产品版本号(可选)
RevisionNtmber=01          ;产品识别号
IdemNumber=0x01           ;协议类型(表示DP)
ProtocoI Ident=0           ;站类型(0表示从站)
StationType=0            ;不支持FMS.纯DP从站
FMS Supp=0              ;硬件版本
Hardware Realease="HW1.0"      ;软件版本
Soltware Realease="SWl.0"      ;支持9.6kbps波特率
9.6 supp=1              ;支持19.2kbps波特率
19.2 supp=l              ;9.6kbps时最大延迟时间
MaxTsdr 9.6=60            ;19.2kbps时最大延迟时间
MaxTsdrl9.2=60            ;不提供RTS信号
RepeaterCtrl sig=0         ;不提供24V电压
24VPins=0              ;采用的解决方案
Implementation Type="SPC3"     ;不支持锁定模式
FreezeMode Supp=0          ;不支持同步模式
SyncMode Supp=0           ;支持自动波特率检测
AutoBaud Supp=l           ;不支持改变从站地址
Set SlaveAdd Supp=0         ;故障安全模式类型
Fail Safe=0             ;最大用户参数数据长度(0-237)
MaxUser PrmDataLen=0         ;用户参数长度
Usel prmDataLen=0           ;最小从站响应循环间隔
Min Slave Imervall=22         ;是否为模块站
Modular Station=l          ;从站最大模块数
MaxModule=l              ;最大输入数据长度
MaxInput Len=8            ;最大输出数据长度
MaxOutput Len=8            ;最大数据的长度(输入输出之和)
MaxData Len=16            ;最大诊断数据长度(6~244)Slave
MaxDiagData Len=6           ;从站类型
Family=3                ;模块1,输入输出各4字节
M0dule=“Modulel”0x23,0x13;    ;模块2.输入输出各8字节
EndModule
Module="Module2"0x27,0x17;
EndModule

结语

  PROFIBUS.DP现场总线已成为我国机械部的行业标准.受到越来越多科研机构和厂家的重视t本文从开发的角度.详细阐述了PROFIBUS—DP现场总线的软硬件设计方法。相信能给读者起到抛砖引玉的作用。我们开发的带有PROFIBUS-DP总线接口的设备,能满足互操作性以及实耐性通信的要求,已在许多行业得到成功应用。
  

关键字:寄存器  缓冲器  速率 引用地址:用SPC3协议芯片设计PROFIBUS-DP智能从站

上一篇:基于嵌入式控制器的电站废水处理的控制系统
下一篇:微控制器时钟 — 选择晶振、谐振槽路、RC振荡器还是硅振荡器?

推荐阅读最新更新时间:2024-03-30 21:21

Maxim 推出采样速率最快的20位SAR ADC
Maxim Integrated功能丰富的SAR ADC集成内部基准缓冲器,设计人员无需牺牲精度、速度或功耗指标即可实现更宽的动态范围。 中国,北京,2014年4月23日。Maxim Integrated Products, Inc. (NASDAQ: MXIM)推出20位、1.6Msps逐次逼近寄存器(SAR)模/数转换器(ADC) MAX11905,使设计人员能够以最低功耗实现业内最高分辨率和最快采样速率。 工程师在高精度数据转换设计中通常会选取Σ-ΔADC。然而,为实现高精度和宽动态范围,此类ADC的功耗通常在100mW以上。而MAX11905 SAR ADC的功耗仅为9mW,降幅达91%。除有效降低功耗外
[模拟电子]
Maxim 推出采样<font color='red'>速率</font>最快的20位SAR ADC
KS8993型高性能交换电路及其应用
1 引言   KENDIN 公司推出的 KS8993 是业界第一款包含 3 端口 10/100 物理层收发器、 3 个带有 1 个 Layer2 交换器的 MAC 单元以及缓存的高性能以太网快速交换电路,集成了 10BaseT/100BaseTX/100BaseFXPHY 和 16K×32 的 SRAM 缓冲区,其带宽可达到 1Gbps 。具有低功耗、功能齐全和易于调试等特点。   KS8993 主要具有以下特性:   符合 IEEE 802.3 以太网标准和 IEEE 802.3μ 快速以太网标准;   支持基于端口的 VLAN ,基于硬件的 10/100 速率转换及自动
[网络通信]
STM8 内/外部时钟寄存器
STM8内部时钟寄存器(CLK_ICKR) 地址偏移值:0x00 复位值:0x01 位7:6 保留位,始终为0 位5 REGAH:活跃停机(Active Halt)模式下电压调节器关闭 由软件置位或清除。为1时,一旦MCU进入活跃停机(Active Halt)模式,主电压调节器将关 闭,从而唤醒时间将比较长。 0:活跃停机(Active Halt)模式下主电压调节器处于开 1:活跃停机(Active Halt)模式下主电压调节器处于关 位4 LSIRDY:低速内部振荡器准备就绪 由硬件置位或清除 0:LSI时钟未准备就绪 1:LSI时钟准备就绪 位3 LSIEN:低速内部振荡器使能 由软件置位或清除。如果LSI为必
[单片机]
STM8 内/外部时钟<font color='red'>寄存器</font>
stm32 TIM定时器 PWM脉冲输出[操作寄存器+库函数]
脉冲调制(PWM)是利用微处理器对数字输出来对模拟电路的一种非常有效的技术。简单点说就是对确定频率的信号,调整其占空比。 stm32的定时器除了TIM6和TIM7外,其他定时器都可以产生PWM输出。其中高级定时器TIM1和TIM8可以产生多达7路的PWM输出。通用定时器可以产生4路的PWM输出。 在 stm32 TIM定时器 中我们是通过在中断中,翻转指定引脚的电平。在stm32中可以通过配置一个捕获/比较模式寄存器(TIMx_CCMR),设置通道引脚输出模式为PWM脉冲模式,在计时器计数到捕获/比较模式寄存器的值,指定引脚会输出一个有效电平,这样就可以通过定时器直接产生 PWM脉冲。这种方式下不需要开启中断。 这
[单片机]
stm32 TIM定时器 PWM脉冲输出[操作<font color='red'>寄存器</font>+库函数]
基于ARM9程序状态寄存器CPSR
定义:程序状态寄存器; 功能:反映数据运算状态,控制系统模式等; 特点:程序状态寄存器不属于通用寄存器; 关于CPSR的访问,ARM专门为其设立了两条指令: MRS:CPSR到通用寄存器传递数据指令; MSR:通用寄存器到CPRS传递数据指令; (1)MSR 通用寄存器→CPSR 格式:MSR{条件} CPSR | SPSR_field,寄存器Rm或立即数 功能:恢复或改变CPSR的值。 CPRS | SPRS:尖括号内只能是CPRS或SPRS指令,这取决于当前处理器工作模式; field域:用于设置CPSR中需要操作的位;(下面详细介绍) CPSR位域: field域的表示: 为条件标志位域,用 f 表示 为状态位域,用
[单片机]
基于ARM9程序状态<font color='red'>寄存器</font>CPSR
无源无损缓冲器的设计与分析
摘要:在分析了现有功率变换电路的各种缓冲吸收电路的基础上,提出了两种新颖的无源无损缓冲电路,并且进行详细的定性分析和实验,并给出了实验结果。 关键词:功率变换;缓冲电路;无源;无损   1  引言     为了确保功率开关管安全可靠地工作,则功率开关管必须工作在安全区。但在硬开关条件下,功率开关管在开通和关断过程中可能承受过压、过流,过大的d i /d t 和dv/d t 的冲击,使开关管发热,如不采取保护措施,可能使功率开关管超出安全工作区而损坏。为此,在功率电路中,通常设置缓冲电路或采用软开关技术,以防止瞬时过压、过流,过大的d i /d t 和d v /d t ,减小开关损耗,确保开关管工作在安全工作
[电源管理]
无源无损<font color='red'>缓冲器</font>的设计与分析
三态门(三态缓冲器)的工作原理
为减少信息传输线的数目,大多数计算机中的信息传输线均采用总线形式,即凡要传输的同类信息都走同一组传输线,且信息是分时传送的。在计算机中一般有三组总线,即数据总线、地址总线和控制总线。为防止信息相互干扰,要求凡挂在总线上的寄存器或存储器等,它的传输端不仅能呈现0、1两个信息状态,而且还应能呈现第三种状态——高阻抗状态(又称高阻状态),即此时好像它们的输出被断开,对总线状态不起作用,此时总线可由其它器件占用。三态门即可实现上述的功能,它除具有输入输出端之外,还有一控制端,请看下图。 当控制端E=1时,输出=输入,此时总线由该器件驱动,总线上的数据由输入数据决定; 当控制端E=0时,输出端呈高阻抗状态,该器件对总线不起作用。当寄存
[单片机]
三态门(三态<font color='red'>缓冲器</font>)的工作原理
串口通讯的概念及接口电路
  随着计算机系统的应用和微机网络的发展,通信功能越来越显的重要。这里所说的通信是只计算机与外界的信息交换。因此,通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换。由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式。所以串行接口是微机应用系统常用的接口。 许多外设和计算机按串行方式进行通信,这里所说的串行方式
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved