新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于16位DSP的PROFIBUS-DP从站系统设计

基于16位DSP的PROFIBUS-DP从站系统设计

作者:时间:2012-08-02来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/257312.htm

SPC3通信软件的设计

设计中将电能参数看作是从站的输入数据,主站对从站的赋值看作是输出数据,而把故障信息当作外部诊断处理。对于主站赋值的处理采用SPC3中断的方式,以便能达到实时性。除此之外,参数化报文、配置报文的处理也在SPC3中断程序中完成。SPC3中断程序流程图如图3。


3 SPC3中断程序流程图

由于SPC3集成了完整的DP协议,标准的诊断信息由SPC3自动形成并传输,因此用户将与DP主站通信的信息存放到指定的缓冲器中即可;当用户需接收主站传来的信息时,也只需访问指定的缓冲区。

的智能软件的设计

数据采集、数据处理、故障判断、以及必要信息的记录在程序中完成。为了连续的对系统监测,数据采集采用中断的方法,不间断的采集数据。对于故障信息则采用软中断的方法,将故障报警信息尽快的送到SPC3的诊断缓冲区,以便能及时的等待主站的轮询。图4给出了系统的主程序流程图。


图4 主程序流程图

SPC3的软件操作

由于的速度快,在与SPC3进行数据交换时需速度一致。我们通过软件设置F206的等待时间使两者的速度相匹配。设计中对SPC3采用结构体类型的寄存器的方法,对其进行操作。首先定义一个与1. 5KB的双口RAM相对应的结构体类型数据“SPC3”,然后F206寄存器的头文件中定义一个“SPC3 ”类型的寄存器“spc3”,这样就可方便灵活地对其进行操作了。软件使用C语言编写, SPC3的初始化部分程序如下:

头文件中定义“spc3”寄存器
.
#define spc3 ( * ( ( volatile SPC3) 0xE800) )
      /*SPC3影射到全局数据空间的0xE800* /
.
初始化操作:

GREG = GLOBAL 16K;      / *映射到16KB全局数据空间* / .
spc3. mode_ reg0_ L = 0x00d3;
spc3. mode _reg0 _H = 0x0003; /*设置SPC3的工作方式* /
spc3. is reg. mask[ 0 ] = 0x001e;
spc3. is reg. mask[ 1 ] = 0x002d;  / *设置SPC3的中断源,设置输出数据处理为SPC3硬件中 断* /
spc3. r len diag buf[ 0 ] = 16;
spc3. r len diag buf[ 1 ] = 16;
spc3. r len p rm buf = 10;
spc3. r len cfg buf = 2;
spc3. r len read cfg buf = 2;
spc3. r len din buf = 244;
spc3. r len dout buf = 244; /*初始化各缓冲器的长度/*
UserInputBufferPtr =DPS2 GET D IN BUF PTR ( ) ; / *获取第一个输入缓冲器的地址* /
UserDiagBufferPtr =DPS2 GET D IAG BUF PTR ( ) ; /* 获取第一个诊断缓冲器的地址*/
UserDiagFlag = TRUE;
......

本文采用运算速度快的16 位设计了一个PROF IBUS2DP智能从站,这使得现场总线的应用更加广泛。


上一页 1 2 下一页

关键词: PROFIBUS-DP DSP TMS320F206

评论


相关推荐

技术专区

关闭