单片机与单片机与DSP中的一种基于中的一种基于Matlab的的DSP调试及直接代码生成调试及直接代码生成
方法方法
Matlab作为一种有效的信号处理工具,已经渗透到DSP的设计当中。开发者在将一个新的数字信号处理算法应
用于实际前,一般是先用Matlab进行模拟验证,当模拟结果满意时再把算法修改成C或DSP汇编语言通过CCS在
目标DSP上实现,并比较实际应用与模拟的结果以发现误差,如此反复进行。在较新版本的Matlab(6.0以上)中
提供了Matlab与DSP的统一集成环境后,众多学者对Matlab环境下的DSP调试进行了研究。文献[2-4]从
CCSLink的角度出发,对Matlab环境下的DSP调试进行了原理及思路上的阐述,但均未涉及到直接代码生成。
本文在介绍CCSLink的连接对象、嵌入式对象和RTDX
Matlab作为一种有效的信号处理工具,已经渗透到DSP的设计当中。开发者在将一个新的数字信号处理算法应用于实际
前,一般是先用Matlab进行模拟验证,当模拟结果满意时再把算法修改成C或DSP汇编语言通过CCS在目标DSP上实现,并比
较实际应用与模拟的结果以发现误差,如此反复进行。在较新版本的Matlab(6.0以上)中提供了Matlab与DSP的统一集成环境
后,众多学者对Matlab环境下的DSP调试进行了研究。文献[2-4]从CCSLink的角度出发,对Matlab环境下的DSP调试进行了
原理及思路上的阐述,但均未涉及到直接代码生成。本文在介绍CCSLink的连接对象、嵌入式对象和RTDX对象的基础上,详
细阐述Simulink环境下的直接代码生成。
1 CCSLink及ETTIC2000概述
Matlab具有强大的分析、计算和可视化功能,但处理速度慢;DSP具有快速的信号处理能力,但是其CCS的编译环境中
数据可编辑和分析能力不如Matlab;而MathWorks公司和TI公司联合开发的Matlab Linkfor CCS Development
Tools(CCSLink)和EmbeddedTarget for the TI TMS320C2000 DSP Platform(ETTIC2000),CCSLink提供了Matlab和CCS的
接口,能把Matlab和TI CCS及目标DSP连接起来。利用此工具可以像操作Matlab变量一样来操作TI DSP的存储器或寄存器。
CCSLink支持CCS能够识别的任何目标板(C200,C5000,C600),此工具用于DSP程序的调试过程。而CCSLink与
ETTIC2000的配合使用,可直接由Matlab的Simulink模型生成TIC2000DSP的可执行代码,能在集成、统一的Matlab环境下完
成DSP的整个开发过程。
2 CCSLink环境下的DSP调试
CCSLink向用户提供了3个组件内容,如图1所示。
2.1 CCSLink的接口对象
2.1.1 CCS IDE的连接对象
该对象支持TI的C2000/5000/6000系列DSP,利用此对象可创建CCS IDE和Matlab的连接。用户可以编写用于DSP程
序的Matlab语言批处理脚本,从Matlab的命令窗中直接运行CCS IDE中的应用程序,向硬件DSP的存储器或寄存器发送或取
出数据,检查DSP的状态,停止或启动程序在DSP中的运行。
2.1.2 与RTDX的连接对象
该对象提供Matlab和硬件DSP之间的实时通信通道。它允许用户在主机和目标板之间进行实时的数据交换而不用考虑目
标程序的运行。RTDX连接对象实际上是CCS连接对象的一个子类,在创建CCS连接对象的同时创建RTDX连接对象,它们不
能分别创建。
2.1.3 嵌入式对象
在Matlab环境中创建一个可以代表嵌入在目标C程序中的变量的对象。利用嵌入式对象可直接访问嵌入在目标DSP的存储
器和寄存器中的变量,即把目标C程序中的变量作为Matlab的一个变量来对待,并把编辑后的信息反返回到DSP程序中。所有
这些操作均在Matlab环境下完成。