打印

CCS中Graph不得不知道的8点(个人理解,欢迎交流)

[复制链接]
18805|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 大地知心 于 2013-8-9 23:01 编辑

CCS中Graph→Time/Frequency→Single Time不得不知道的8点~(个人理解,欢迎交流)


1 多久刷新一次图形,当连接实际目标板(非软仿情况)下具体是怎样的过程?
实际连接目标板时,多久显示一个点是由Sampling Rate决定的,它的倒数便是两点之间的显示间隔。有些参考资料上说每次刷新时显示图形的时间长度为
Display Data Size*(1/Sampling Rate),个人认为这样去理解增加了理解的难度,还不如理解为一个一个点的从Display Data抽出来,然后按Sampling Rate确定的时间间隔显示出来(注意,这不是示波器,是软件的图形窗口界面,显示出来便不会消失的,不要考虑CRT或示波器必须满足一定刷新率人眼才可看到完整图像的情况)。还有一点非常重要的它是以Sampling Rate所代表的个数作为一次操作单位的(如果没有这一点,Left-shifted Data Display便无法理解了,参看第2点),而不是以一点为一个操作单位的,但确实是可以理解为一点一点显示的。当然Sampling Rate也决定了Display Data从Acquisition Buffer中抽取数据的速率。
Sampling Rate表示1秒钟的时间里从Display Data Size中提多少个数据显示在图形上,当然这个Sampling Rate值是可以而且应该大于Display Data Size值的,因为就算Display Data Size的大小不够一秒内提取的数据量,它也可以不断从Acquisition Buffer去提取数据啊,由于可以不断提取数据量,所以能满足1S需要显示的数据量。
具体过程是这样的:当Display Data 里的数据被显示一个,它便从Acquisition Buffer中抽一个数据补足,补足在Display Data的哪个位置上,由Left-shifted Data Display确定(参看第2点)。而至于Acquisition Buffer,实际上就是内存中的一块区域,其起始地址由Start Address决定。

2 Left-shifted Data Display开不开关有何区别?
要了解这个,必须知道显示的过程(上面已叙述),这里举例来说:
①假如Sampling Rate是5Hz, Display Data Size是10,Acquisition Buffer Size大小也是10,Display Data Size中的数据从第1个开始编号到10,那么第一秒内便从Display Data Size中依次取1号到5号的5个数出来显示,在显示的过程中,显示的数据就要作废了,所以一边显示一边就依次就要从Acquisition Buffer中提数据来补充。此时如果Left-shifted Data Display没有开启,那么从Acquisition Buffer调取来的新的数据便会直接去填补作废的空位,即1号到5号位,下一秒内显示的数据则是这新来的5个数据,于是最初的6号到10号的数据便一直得不到显示。而如果开启Left-shifted Data Display功能,那么Display Data会把原来6号到10号的数据移到1号到5号的位置,而新进的数据填在原来6号到10号的位置,下一次显示时就显示现在1到5号位置上的数据,即原来6号到10号位置上的数据。
②假如Sampling Rate是10Hz, Display Data Size是10,那么显然Left-shifted Data Display开与不开效果都是一样的。
③Sampling Rate如果大于Display Data Size,那么显然Left-shifted Data Display开与不开效果也是一样的。
④……明白了上面的原理,其它情部下自己都可以推导出来了

3 软仿模式和真实情况下的工作情况是完全不一样的。事实上,软仿模式中的Sampling Rate和Display Data Size根本就不用设定,只需要把Acquisition Buffer,Start Address,Left-shifted Data Display和DSP Data Type设置好就OK了!为什么我这样说呢?且看以下的程序,Graph设置和具体的图形。

void main(void)
{
for(j=0;j<5;j++)
i++;
}
按上面的设置,1秒中只能显示两个点,但是程序是跑得很快的,怎么可能在5秒内才跑完嘛。所以是不可能搜集到程序中描述的5个变化点的。所以我大胆推测在软仿时它是程序跑完之后根据软件记录下的要观察的变量在整个程度运行中的变化,再绘出的Graph图,或者根据程序直接画出图的。事实上这个图与你的Sampling Rate与Display Data Size根本无关。只有实际连接硬件时,Sampling Rate与Display Data Size的设置才有用。另外,从图中我们可以看出其实一共有5个点的,而Sampling Rate是2Hz,所以5*(1/2)=0.25秒就应该显示完的,但是它这里却用了0.5S,同样可以证明Sampling Rat是形同虚设的。

4 如果Display Data Size大于Sampling Rate,并且Left-shifted Data Display在开启的情况下,图形上会出现一段无用空值。实际连接硬件目标板时,一般Sampling Rate都是很高的,因为数据变化率是很化的嘛,而Display Data Size又比较小,所以实际连接硬件目标板时这点不用担心,只是在软仿时要注意。第3点说过软仿的图形与Sampling Rate是无关的,所以有可能你的Sampling Rate设的很低,所以要注意下。


5 怎样显示串行数据?
这个要分两种情况:
①串行数据被按顺序存储在内存一块区中,这样的话就是通常的操作方法。
②串行数据是一个变量,而非数组,即在内存中不是一个区域,此时就要把从Acquisition Buffer的大小设为1了,因为只有一个存储地址嘛。因为Display Data Size是不允许为1的,至少为2,所以要完整显示串行数据,必须把Left-shifted Data Display开启。

6 要观察的变量最好放在全局变量中,否则老是提示找不到变量,而且也没有图形。

7 若是用C语言表示的变量,那么Start Address的规则如下:
  如果是数组,那么填上数组名即可
  如果是变量,比如要显示i变量,那么写&i

8 从Acquisition Buffer中提取数据的速率取决于Sampling Rate

作者:苏文昊-成都(频率相应)
另外我有个小小的心愿,那就是希望能在成都找一份信号处理方面的实习兼职工作(本人2012届电信科学技术研究在读研究生),希望有这方面机会的大侠给我一个机会,小弟不胜感激,本求职消息在20156月前有效,我的QQ: 2025325605
我的简历浏览及下载地址:
我的更多**,详见我的百度空间:http://hi.baidu.com/dsp_suwenhao






评分
参与人数 1威望 +2 收起 理由
zhangmangui + 2 提出问题 解决问题 必须支持

相关帖子

沙发
zhangmangui| | 2013-4-8 09:05 | 只看该作者
兄弟  你太牛了   多谢分享

使用特权

评论回复
板凳
大地知心|  楼主 | 2013-4-8 14:37 | 只看该作者
zhangmangui 发表于 2013-4-8 09:05
兄弟  你太牛了   多谢分享

只是把自己探索中所获的一点东西写出来而已,不值一提,呵呵!

使用特权

评论回复
地板
zhangmangui| | 2013-4-8 14:44 | 只看该作者
大地知心 发表于 2013-4-8 14:37
只是把自己探索中所获的一点东西写出来而已,不值一提,呵呵!

DSP技术 版块还希望你的多多光临

使用特权

评论回复
5
大地知心|  楼主 | 2013-4-8 14:53 | 只看该作者
zhangmangui 发表于 2013-4-8 14:44
DSP技术 版块还希望你的多多光临

嗯,论坛在则我在。

使用特权

评论回复
6
大地知心|  楼主 | 2013-4-8 14:56 | 只看该作者
zhangmangui 发表于 2013-4-8 14:44
DSP技术 版块还希望你的多多光临

我电脑上还有很多我学习中所记的笔记,等积累成熟了,我会一一发上来的。以后等我有经验了,我准备写一个真正的详细的教程,真正以一位新手的心态来写。

使用特权

评论回复
7
zhangmangui| | 2013-4-8 15:47 | 只看该作者
大地知心 发表于 2013-4-8 14:56
我电脑上还有很多我学习中所记的笔记,等积累成熟了,我会一一发上来的。以后等我有经验了,我准备写一个 ...

期待ing

使用特权

评论回复
8
爱落姣城| | 2013-5-19 13:02 | 只看该作者
谢了哥们

使用特权

评论回复
9
zhaxidele| | 2013-6-3 11:05 | 只看该作者
学习,谢谢大地知心

使用特权

评论回复
10
sunsundsp| | 2013-7-22 13:57 | 只看该作者
还是没看懂········留着仔细看看

使用特权

评论回复
11
kangyin4545| | 2013-8-9 17:18 | 只看该作者
支持支持啊

使用特权

评论回复
12
jasmine_liang| | 2013-8-13 20:06 | 只看该作者
谢谢~

使用特权

评论回复
13
xklzw| | 2015-8-31 10:47 | 只看该作者
普通变量用& 帮我解决了问题

使用特权

评论回复
14
追影戈多| | 2018-7-25 21:06 | 只看该作者
大地知心 发表于 2013-4-8 14:56
我电脑上还有很多我学习中所记的笔记,等积累成熟了,我会一一发上来的。以后等我有经验了,我准备写一个 ...

1.Graph中更新的数据与Watch Expression中的数据,都是实时采集,实时变化的,二者几乎是同步变化的(理论上应该是同步变化,但实际显示时,发现有微小差异),实际的采样频率是未知的,假设为F,每秒内采集到的数据个数为T。
2.Graph作为图像显示时,横轴为时间S的情况下,显示的图形其实跟真实时间是没有关系的!Sampling Rate 设置为1Hz或者2Hz,图像上新增加一个点的时间间隔都是一样的,为1/T!横轴的时间只是根据人为要求添加上的而已!
3.基于此,要想正确显示数据随时间变化的曲线,只有把Sampling Rate的Hz数设置为T,但往往T或者说实际采样频率F是未知的,知道它是关键!经我观察,这个T很小,只有2左右,也就是说,CCS的采样频率是很低的!

使用特权

评论回复
15
追影戈多| | 2018-7-25 21:06 | 只看该作者
1.Graph中更新的数据与Watch Expression中的数据,都是实时采集,实时变化的,二者几乎是同步变化的(理论上应该是同步变化,但实际显示时,发现有微小差异),实际的采样频率是未知的,假设为F,每秒内采集到的数据个数为T。
2.Graph作为图像显示时,横轴为时间S的情况下,显示的图形其实跟真实时间是没有关系的!Sampling Rate 设置为1Hz或者2Hz,图像上新增加一个点的时间间隔都是一样的,为1/T!横轴的时间只是根据人为要求添加上的而已!
3.基于此,要想正确显示数据随时间变化的曲线,只有把Sampling Rate的Hz数设置为T,但往往T或者说实际采样频率F是未知的,知道它是关键!经我观察,这个T很小,只有2左右,也就是说,CCS的采样频率是很低的!

使用特权

评论回复
16
zhhcc| | 2020-1-17 16:08 | 只看该作者
追影戈多 发表于 2018-7-25 21:06
1.Graph中更新的数据与Watch Expression中的数据,都是实时采集,实时变化的,二者几乎是同步变化的(理论 ...

您好,怎么才能知道实际的采样频率呢?

使用特权

评论回复
17
Watchme2020| | 2020-5-13 22:36 | 只看该作者
好贴,学习了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:本人2012届研究生,求成都信号处理方面实习工作, Q:2025325605,本求职消息于2015年6月前有效

59

主题

183

帖子

7

粉丝