新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Matlab与DSP混合实现无传感器矢量控制

Matlab与DSP混合实现无传感器矢量控制

作者:时间:2010-04-14来源:网络收藏

  3. 混合编程的调试方法

  在传统的开发过程中,总是先用 MATLAB进行仿真。当仿真结果满意时再把算法修改成 C/C++语言,再在硬件的 目标板上实现。发现偏差,需要再用 对算法进行修正,再在 上编写修正的算法程序。如此过程反复进行,在 DSP的开发工具、 工作空间之间来回多次切换,非常不便,当系统比较复杂时,还需要分步验证各个中间结果和最终结果。如果能够把 Matlab和 DSP集成开发环境 CCS及目标 DSP连接起来,利用 Matlab的分析能力来调试 DSP代码,那么操作 TI DSP的存储器或者寄存器就可以像操作 Matlab变量一样简单。工具包 Matlab Link for CCS Development Tools的使用,可以使上述问题迎刃而解,利用此工具箱,在 Matlab环境下,就可以完成对 CCS的操作,即整个目标 DSP对于 Matlab像透明的一样,所有操作只利用 Matlab命令和对象来实现,简单、方便、快捷。以下用调试上述无速度系统的例子来说明 Matlab-DSP集成开发环境在控制系统中的应用。在 Matlab命令窗口中输入 Simulink,打开 Simulink模块窗,建立异步电动机变频调速系统的模型,如图 2所示,结构简单明了,全部实现模块化,容易扩展,可以根据实际需要,改变每一模块的参数。

  接下来设置仿真参数和 Real-Time Workshop选项,编译仿真模型。并利用 MATLABLink for CCS Development Tools建立与目标 DSP的连接。利用 CCSLink工具,可以把数据从 CCS中传送到 Matlab工作空间中,也可以把 Matlab中的数据传送到 CCS中,而且通过 RTDX(实时数据交换技术),可以在 Matlab和实时运行的 DSP硬件之间建立连接,在它们之间实时传送数据而不使正在 DSP上运行的程序停止,这项功能可以在程序运行期间为我们提供一个观察 DSP实时运行状态的窗口,大大简化了调试工作。Matlab、CCSlink、CCS和硬件目标 DSP的关系如图 3所示。

  我们可以在 Matlab中修改一个参数或变量,并把修改值传递给正在运行的 DSP,从而可以实时地调整或改变处理算法,并通过观察探针点数据来调试程序。最后把 CCSlink和 Embedded Target for C2000 DSP Platform. 相结合,可以直接由调试好的 Simulink模型生成 DSP2812 的可执行代码,并加载到 DSP目标板中,这样我们就可以在同一的 Matlab环境中完成系统算法的设计、仿真、调试、测试,并最终在 DSP2812目标板上运行。



评论


相关推荐

技术专区

关闭