基于C167的PROFlBUS-DP智能从站的设计

[10-10 20:38:44]   来源:http://www.88dzw.com  单片机学习   阅读:8145

文章摘要: CPU的内核是由一个4级流水线指令管道,一个16位的算术逻辑单元以及指示作用的SFR构成。另外还专有做乘法,除法运算的硬件单元,一个位屏蔽器,一个移位器。基于这些硬件保证,大多数C167的指令在20 MHz时钟频率下,只需要1个时钟周期,也就是100 ns就能完成。例如,移位和循环指令通常只要一个时钟周期,而和移位的数目没关系。被优化的乘除法指令使得执行速度快了很多,它分成了2个部分:16×16位的乘法需要5个周期,32/16位的除法需要10个周期。另一个管道优化,即所谓的跳缓存,它将重复的循环跳转指令周期由2个减到1个。CPU可以对位于片上RAM的特殊寄存器进行16位的直接处理。CP

基于C167的PROFlBUS-DP智能从站的设计,标签:单片机开发,单片机原理,http://www.88dzw.com
    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对其通过堆栈指针寄存器进行访问。两个独立的特殊功能寄存器,STKOV以及STKUN,通过比较堆栈内的值来检测被访问的堆栈是否上溢和下溢,其基本功能模块,如图l所示。

www.88dzw.com
3.3 软件设计
    由于SPC3集成了完整的PROFIBUS-DP协议,因此C167不用参与处理PROFIBUS-DP状态机,P89C61X2的主要任务就是根据SPC3产生的中断,对SPC3接受到的主站发出的输出数据转存,组织要通过SPC3发给主站的数据,并根据要求组织外部诊断等。
    主程序和中断程序的流程图,分别如图5和图6所示。

                


    主程序中的SPC3初始化包括设置SPC3允许的中断,写入从站识别号和地址,设置SPC3方式寄存器,设置诊断缓冲区、参数缓冲区、配置缓冲区、地址缓冲区和初始长度,并根据以上初始值求出各个缓冲区的指针及辅助缓冲区的指针。根据传输的数据长度,确定输出缓冲区,输入缓冲区和指针。
    中断程序主要用来处理PRM报文,CFG报文和SSA报文。
    另外,PROFIBUS设备具有不同的性能特点,为达到PROFIBUS简单的即插即用配置,PROFIBUS设备的特性均在电子设备数据库文件(GSD)中具体说明。标准化的GSD数据将通信扩大到操作员控制级,使用基于GSD的组态工具可将不同厂商生产的设备集成在同一总线系统中,简单而且用户界面友好。

4 结束语
    PROFIBUS-DP开发器件的选择比较灵活。在对数据传输速度有较高要求的应用场合,必须根据应用需求选择器件,尤其是对处理器、RS485接口器件和收发器芯片更要慎重选择,这是快速数据传输的前提。

www.88dzw.com
2.2 SPC3智能通讯芯片
    SPC3是用于从站开发的智能通讯芯片,它支持PROFIBUS-DP协议。SPC3内部集成了1.5 kB的双口RAM,其地址空间为00H~5FFH。以功能区分,可分为3个区域。
    内部锁存器/寄存器位于前21个地址。主要包括:方式寄存器1和寄存器O,中断控制寄存器,状态寄存器,以及输入缓冲器、输出缓冲器和诊断缓冲器各自的状态寄存器。从016H~03FH为配置参数区域,各种BUF的指针与长度(包括本站地址、地址允许改变变量、用户看门狗值和设备标识号)在此区域设置。整个缓冲器结构就是基于这些参数写的。用户缓冲器区域位于从40H开始的单元,用来接收来自IO应用和主站的数据。

上一页  [1] [2] [3]  下一页


Tag:单片机学习单片机开发,单片机原理维修教程知识 - 单片机学习

《基于C167的PROFlBUS-DP智能从站的设计》相关文章