DSP技术与应用基础实验报告.docx
- 文档编号:3186143
- 上传时间:2022-11-19
- 格式:DOCX
- 页数:28
- 大小:1.16MB
DSP技术与应用基础实验报告.docx
《DSP技术与应用基础实验报告.docx》由会员分享,可在线阅读,更多相关《DSP技术与应用基础实验报告.docx(28页珍藏版)》请在冰豆网上搜索。
DSP技术与应用基础实验报告
福建农林大学
信息工程类
实验报告
课程名称:
DSP技术
姓名:
爱疼男
系:
信息与机电工程系
专业:
电子信息工程
年级:
2009级
学号:
092230069
指导教师:
范群贞
职称:
助教
2012年5月4日
实验项目列表
序号
实验项目名称
成绩
指导教师
1
实验一CodeComposerStudio入门
2
实验二有限冲激响应滤波器(FIR)算法实验
3
实验三无限冲激响应滤波器(IIR)算法实验
4
实验四快速傅立叶变换(FFT)算法
5
实验五卷积算法
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
福建农林大学信息工程类实验报告
系:
信息与机电工程系专业:
电子信息工程年级:
2009级
姓名:
庄建军学号:
092230069实验课程:
DSP技术
实验室号:
_____607实验设备号:
D5实验时间:
2012.04.09
指导教师签字:
成绩:
实验一CodeComposerStudio入门
1.实验目的和要求
1.掌握CodeComposerStudio2.21的安装和配置步骤过程。
2.了解DSP开发系统和计算机与目标系统的连接方法。
3.了解CodeComposerStudio2.21软件的操作环境和基本功能,了解TMS320C55xx软件开发过程。
⑴学习创建工程和管理工程的方法。
⑵了解基本的编译和调试功能。
⑶学习使用观察窗口。
⑷了解图形功能的使用。
2.实验原理
*开发TMS320C55xx应用系统一般需要以下几个调试工具来完成:
-软件集成开发环境(CodeComposerStudio2.21):
完成系统的软件开发,进行软件和硬件仿真调试。
它也是硬件调试的辅助手段。
-开发系统(ICETEK5100-USB或ICETEK5100-PP):
实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。
-评估模块(ICETEKVC5509-A或ICETEKVC5509-C等):
提供软件运行和调试的平台和用户系统开发的参照。
*CodeComposerStudio2.21主要完成系统的软件开发和调试。
它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF(公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。
*用户系统的软件部分可以由CCS建立的工程文件进行管理,工程一般包含以下几种文件:
-源程序文件:
C语言或汇编语言文件(*.C或*.ASM)
-头文件(*.H)
-命令文件(*.CMD)
-库文件(*.LIB,*.OBJ)
3.主要仪器设备(实验用的软硬件环境)
1.PC兼容机一台;操作系统为Windows2000(或WindowsNT、Windows98、WindowsXP,以下假定操作系统为Windows2000)。
Windows操作系统的内核如果是NT的应安装相应的补丁程序(如:
Windows2000为ServicePack3,WindowsXP为ServicePack1)。
4.操作方法与实验步骤
1.实验准备
连接实验设备。
2.启动CodeComposerStudio2.21
选择菜单Debug→ResetCPU。
成功地启动了CCS后会出现如下窗口:
3.创建工程:
⑴创建新的工程文件:
选择菜单“Project”的“New…”项。
弹出下图,按编号顺序操作建立volume.pjt工程文件:
展开主窗口左侧工程管理窗口中“Projects”下新建立的“volume.pjt”,其中各项均为空。
⑵在工程文件中添加程序文件:
选择菜单“Project”的“AddFilestoProject…”项;在“AddFilestoProject”对话框中选择文件目录为C:
\ICETEK-VC5509-EDULab\Lab0101-UseCCS,改变文件类型为“CSourceFiles(*.c;*.ccc)”,选择显示出来的文件“volum.c”;重复上述各步骤,添加volume.cmd文件到volume工程中;添加C:
\ti\C5500\cgtools\lib\rts55.lib文件到工程中。
⑶编译链接工程:
选择菜单“Project”的“RebuildAll”项,或单击工具条中
的按钮;注意编译过程中CCS主窗口下部的“Build”提示窗中显示编译信息,最后将给出错误和警告的统计数。
4.编辑修改工程中的文件:
⑴查看工程文件:
展开CCS主窗口左侧工程管理窗中的工程各分支,可以看到“volume.pjt”工程中包含“volume.h”、“rts55.lib”、“volume.c”和“volume.cmd”文件,其中第一个“volume.h”为程序在编译时根据程序中的“include”语句自动加入的。
⑵查看源文件:
*双击工程管理窗中的“volume.c”文件,可以查看程序内容。
可以看到,用标准C语言编制的程序,大致分成几个功能块:
-头文件。
描述标准库程序的调用规则和用户自定义数据、函数头、数据类型等。
具体包含哪一个头文件,需要根据程序中使用了哪些函数或数据而定。
比如:
如果程序中使用了printf函数,它是个标准C提供的输入/输出库函数,选中“printf”关键字,按Shift+F1会启动关于此关键字的帮助,在帮助信息中可发现其头函数为stdio.h,那么在此部分程序中需要增加一条语句:
#include“stdio.h”。
-工作变量定义。
定义全局变量。
-子程序调用规则。
这部分描述用户编制的子程序的调用规则。
也可以写到用户自己编制的.h文件中去。
-主程序。
即main()函数。
它可分为两部分:
变量定义和初始化部分、主循环部分。
主循环部分完成程序的主要功能。
-用户自定义函数。
这个程序是一个音频信号采集、处理输出的程序。
程序的主循环中调用自定义的函数read_signals来获得音频数据并存入输入缓存inp_buffer数组;再调用自定义函数write_buffer来处理音频数据并存入输出缓存;output_signals将输出缓冲区的数据送输出设备;最后调用标准C的显示信息的函数printf显示进度提示信息。
整个系统可以完成将输入的音频数据扩大volume倍后再输出的功能。
read_signals子程序中首先应有从外接AD设备获得音频数据的程序设计,但此例中由于未采用实际AD设备,就未写相应控制程序。
此例打算用读文件的方式获得数据,模拟代替实际的AD输入信号数据。
write_buffer子程序中首先将输入缓冲区的数据进行放大处理,即乘以系数volume,然后放入输出缓冲区。
output_signals函数完成将处理后的设备输出的功能,由于此例未具体操作硬件输出设备,所以函数中未写具体操作语句。
*双击工程管理窗中的“volume.h”文件,打开此文件显示,可以看到其中有主程序中要用到的一些宏定义如“BUF_SIZE”等。
*volume.cmd文件定义程序所放置的位置,此例中描述了ICETEK-VC5509-A评估板的存储器资源,指定了程序和数据在内存中的位置。
比如:
它首先将ICETEK-VC5509-A评估板的可用存储器分为五个部分,每个区给定起始地址和长度(区域地址空间不允许重叠);然后指定经编译器编译后产生的各模块放到哪个区。
这些区域需要根据评估板硬件的具体情况来确定。
⑶编辑修改源文件及编译程序:
打开“volume.c”,找到“main()”主函数,将语句“input=inp_buffer;”最后的分号去掉,这样程序中就出现了一个语法错误;重新编译连接工程,可以发现编译信息窗口出现发现错误的提示;双击红色错误提示,CCS自动转到程序中出错的地方;将语句修改正确(将语句末尾的分号加上);重新编译;注意,重新编译时修改过的文件被CCS自动保存。
⑷修改工程文件的设置:
通过以上设置操作,重新编译后,程序中的用户堆栈的尺寸被设置成1024个字。
5.基本调试功能:
⑴下载程序:
执行FileLoadProgram,在随后打开的对话框中选择刚刚建立的C:
\ICETEK-VC5509-EDULab\Lab0101-UseCCS\Debug\volume.out文件。
⑵设置软件调试断点:
在项目浏览窗口中,双击volume.c激活这个文件,移动光标到main()行上,单击鼠标右键选择ToggleBreakpoint或按F9设置断点(另外,双击此行左边的灰色控制条也可以设置或删除断点标记)。
⑶利用断点调试程序:
选择DebugRun或按F5运行程序,程序会自动停在main()函数上。
①按F10执行到write_buffer()函数。
②再按F8,程序将转到write_buffer函数中运行。
③此时,为了返回主函数,按shift-F7完成write_buffer函数的执行。
④再次执行到write_buffer一行,按F10执行程序,对比与F8执行的不同。
提示:
在执行C语言的程序时,为了快速的运行到主函数调试自己的代码,可以使用DebugGomain命令,上述实验中的使用的是较为繁琐的一种方法。
6.使用观察窗口:
⑴执行ViewWatchWindow打开观察窗口。
⑵在volume.c中,用鼠标双击一个变量(比如num),再单击鼠标右键,选择“QuickWatch”,CCS将打开QuickWatch窗口并显示选中的变量。
⑶在volume.c中,选中变量num,单击鼠标右键,选择“AddtoWatchWindow”,CCS将把变量添加到观察窗口并显示选中的变量值。
⑷在观察窗口中双击变量,则可以在这个窗口中改变变量的值。
⑸把str变量加到观察窗口中,点击变量左边的”+”,观察窗口可以展开结构变量,并且显示结构变量的每个元素的值。
⑹把str变量加到观察窗口中;执行程序进入write_buffer函数,此时num变量超出了作用范围,可以利用CallStack窗口察看在其他函数中的变量:
①选择菜单ViewCallStack打开堆栈窗口。
②双击堆栈窗口的main()选项,此时可以察看num变量的值。
7.文件输入/输出:
下面介绍如何从PC机上加载数据到DSP上。
用于利用已知的数据流测试算法。
在完成下面的操作以前,先介绍CodeComposerStudio的Probe(探针)断点,这种断点允许用户在指定位置提取/注入数据。
Probe断点可以设置在程序的任何位置,当程序运行到Probe断点时,与Probe断点相关的事件将会被触发,当事件结束后,程序会继续执行。
在这一节里,Probe断点触发的事件是:
将PC机存储的数据文件中的一段数据加载到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 技术 应用 基础 实验 报告