DSP任意信号发生器的设计2012(优)(6)

2020-04-14 06:54

DSP综合性实验——任意信号发生器实验

menuitem \

slider fre(300,4000,1,1,freparameter) //频率范围从300-4000 { Fre=freparameter; }

五、CCS3.3程序调试:

1、编译过程

按照上面第四点编写好程序后,进行编译,结果如下(图二):

图二 程序调试过程

在编译程序之前,还要做一些准备工作,即这项工程的文件添加等。如library的库文件就需要自己从TI(或CCS5000)文件夹中寻找添加:

1、 csl5502x.lib是软件仿真所用的仿真器所必需的库文件;

2、 rts55x.lib,这个库提供目标DSP运行时间支持(runtime-support)。 在编译之前,还应设置一下编译环境,虽然本程序没有对其修改。

在Project菜单中选择Build Options选项有如图三所示的对话框:

图三 编译环境设置

2、.cmd程序(5502.cmd)全文及其解释:

2.1 .cmd文件类型及作用:

.cmd是链接器命令文件,用于存储器配置。

第 21 页 共 42 页

DSP综合性实验——任意信号发生器实验

2.2 .cmd文件结构:

.cmd由两条链接伪指令来描述:MEMORY 和SECTIONS,其中: MEMORY定义用户目标系统存储器的配置; SECTIONS控制段的构建和存储器的分配。

首先存储器空间是需要配置的,因为DSP不同的空间占用相同的地址,因此需要人工分配。

2.3 5502.cmd全文及其解释如下:

MEMORY {

MMR : origin = 0000000h, length = 00000c0h SPRAM : origin = 00000c0h, length = 0000040 VECS : origin = 0000100h, length = 0000100h DARAM0 : origin = 0000200h, length = 0007E00h DARAM1 : origin = 0008000h, length = 0008000h

CE0 : origin = 0010000h, length = 03f0000h /* 对应ZBTRAM空间 */ FLASH : origin = 0400000h, length = 0100000h /* Flash 空间 */ /* FLASH : origin = 0410000h, length = 00f0000h*/

EXTEND : origin = 0500000h, length = 0300000h /* 状态/控制寄存器、UARTA、UARTB、USB、和扩展总线所对应的空间 */

SDRAM : origin = 0800000h, length = 03FFFFCh /* SDRAM 空间*/ CE3 : origin = 0c00000h, length = 03f8000h /* SDRAM 空间*/

PDROM : origin = 0ff8000h, length = 07f00h

RESET_VECS : origin = 0ffff00h, length = 000ffh /* reset vector */ }

SECTIONS {

.vectors : {} > VECS /* interrupt vector table */ .cinit : {} > DARAM1 /*把.cinit输出段分配到DARAM1中的*/ .text : {} > DARAM1

.Audio_in_data1: {} > SDRAM .Audio_in_data2: {} > SDRAM .Audio_in_data3: {} > SDRAM .Audio_out_data1: {} > SDRAM

第 22 页 共 42 页

DSP综合性实验——任意信号发生器实验

.Audio_out_data2: {} > SDRAM .Audio_out_data3: {} > SDRAM data_out : {} > SDRAM data_out1 : {} > SDRAM /*以上对应主程序部分*/ .stack : {} > DARAM0 .sysstack: {} > DARAM0 .sysmem : {} > DARAM0 .cio : {} > DARAM1 .data : {} > DARAM1 .bss : {} > DARAM1 .const : {} > DARAM1

.csldata: {} > DARAM0 dmaMem: {} > DARAM0 }

根据上面的具体文件作以下补充:

?sections是COFF文件中最重要的概念,它至少包含以下三个段: .text 段:包含可执行代码; .data 段:包含初始化数据; .bss 段: 为未初始化变量保留存储空间。其他为自定义段(或汇编器生成段),如:.usect段,.sect段,.cinit段等。

?初始化代码段:包含数据或可执行代码,C/C++ compiler 产生下面的初始化段: ?.cinit 段:包含初始化变量表和常数,C/C++ 的全局变量; ?.const 段:包含由C/C++限定的字符串常数和数据;

(假如 constant也不是定义为 volatile).

?.text 段:包含所有的可执行代码,还有字符串汇编产生的常数。

?.cmd文件的细节问题:

未初始化段:存储器中的保留空间(通常是RAM)。程序可以在运行时使用这个空间,建立和存储变量。

汇编器compiler 建立如下未初始化段: ?.bss段:为global and static variables保留空间。当使用-c 链接选项,程序启动时,C/C++ boot 程序将.cinit段的数据拷出,存到.bss段中。

?.stack 段:为C/C++系统堆栈system stack分配存储器,其存储器可以传送变量。

1、链接命令语言是ASCII码形式的文件。它支持C语言的“/* */”作为注释,但不支持“//”。

2、链接命令文件中的常数可以采用汇编语言格式,也可以采用C语言格式,或者混用。

第 23 页 共 42 页

DSP综合性实验——任意信号发生器实验

3、程序运行结果(图形和数据显示):

编译成功后,选择File菜单中的Load Program选项。 3.1 图形显示:

选择View中的Graph的第一项,得到图四,修改相关参数如图五所示:

图四、图五 图形显示参数界面及其修改

(1)、Start Address:

该选项是选择图像的输出从哪个变量的地址开始,根据程序的编写,显然为output,这是软件仿真和硬件演示的数据出口;

(2)、Acquisition Buffer Size/Display Data Size: 这两个数值用于设置输出函数画出的点数,通常是一样的。图中所选32000/1000*2是根据程序编写output时,其数组长度为Nx,即抽样点数,由公式Nx=Fs/F0得出,又因为本程序输出为左右声道叠加,故Nx为抽样点数的2倍。

(3)、DSP Data Type:

这里我们选择16-bit signed integer.

单击OK,如图九所示得到产生的正弦信号波形。

第 24 页 共 42 页

DSP综合性实验——任意信号发生器实验

图六 产生的正弦信号数据波形图

图七 产生的方波信号数据波形图

第 25 页 共 42 页


DSP任意信号发生器的设计2012(优)(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016春《学练优》人教版生物七年级下册练习 第一章 人的由来单元

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: