实验一 DSP集成开发环境CCS

更新时间:2023-10-22 07:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

DSP原理与应用实验

实验一 DSP集成开发环境CCS

一、实验目的

1.熟悉CCS软件运行环境设置及基本操作。 2.掌握CCS工程项目的创建、调试和分析。

3.通过实例初步掌握在CCS环境下设计DSP程序。 二、实验环境 1.奔腾IV计算机

2.Code Composer Studio (CCS)软件 三、实验内容 1.乘法累加运算

设计DSP汇编语言程序,实现:y=

?ax,其中:[a1 a2 a3 a4]=[1,2,3,4];

iii?14[x1 x2 x3 x4]=[8 6 4 2]; (1)程序:

1)dp1.asm (源程序) .mmregs ; 将TMS320C54x各寄存器名定义为全局符号,这样就可直接引用寄存器符号

STACK .usect \ ; 在数据存储器中留出16个单元作为堆栈区,名为“STACK”

.bss a,4 ; 为a分配4个存储单元 .bss x,4 ; 为b分配4个存储单元 .bss y,1 ; 为y分配1个存储单元 .def aa ; 在模块”aa”中定义

.data ; data是数据段,在”data”之后是已初始化的数据 table: .word 1,2,3,4 ; 在程序存储器标号为”table”开始的8个单元中,存放初始化数据

.word 8,6,4,2 ; 在程序存储器标号为”table”开始的8个单元中,存放初始化数据

.text ; text是文本段,.text之后是汇编语言的正文 aa: STM #STACK+10h,SP ; 以SP=#STACK+10h作为栈底,以便在调用子程序时,将程序寄存器PC的值以及一些重要的寄存器值进行压栈保护,从而程序返回时能从间断处继续运行

STM #a,AR1 ; (AR1)=a

RPT #7 ; 将下一条指令重复7次

MVPD table,*AR1+ ; 将程序存储空间中标号为”table”的地址里的数据存入AR1所指向的数据存储空间, 且地址AR1加1--------属于绝对寻址 CALL SUM ; 调用子程序SUM end: B end

SUM: STM #a,AR3 ; (AR3)=a-----属于立即寻址 STM #x,AR4 ; (AR4)=x RPTZ A,#3 ; 将下一条指令重复执行3次,并对ACC清0 MAC *AR3+,*AR4+,A ; 乘法累加:将AR3和AR4指向的单元中的数据相乘,再与A中的数据相加,且地址AR3和AR4加1----属于间接寻址

1

DSP原理与应用实验

STL A,@y ; 将A的低16位存入某页的y存储单元中 RET ; 返回主程序 .end ; 结束汇编命令 2)dp1.cmd (链接命令文件) /* dp1.cmd*/ -e aa

-m map.map MEMORY {

PAGE 0:

EPROM :org=04000H len=0100H VECS: org=05000H len=0004H PAGE 1:

SPRAM :org=0060H len=0020H DARAM :org=0080H len=0100H }

SECTIONS {

.data :>EPROM PAGE 0 .bss :>SPRAM PAGE 1 STACK :>DARAM PAGE 1 .vectors:>VECS PAGE 0 }

(2)设置CCS环境

1)双击” Setup CCS 2 ('C5000)”图标,打开CCS环境设置界面,在Import Configuration对话框中选择C5402 Device Simulator,然后单击”Import”按钮,再单击”Save and Quit” 按钮后退出。

图1

2)单击“Install a Device Driver”,选择驱动程序:”tisim54x.dvr”, 单击”打开”按钮,随后再单

2

DSP原理与应用实验

击”OK”。

图2

3)在”File”菜单里选择”Start Code Composer Studio”,启动CCS。

图3

(3)工程项目的创建和调试

1)新建一个工程:dp1.pjt。在CCS主界面“project”菜单中选”New…”,在出现的对话框中的“ project” 项中填入 “dp1”,再按”完成”。

图4

2)编写源程序和链接命令文件,并添加到工程中。

[1] 按File---New---Source File,将源程序dp1.asm写入并保存为“dp1.asm”,文件的路径为: D:\\dp1\\。

重复上述操作,将链接命令文件dp1.cmd写入并保存为”dp1.cmd”。

[2]按Project---Add Files to Project,分别找到上述两个文件,添加到工程中。 (3) 运行程序并观察结果。

1)按Project—Rebuild all,编译和链接程序,若无错误,则按File—Load Program,载入可执行文件:dp1.out。

2)按debug—Run,运行程序。

3

DSP原理与应用实验

3)按View—Memory…,观察数据存储单元中的结果数据。

图5

4)观察运行结果,回答以下问题:

[1]a= 1 2 3 4 ,其初始存储单元地址为: 0060 ; x= 8 6 4 2 ,y= 40 。

[2] 将”Memory Window Options”中的Format改为”Hex-C Style”,则:y= 0x0028 。 [3]在横线中填入各条程序语句的注释。 2.正弦信号的产生及反相 按照书p378~382)运行C:\\ti\\tutorial\\sim54xx\\volume1\\中的volume1.out,观察并绘出结果图形。 (应与P378 图9.6.8 一致) 3.IIR滤波 程序功能:产生100Hz+300Hz的合成正弦信号,设计采样频率为1200Hz,截止频率为200Hz的IIR高通滤波器对该信号进行滤波,滤除100Hz低频成分。

1)程序文件在: “iir程序文件”目录中,iir.txt另存为”iir.asm”;iircmd.txt另存为”iir.cmd”。 2)在创建工程”IIR.pjt”时,会出现找不到”rts.lib”的情况,该文件在:“C:\\ti\\c5400\\cgtools\\lib\\”目录中,通过”project---Add Files to Project”加入该工程。 3)运行程序并观察结果波形。

运行该程序后,按View—Graph—Time/Frequecy,根据以下参数设置:

4

DSP原理与应用实验

图6

[1]画出显示波形(滤波前的信号)。

[2]在图6所示对话框中,将Display Type改为”FFT Magnitude”,画出信号滤波前的频谱。

[3]在图6所示对话框中,将Start Address改为”filterdata”, Display Type改回“Single Time”,画出信号滤波后的波形。

5

本文来源:https://www.bwwdw.com/article/ob7f.html

Top