核心器件的选择
SPC3协议芯片
SPC3 是专用于从站开发的智能通讯芯片,它支持PROFIBUS-DP协议。图1为SPC3结构图,其主要性能如下:44脚、PQFP封装;在PROFIBUS 上自动检测波特率,自9. 6kbps至12Mbps;RS-485传输;完整的PROFIBUS-DP协议;内部集成监视定时器;5V DC电源。
图1 SPC3结构图
SPC3内部集成了1. 5KB的双口RAM,其地址空间从00H到5FFH。内部以8字节为一单元,分为192个段。根据功能可分为3个区域:
00H 到015H为方式设定和状态指示寄存器区。016H到03FH为参数配置区,各种BUF的指针与长度在此区域设置。040H到5FFH为用户区,用来接收来自IO应用和主站的数据。这些BUF的配置,包括BUF的长度和初始地址必须在SPC3的“离线”状态下完成;在操作过程中除输入输出BUF的长度可变外,其他的配置不能更改。此外,SPC3内部还集成了一个看门狗定时器,可工作于3种不同的状态:波特率监测、波特率控制和DP控制。
TMS320F206
TMS320F206是16位定点DSP,运算速率为40MIPS。它采用静态CMOS集成电路工艺制造,其结构以‘C5x为基础,采用改进的哈佛结构,有一条程序总线和3条数据总线,流水线操作,有并行32bit算术逻辑单元、16×16bit并行的硬件乘法器、片内存贮器、片内外设和高度专业化的指令集。片内资源还有:内部时钟发生器,可外接时钟源进行×1、×2、×4和/2来产生CPU时钟;片内还有RAM4.5KB, FLASH32KB,能够适合于许多工程应用, 32KB FLASH可作为程序存贮器,给系统的设计和程序的调试带来很大的方便;3个外部中断INT1、INT2、INT;1个同步串口和一个异步串口;1个软件可编程定时器;4个独立可编程的I/O引脚,1个输出引脚XF和1个输入引脚B IO;JTAG扫描仿真接口,用来实现在线仿真测试。
硬件系统构成
图2 为PROFIBUS-DP 从站的硬件框图,系统由MAX125、TMS320F206、SPC3、EPM7128SQC100、DS1286、HK1225、外部RAM以及地址拨码开关组成一个PROFIBUS-DP从站,用于铁路信号电源故障的诊断。三相交流电压和电流信号经MAX125同步采样,DSP通过一定的算法进行数据处理和数据运算,再综合相关开关量信号情况作出诊断,对电力设备进行控制。同时将根据PROFIBUS主站的要求把必要的数据与故障信息通过协议芯片 SPC3传送至主站。主站也通过SPC3对从站进行设置和电力设备的远程控制。
图2 硬件电路图
设计中8位的SPC3使用TMS320F206的低8位数据线,并将其映射到全局数据空间;同时也将DS1286、HK1225数字输入和数字输出映射到全局数据空间。这样,DSP对它们的操作,就象操作外部RAM那样简便。程序设计中16位的DSP对SPC3、DS1286、HK1225进行写操作时,先写低8位再写高8位。
系统软件实现
PROFIBUS-DP 从站(即故障诊断的终端单元) 主要完成数据采集、数据处理、故障判断以及将必要的电能参数与故障信息根据主站的要求传送到主站,同时主站能够对从站进行赋值。
SPC3通信软件的设计
设计中将电能参数看作是从站的输入数据,主站对从站的赋值看作是输出数据,而把故障信息当作外部诊断处理。对于主站赋值的处理采用SPC3中断的方式,以便能达到实时性。除此之外,参数化报文、配置报文的处理也在SPC3中断程序中完成。SPC3中断程序流程图如图3。
图3 SPC3中断程序流程图
由于SPC3集成了完整的DP协议,标准的诊断信息由SPC3自动形成并传输,因此用户将与DP主站通信的信息存放到指定的缓冲器中即可;当用户需接收主站传来的信息时,也只需访问指定的缓冲区。
TMS320F206的智能软件的设计
数据采集、数据处理、故障判断、以及必要信息的记录在TMS320F206程序中完成。为了连续的对系统监测,数据采集采用中断的方法,不间断的采集数据。对于故障信息则采用软中断的方法,将故障报警信息尽快的送到SPC3的诊断缓冲区,以便能及时的等待主站的轮询。图4给出了系统的主程序流程图。
图4 主程序流程图
SPC3的软件操作
由于TMS320F206的速度快,在与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 位DSP设计了一个PROF IBUS2DP智能从站,这使得现场总线的应用更加广泛。
上一篇:合众达发布SEED-XDS100_F28027开发套件
下一篇:跟踪雷达的高速实时信号处理系统研究与设计
推荐阅读最新更新时间:2024-05-02 20:46
- 热门资源推荐
- 热门放大器推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
- 有奖直播|TI DLP® 技术如何推动AR HUD和汽车大灯的发展
- 答题赢礼! | 如何利用PI Expert 电源设计工具快速搭建PD充电器
- 参加RT-Thread软件包赛,赢取RoboMaster等丰厚奖品!
- 【EEWORLD第四十二届】2012年09月社区明星人物揭晓!
- 参加RT-Thread软件包赛,赢取RoboMaster等丰厚奖品!
- 解锁 TE 掌上信息智库,获取一站式资源!
- 盛夏狂欢,与Microchip一起探索时钟与时序之旅 轻松答问题~赢奖品
- TI|痛点解锁机:你的电源设计痛点,我们懂!解锁、评论赢好礼!
- 有奖直播:基于DLP® Pico™技术的TI桌面级DLP 3D打印、3D扫描及工业显示应用