关于CCS3.3图形显示的理解

来源:互联网 发布:ide java vim 编辑:程序博客网 时间:2024/04/30 11:00
 首先声明,觉得ccs3.3中Graph并不是什么量都可以观察的,原因是跟断点有关,反正对于我的仿真器XDS510的是如此。即程序运行到断点处会有延时,对于普通信号可能没什么影响,但对于高频信号来说,这种延时往往是致命的,整个程序运行就明显不是想要的效果了。
此上为题外话,现说一下自己对Graph的理解。
我们在做一个比较大的项目时,往往习惯于把程序按不同的功能分成不同的功能模块,在调试的时候,可以单个模块的测试。但单个模块往往只是算法层次的运算,我们想看看某个模块运行后的结果是否符合自己的要求,这时候示波器就显得无用武之地了,这个时候Graph的作用就显得尤为重要,相比较which window查看变量来说,它会给你做出最直观的显示。
(当然这两者结合看会更好)。
此处只介绍Time/Frequncy 的使用。
我们通常需要监控的有两类,分别为数组和变量,现分别说明之。(忘了一点,在设置Time/Frequncy之前程序应该已经下载到目标板,RESET CPU  ,RESTART,GO TO  MAIN)
第一步,设置断点
在说到Time/Frequncy得设置之前,首先说下程序中需要做的事情,那就是添加断点。
本人喜欢在中断程序中添加断点(软中断,双击语句左侧可出现红色点),这样的好处是既可以观察到程序是否进入了中断,而且可以实现在断点处数据的更新。(如果不设置断点Time/Frequncy是不可用的,这是尤其需要注意的!!!)
第二步,设置Time/Frequncy菜单(以常用的几个选项为例
1.Display  Type  显示类型,常用的两个选项分别为single time (单通道),Dual Time (双通道)。选择单通道模式,则画面只显示一个图形,选择双通道模式,画面显示两个通道的图形,也即分别可用来监控一个或两个变量(数组)。
注:上面所说的是一个弹出画面,当然你可以实现多个弹出画面监控更多的变量了!双通道的实现,能够为图形的对比提供很直观的现实,如在生成Ualpha和Ubata时,可以很方便观察到两个图形相差Pi/2。
2.Graph  Title   此处定义图形框的标题栏,比如,当你监控旋转矢量的时候,标题定义为Vout&Angle
3.Start  Address  变量的地址,这是非常关键的一步!
分监控变量和数组来说明
A:当监控的为数组时,一般我们用数组来存变量的值,也就是自己做了个变量的缓冲区,缓冲区的长度即为数组的长度,变量的值先存到数组形式的缓冲区中。
这个时候Address 处写数组名就可以,学过C语言的大家都清楚,数组名即为首地址是个地址常量,不同于指针。
B:当监控的为变量时,变量的地址如何获得呢?大家当然想到了取地址符&,对就用它就可以了,&变量名,如我要监控的变量为out,那么此处为什么呢?当然是&out了。
4.  Page   此处基本都是Data(跟地址的分区有关,由于DSP采用哈佛结构,地址映射为data , program和IO,与CMD文件对照理解可以了解深入些)
5.  下面到了另一个比较重要的地方了,那就是Acquisition  Buffer Size
    这个要与第3点结合才能理解清楚,
A:当是数组时(数组存的是一个变量的不同时刻的值),设置为数组的大小n,当然你也可以设置为1-数组大小n之间的数值,但很显然你会丢失一部分数据了,我们不会这么做吧我觉得,呵呵。
B:当是变量时,那就是1了,而且我觉得只能是1(也就是当前的意思)
   6.  Display Data size  
    它的意思就是我们在画面上要显示的数据的个数,与横坐标的长短有关了,你设
置的这个量越大则显示的数据越多,我一般设置为1000,即显示1000个点
7.DSP  Data  Type
    这个也是很重要的选项啊!你要是类型没选对,那显示的数就肯定不对了(我习惯与whatch  window中变量一块看,这样能看出是否自己设置的对否)
8.未说到得就默认吧,呵呵!点击ok,然后Animate,就可以了,图形上应该就有你要监控的变量了吧
原创粉丝点击