Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

第 32 卷第 5 期 苏 州 大 学 学 报( 工 科 版) Vol.

32 No. 5
2012 年 10 月 JOURNAL OF SOOCHOW UNIVERSITY( ENGINEERING SCIENCE EDITION) Oct. 2012

文章编号: 1673 - 047X( 2012) - 05 - 0047 - 04

基于 MATLAB 的 DSP2812 RTDX 实时绘制电机转速曲线

许海丽,张茂青,严震宇,沈 芳
( 苏州大学机电工程学院,江苏 苏州 215021)

摘 要: 设计了一个基于 MATLAB( 2010b) 的 DSP2812 电机转速曲线实时绘制方案。 该设计使用


MATLAB Embedded IDE Link 中提供的函数与 DSP 开发板实现实时数据交换,并用 MATLAB GUI 设
计了一个软件实现连接开发板、工程文件编译下载和转速波形绘制等功能。 本设计方案在合众达
SEED - DEC2812 实验板上已经顺利运行,并实时在 MATLAB( 2010b) 中显示电机转速曲线。
关键词: DSP2812; MATLAB; RTDX; GUI
中图分类号: TP273 + . 5 文献标识码: A

0 引 言

DSP2812 是 TI 公司推出的 32 位定点数字信号处理器,该处理器不但具有强大的数字信号处理能力 ,而


且还具有较为完善的事件管理能力和嵌入式控制功能 ,因此被广泛应用于工业控制领域 。DSP 的开发主要是
在 Code Composer Studio 环境中,但随着其他第三方软件工具的发展 ,又出现了许多新的开发途径,其中 Math-
Work 公司与 TI 公司联合开发的 Embedded IDE Link For Use with Texas Instruments Code Composer Studio 使得
MATLAB 能与 DSP 无缝对接,迅速有效地生成、构建、测试 DSP 算法和程序,将 MATLAB 强大的数据处理能力
与 DSP 平台完美的结合起来,成为 DSP 开发的一大趋势。

1 MATLAB 与 DSP 实时数据交换原理

实时数据交换 ( RTDX) 是 TI 公司开发的实现 DSP 与主机实时数据通信的技术。 通过此技术,不需使用


昂贵、高级的仿真器便可进行高速的数据传输,为开发者对 DSP 算法和程序调试提供了极大便利,其逻辑原
理如图 1 所示。
由图 1 可见,DSP 通过调用 RTDX 目标库的函数发送数据至主机,主机则可以调用 RTDX 主机库发送或
接收数据,在这些过程中都不会干扰 DSP 程序的运行。 在主机中可以将数据存入内存缓冲区或一个 RTDX
记录文件中,并被 RTDX 主机接口的客户端应用程序检索使用 。

收稿日期: 2012 - 07 - 06
作者简介: 许海丽( 1989 - ) ,女,硕士研究生,主要研究方向为智能控制理论与应用。
48 苏州大学学报( 工科版) 第 32 卷

图1 RTDX 的逻辑结构
MATLAB( 2010b) 在 Embedded IDE Link 中集成了 RTDX 组件,利用 Embedded IDE Link 中提供的各种函
数 如图 2 所示) 结合 MATLAB GUI 工具可以方便地编写客户端程序操作 DSP,实现 DSP 与 MATLAB 的实时

数据交换,并利用 MATLAB 快速分析处理数据。

图2 Embedded IDE Link 中提供的各种函数

2 基于 RTDX 的电机转速曲线实时绘制实现

本文介绍一种基于 MATLAB Embedded IDE Link 的电机转速曲线实时绘制方案。该方案主要是利用 RT-


DX 技术,在 DSP 程序中读取电机编码器反馈的电机转速值 ,然后实时将其传输到主机中,并由 MATLAB 绘制
出电机转速曲线图。与一般的测速方案相比,该方案仅需 DSP 仿真器而无需 SCI、eCAN 等通信外设,并且速
度快、实时性好,是解决反馈电机转速问题的较好选择 。该方案具体实施步骤如下:
( 1) 配置 DSP 命令链接文件( 简称 CMD 文件) 。
在 CMD 文件中需设置添加 RTDX 目标中断屏蔽,其命令为: “_RTDX_interrupt_mask = ~ 0x4000”,此外还
要添加 RTDX 运行支持库“_lrtdxx. lib”,最后在 RAM 空间的段定义中分配好 RTDX 的代码段“. rtdx_text”和
第5 期 许海丽,张茂青,严震宇,等: 基于 MATLAB 的 DSP2812 RTDX 实时绘制电机转速曲线 49

[1 - 2]
数据段“. rtdx_data” 。要注意段分配的位置大小,不要产生分配空间溢出。
( 2) 配置 DSP 源程序。
DSP 源程序中首先要添加 RTDX 头文件“rtdx. h”,然后按要求分别添加如下函数[2]:
RTDX_CreateOutputChannel( ochan) ; / / 在主程序前声明 RTDX 输出通道函数
RTDX_enableOutput( &ochan) ; / / 在主程序中写入 RTDX 通道使能函数
RTDX_write( ) ; / / 在需要数据输出的地方写入 RTDX 通道写入函数
RTDX_Poll( ) ; / / 在 RTDX 通道写入函数之后写入 RTDX 传输函数,通道中的数据输出到主机上
以上设置完毕,则 DSP 下位机的配置工作完成。
( 3) 编写主机客户端程序。
[3]
在上位机方面,使用 MATLAB GUI 编写了一个应用程序,其界面如图 3 所示。

图3 上位机应用程序界面
该程序使用 Embedded IDE Link 提供的函数实现各种功能,包括实现与 DSP 开发板建立连接、打开 DSP
工程文件、编译 DSP 工程文件、下载可执行文件、运行 DSP 程序、后期对转速波形进行滤波处理、清除通道数
据和先前波形、关闭工程退出。
使用前需设定 DSP 运行的时间,即实际电机运行时间,在下载完可执行文件后程序自动打开并设置 RT-
DX 通道,在点击“运行”后会实时显示出电机转速波形。
转速编码器会因各种干扰原因反馈数值不正确 ,故原始得到的转速波形须经后期的平滑滤波处理才能得
到近似正确的转速波形,这由 MATLAB 内部 smooth 函数实现,点击“波形处理 ”后就能看到处理后的转速波
形,这样即充分利用 MATLAB 强大的数据处理功能完成了正确的电机转速波形绘制 。

3 实验验证

本文以一台额定电压 24V、额定转速 3 000r / min 带编码器的直流无刷电机的转速测试为例,使用合众达


SEED-DEC2812 作为电机控制器,在事件管理器定时器 2 的周期中断中读取编码器反馈的电机转速并实时传
输给主机,程序运行时间定为 30s,程序中设定电机转速为 2 100r / min,实际测得的电机转速曲线如图 4 所示。
50 苏州大学学报( 工科版) 第 32 卷

图4 实测的原始波形与滤波处理后的波形
如图 4 所示,由将原始转速波形进行滤波处理后得到的波形可见 ,电机在经过一段时间的电流上升过程
后,有一个短时间的启动,而随着电流环的约束转速又下降至零 ,接着电机正式启动,转速迅速上升,在 PID 控
制下转速基本维持在 2 000 ~ 2 100r / min,符合电机实际运行情况,因此该实例验证了该设计方案的可行性 、可
靠性。

4 总 结

本文论述了如何利用 MATLAB 与 DSP 的实时数据交换功能完成电机转速波形实时绘制和后期处理,并


用实验验证了该设计方案。该设计利用 MATLAB 强大的数据处理能力和嵌入式支持,实现了与 DSP 平台联
合开发测试,大大提高了工作效率,拓展了 DSP 开发测试的途径,对 DSP 产品的研发有着重要的实用价值 。

参 考 文 献
[1 ] 尹 勇,欧光军,关荣锋. DSP 集成开发环境 CCS 使用指南[M]. 北京: 北京航天航空大学出版社,
2003: 148 - 156.
[2 ] 李真芳,苏 涛,黄小宇. DSP 程序开发[M]. 西安: 西安电子科技大学出版社,
2003: 200 - 210.
[3 ] 罗华飞. MATLAB GUI 设计学习手记[M]. 北京: 航天航空大学出版社,
2009: 345 - 402.

A Real-Time Rendering of Motor Speed Curve by DSP2812 RTDX Based on MATLAB

Xu Haili,Zhang Maoqing,Yan Zhengyu,Shen Fang


( School of Mechanical and Electrical Engineering,Soochow University,Suzhou 215021,China)

Abstract: A DSP2812 real-time rendering of motor speed curve program based on MATLAB ( 2010b) is introduced
in this paper. This design exchanges real-time data between a host computer and a DSP target device by calling the
functions that MATLAB Embedded IDE Link provide,and it uses MATLAB GUI to develop a software to perform
some functions including connecting with the DSP target device,building the project file,loading the program file,
drawing the speed waveform and so on. The design has worked well on the SEED-DEC2812,as the same time,the
curve of motor speed has been shown in MATLAB( 2010b) .
Key Words: DSP2812; MATLAB; RTDX; GUI

You might also like