由于正弦波是单一频率信号。可以采取下述措施: 1、可以在AD输入根据信号频率加一个带通滤波器和一个抗混叠的低通滤波器,或者共用一个低通滤波器。 2、如果滤波器对有用信息造成了不可忽视的衰减,可以根据滤波器的幅频响应特性及信号频率在dsp中做补偿。 3、输出加一个低通滤波器或积分器,消除DA量化时造成的“小台阶”,低通滤波器的截止频率应该高于信号频率,远远低于DA的转换频率。
首先,仿真是仿真,程序烧写是程序烧写,这是两码事。
仿真时你用load program把编译好的程序下载到了片上RAM中,一点RUN,程序就开始跑了,但是当你重新上电,或者你按一下复位,程序就不再从RAM中运行了,而是从Flash上开始运行。(这些都是在CMD文件中配置的)。所以仿真的程序不可能永远存在,是下电就丢失的。
如果想把程序烧写进Flash,要用Flash烧写插件,可以去网上搜,然后安装插件(好像CCS33已经自带烧写功能了,不过我用的是22)。
CMD文件没办法,如果你想彻底搞懂,只能去看英文文档,TI的网站上很全,但没有专门讲cmd的文档。
<Boot Rom Reference Guide>,<Header Files Getting Started>,<Running an Application from Internal Flash Memory on the TMS320F28xx DSP>,等等,这些都必须看懂。
我的百度空间和搜藏里也有些关于cmd的帖子,你可以看看,但代替不了文档。
其实大部分用2812的人都不懂cmd的配置,他们只是把dsp当单片机来用。这对于要求不高的场合,也够用了。
至于画板子,你可以直接画,不用懂得这些也行。
将FLASH中的程序COPY到RAM中运行,通常的目的是加快程序的运行速度,通常有两种情况需要这样去 *** 作:
1、程序中对基要求比较高的函数,如中断;
2、程序需要对FLASH进行 *** 作,这时就要把程序先复制到RAM中运行然后才能对FLASH *** 作。
RamfuncsLoadStart、RamfuncsLoadEnd、RamfuncsRunStart这三个变量是在CMD文件中创建的,创建方式如下:
LOAD_START(RamfuncsLoadStart),
LOAD_END(RamfuncsLoadEnd),
RUN_START(RamfuncsRunStart),
分别表示了装载函数的首地址,装载函数的结束地址和装载函数的运行地址;
执行完MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);后,便将FLASH中相关的程序COPY到了RAM中,之后的程序运行时,只要调用FLASH中RamfuncsLoadStart地址开始的相关函数,系统都会自动地指向RAM中相应的函数入口地址运行。
以上就是关于如何编写一个输出方波的dsp程序全部的内容,包括:如何编写一个输出方波的dsp程序、dsp的仿真时程序写入、启动是个怎么一个过程呢、dsp 如何使用自己写的.h文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)