数字信号处理实验讲义.docx
- 文档编号:25955219
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:38
- 大小:273.33KB
数字信号处理实验讲义.docx
《数字信号处理实验讲义.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验讲义.docx(38页珍藏版)》请在冰豆网上搜索。
数字信号处理实验讲义
*实验一:
CodeComposerStudio入门实验
一.实验目的
1.掌握CodeComposerStudio2.2的安装和配置。
2.了解DSP开发系统和计算机与目标系统的连接方法。
3.了解CodeComposerStudio2.2软件的操作环境和基本功能,及TMS320C6x软件开发过程。
(1)学习创建工程和管理工程的方法。
(2)了解基本的编译和调试功能。
(3)学习使用观察窗口。
(4)了解图形功能的使用。
二.实验设备
1.PC兼容机一台;操作系统为Windows2000(或WindowsXP,以下假定操作系统为Windows2000)。
Windows操作系统的内核如果是NT的应安装相应的补丁程序(如:
Windows2000为ServicePack3以上,WindowsXP为ServicePack1以上)。
2.ICETEK-C6713-USB-EDU(或ICETEK-C6713-PP-EDU)实验箱一台。
如无实验箱则配备
ICETEK-ICETEK-USB仿真器
3.USB连接电缆一条。
三.实验原理
*开发TMS320C6x应用系统一般需要以下几个调试工具来完成:
-软件集成开发环境(CodeComposerStudio2.2):
完成系统的软件开发,进行软件和硬件仿真
调试。
它也是硬件调试的辅助手段。
-开发系统(ICETEK5100USB或ICETEK5100PP):
实现硬件仿真调试时与硬件系统的通信,
控制和读取硬件系统的状态和数据。
-评估模块(ICETEKC6713-A等):
提供软件运行和调试的平台和用户系统开发的参照。
*CodeComposerStudio2.2主要完成系统的软件开发和调试。
它提供一整套的程序编制、维护、
编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF(公共目标文件)格式的可执
行文件,并能将程序下载到目标DSP上运行调试。
*用户系统的软件部分可以由CodeComposerStudio建立的工程文件进行管理,工程文件一般
包含以下几种文件:
-源程序文件:
C语言或汇编语言文件(*.ASM或*.C)
-头文件(*.H)
-命令文件(*.CMD)
-库文件(*.LIB,*.OBJ)
四.实验步骤
1.实验准备
(1)连接实验设备
①检查并设置ICETEK-C6713-EDU实验箱的各电源开关均处于关闭状态;连接实验箱提
供的220V电源线,保证接地良好。
②如使用USB型仿真器,将提供的USB电缆的扁平端连接到计算机的USB接口上,另
一端先不做连接。
③连接仿真器的仿真电缆接头到DSP系统板上的JTAG接头。
注意仿真器接头上的一个
插孔中有一个封针,DSP系统板上的JTAG接口的相应插针是被空开的,这样保证了仿真
接头的方向不会接反。
④如使用ICETEK-C6713-A的DSP系统板,关闭DSP系统板上的电源开关。
⑤将+5V电源连接到DSP系统板上。
(2)开启设备
①接通计算机电源,进入Windows操作系统。
②打开实验箱电源开关,实验箱上的电源指示灯亮。
③打开ICETEK-C6713-A系统板上电源开关,指示灯VCCLED、33LED亮。
(3)安装CodeComposerStudio2.2
①将实验箱附带的教学光盘插入计算机光盘驱动器。
②利用桌面上“我的电脑”打开教学光盘的F:
\CCS开发软件\CCSc6000(2.2)目录,双击
“Setup.exe”,进入安装程序。
③选择“CodeComposerStudio”,按照安装提示进行安装,并重新启动计算机。
④安装完毕,桌面上出现两个新的图标“SetupCCS2(‘C6000)”、“CCS2(‘C6000)”;
(4)安装DSP开发系统驱动程序(可选做)
*安装USB型仿真器的驱动程序:
①连接计算机上USB接口电缆的方形接口一端到仿真器上相应接口;仿真器上红色电源
灯亮,表示USB接口连通;计算机提示发现新的设备。
②指定驱动程序的路径到教学光盘的“开发系统驱动\usb2.0\driver6000\USBDevice”目录,
选择“mdpjtag.inf”,并完成安装。
③观察仿真器上绿色指示灯亮,表示驱动程序开始工作。
(5)安装实验程序
利用桌面上“我的电脑”将教学光盘上的“软件测试程序”目录中的
“ICETEK-C6713-EDULab”子目录复制到C:
\也可自建文件夹上,并将目录中所有文件(包含子目录中的文件)的只读属性去除。
2.设置CodeComposerStudio2.2在软件仿真(Simulator)方式下运行
(1)双击桌面上“SetupCCS2(‘C6000)”,启动“CodeComposerStudioSetup”。
(2)在“ImportConfiguration”对话框中单击“Clear”按钮,在接下来的对话框中选择“是”,
清除原先的系统设置;观察窗口“CodeComposerStudioSetup”中左侧“SystemConfiguration”
栏中“MySystem”项被清空。
(3)在“AvailableConfigurations”列表中,单击选择“C6713DeviceSimulator,LittleEndian”
驱动,并单击“Import”按钮;观察窗口“CodeComposerStudioSetup”中左侧“System
Configuration”栏中“MySystem”项中被加入“C6713DeviceSimulator”项。
(4)单击“SaveandQuit”按钮,退出“ImportConfiguration”对话框。
(5)选择“否”,不启动CCS。
3.设置CodeComposerStudio2.2在硬件仿真(Emulator)方式下运行
(1)双击桌面上“SetupCCS2(‘C6000)”,启动“CodeComposerStudioSetup”。
(2)在“ImportConfiguration”对话框中单击“Clear”按钮,在接下来的对话框中选择“是”,
清除原先的系统设置;观察窗口“CodeComposerStudioSetup”中左侧“SystemConfiguration”
栏中“MySystem”项被清空。
(3)对于USB型仿真器在“AvailableConfigurations”列表中,单击选择“ICETEK-5100USBEmulatorc6x1x”驱动,并单击“Import”按钮;观察窗口“CodeComposerStudioSetup”中左侧“SystemConfiguration”栏中“MySystem”项中被加入“tixdx6x1x”项。
(4)单击“SaveandQuit”按钮,退出“ImportConfiguration”对话框。
(5)选择“CodeComposerStudioSetup”窗口“File”采单中“Exit”项退出,并在接下来显
示的对话框中选择“是”,保存设置。
选择“否”,不启动CCS。
4.启动CodeComposerStudio2.2
双击桌面上“CCS2(‘C6000)”,启动CodeComposerStudio2.2;可以看到显示出的C671xCode
ComposerStudio窗口;
5.创建工程
(1)创建新的工程文件
选择菜单“Project”的“New…”项;在“ProjectCreation”对话框中,在“Project”项
输入volume;单击“Location”项末尾的浏览按钮,改变目录到
C:
\ICETEK-C6713-EDULab\Lab01-UseCC也可自建目录,单击“OK”;单击“完成”;这时建立的是一个空的工程文件;展开主窗口左侧工程管理窗口中“Projects”下新建立的“volume.pjt”,其中
各项均为空。
(2)在工程文件中添加程序文件:
选择菜单“Project”的“AddFilestoProject…”项;在“AddFilestoProject”对话框中选
择文件目录为C:
\ICETEK-C6713-EDULab\Lab1-UseCC或自建目录,改变文件类型为“CSource
Files(*.c;*.ccc)”,选择显示出来的文件“volum.c”;重复上述各步骤,添加volume.cmd文件
到volum工程中;添加C:
\ti\C6000\cgtools\lib\rts6701.lib。
选择菜单“Project”的“BuildOptions…”项;在“BuildOptionsforvolume.pjt”对话框
中“compiler”属性页的“Basic”栏中修改“TargetVersion”项的内容为“C671x(-mv6710)”,
设置生成671x的程序代码。
(3)编译连接工程:
选择菜单“Project”的“RebuildAll”项;注意编译过程中CCS主窗口下部的“Build”
提示窗中显示编译信息,最后将给出错误和警告的统计数。
6.编辑修改工程中的文件
(1)查看工程文件
展开CCS主窗口左侧工程管理窗中的工程各分支,可以看到“volume.pjt”工程中包含
“volume.h”、“rts.lib”、“volume.c”和“volume.cmd”文件,其中第一个为程序在编译时根
据程序中的“include”语句自动加入的。
(2)查看源文件
双击工程管理窗中的“volume.c”文件,可以查看程序内容。
双击工程管理窗中的“volume.h”文件,打开此文件显示,可以看到其中有主程序中要用
到的一些宏定义如“BUF_SIZE”等。
“volume.cmd”文件定义程序所放置的位置,此例中描述了6713的存储器资源,指定了
程序和数据在内存中的位置。
(3)编辑修改源文件
打开“volume.c”,找到“main()”主函数,将语句“input=&inp_buffer[0];”最后的分号
去掉,这样程序中就出现了一个语法错误;重新编译连接工程,可以发现编译信息窗口出现
发现错误的提示;双击红色错误提示,CCS自动转到程序中出错的地方;将语句修改正确(将
语句末尾的分号加上);重新编译;注意,重新编译时修改过的文件被CCS自动保存。
(4)修改工程文件的设置
选择“Project”菜单中的“BuildOptions…”项,打开“BuildOptionsforvolume.pjt”对
话框,选择“Linker”卡片,在“StackSize”项后输入1024;单击“确定”完成设置;通
过此设置,重新编译后,程序中的堆栈的尺寸被设置成1024个字。
7.基本调试功能
(1)执行FileLoadProgram,在随后打开的对话框中选择刚刚建立的
C:
\ICETEK-C6713-EDULab\Lab01-UseCC\Debug\volume.out若是自建的则在自建文件。
(2)在项目浏览窗口中,双击volume.c激活这个文件,移动光标到main()行上,右击鼠标选择
ToggleBreakpoint或按F9设置断点。
(3)选择DebugRun或按F5运行程序,程序会自动停在main()函数头上。
①按F10执行到write_buffer()函数上。
②再按F8,程序将转到write_buffer函数中运行。
③此时,为了返回主函数,按shift-F7完成write_buffer函数的执行。
④再次执行到write_buffer一行,按F10执行程序,对比与F8执行的不同。
注意:
在执行C语言的程序时,为了快速的运行到主函数调试自己的代码,可以使用
DebugGomain命令,上述实验中的使用的是较为繁琐的一种方法。
8.使用观察窗口
(1)执行ViewWatchWindow打开观察窗口。
(2)在volume.c中,选中任意一个变量,右击鼠标,选择“QuickWatch”,CCS将打开QuickWatch
窗口并显示选中的变量。
(3)在volume.c中,选中任意一个变量,右击鼠标,选择“AddtoWatchWindow”,CCS将把变量
添加到观察窗口并显示选中的变量值。
(4)在观察窗口中双击变量,则弹出修改变量窗口。
此时,可以在这个窗口中改变变量的值。
(5)把str变量加到观察窗口中,点击变量左边的”+”,观察窗口可以展开结构变量,并且显示结
构变量的每个元素的值。
(6)把str变量加到观察窗口中;执行程序进入write_buffer函数,此时num函数超出了作用
范围,可以利用CallStack窗口察看在不同作用范围的变量:
①执行ViewCallStack打开堆栈窗口。
②双击堆栈窗口的main()选项,此时可以察看num变量的值。
9.文件输入/输出
介绍如何从PC机上加载数据到目标机上。
可用于使用已知的数据流测试算法的正确性。
在完成下面的操作以前,先介绍CodeComposerStudio的Probe(探针)断点,这种断点允许
用户在指定位置提取/注入数据。
Probe断点可以设置在程序的任何位置,.当程序运行到Probe
断点时,与Probe断点相关的事件将会被触发,当事件结束后,程序会继续执行。
在这一节里,
Probe断点触发的事件是:
从PC机的数据文件加载数据到目标系统的缓冲区中。
(1)在真实的系统中,read_signals函数用于读取A/D模块的数据并放到DSP缓冲区中。
在这
里,代替A/D模块完成这个工作的是Probe断点。
当执行到函数read_signals时,Probe断
点完成这个工作。
①在程序行read_signals(int*input)上单击鼠标右键,选择“Togglebreakpoint”。
②单击鼠标右键,选择“ToggleProbePoint”,设置Probe断点。
(2)执行FileFileI/O,打开对话框。
(3)点击“AddFile”按钮把“C:
\ICETEK-C6713-EDULab\Lab01-UseCC”目录中的sine2.dat
文件加到对话框中。
(4)完成设置:
①在Address中,输入inp_buffer
②在Length中,输入100
③保证warparound被选中;
(5)关联事件和Probe断点:
①点击AddProbePoint按钮,打开对话框;
②点击ProbePoint列表中的内容,使之被选中;
③在Connect中选择sine2.dat文件;
④点击Replace按钮确认设置;
⑤点击”确定”关闭对话框。
(6)点击”确定”关闭对话框,此时,已经配置好了Probe断点和与之关联的事件.进一步的结果在
下面实验中显示。
10.图形功能简介
下面我们使用CC的图形功能检验上一节的结果
(1)执行ViewGraphTime/Frequency打开GraphPropertyDialog窗口。
(2)修改属性为如下值并确定:
GraphTitle:
Input
SatrtAddress:
inp_buffer
AcquisitionBufferSize:
100
IndexIncrement2
DisplayDataSize100
DSPType:
16-bitsignedinteger
-在弹出的图形窗口中单击鼠标右键,选择“ClearDisplay”。
(3)按F12运行程序.观察input窗口的内容。
五.实验结果
通过对工程文件“volume”的编译、执行后得到结果的图形
10.图形功能简介
下面我们使用CC的图形功能检验上一节的结果
(1)执行ViewGraphTime/Frequency打开GraphPropertyDialog窗口。
(2)修改属性为如下值并确定:
GraphTitle:
Input
SatrtAddress:
inp_buffer
AcquisitionBufferSize:
100
IndexIncrement2
DisplayDataSize100
DSPType:
16-bitsignedinteger
-在弹出的图形窗口中单击鼠标右键,选择“ClearDisplay”。
(3)按F12运行程序.观察input窗口的内容。
五.实验结果
通过对工程文件“volume”的编译、执行后得到结果的图形显示
六.问题与思考
总结CCS编译调试环境在使用上的特点,联系其它使用过的编译器,找出它们之间相似的功
能。
进一步掌握其它在实验中没有用到的功能选项和编译、调试技巧。
实验二:
编制链接控制文件
一.实验目的
1.学习用汇编语言编制程序;了解汇编语言程序与C语言程序的区别和CCS使用它们时在设
置上的不同。
2.学习编制命令文件控制代码的连接。
3.学会建立和改变map文件,以及利用它观察DSP内存使用情况的方法。
4.熟悉使用软件仿真方式调试程序。
二.实验设备
PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为
Windows2000),安装CodeComposerStudio2.2软件。
三.实验原理
1.汇编语言程序
汇编语言程序除了程序中必须使用汇编语句之外,其编译选项的设置与C语言编制的程序
也稍有不同。
其区别为:
①汇编语言程序在执行时直接从用户指定入口开始,常见的入口标号为“start”,而C语言
程序在执行时,先要调用C标准库中的初始化程序(入口标号为“_c_init00”),完成设置之
后,才转入用户的主程序main()运行;为了支持C初始化代码的连接,C程序在编译时要包
含C语言库和与之相配的头文件,这需要用户将库添加到工程中。
②由于CodeComposerStudio的代码链接器默认支持C语言,在编制汇编语言程序时,需要
设置链接参数,选择非自动初始化,注明汇编程序的入口地址。
2.命令文件的作用
命令文件(文件名后缀为cmd)为链接程序提供程序和数据在具体DSP硬件中的位置分配信
息。
通过编制命令文件,我们可以将某些特定的数据或程序按照我们的意图放置在DSP所管
理的内存中。
命令文件也为链接程序提供了DSP外扩存储器的描述。
3.内存映射(map)文件的作用
一般地,我们设计、开发的DSP程序在调试好后,要固化到系统的ROM中。
为了更精确
地使用ROM空间,我们就需要知道程序的大小和位置,通过建立目标程序的map文件可以了
解DSP代码的确切信息。
当需要更改程序和数据的大小和位置时,就要适当修改cmd文件和
源程序,再重新生成map文件来观察结果。
北京瑞泰创新科技有限责任公司─ICETEK-C6713-A-EDU评估板软件实验指导
4.源程序分析
汇编语言源程序UseCMD.asm框图:
开始
开设未初始化变量x,y,z
赋初值:
x=1,y=2
在累加器中计算x+y
输出结果到z
循环
四.实验步骤
1.实验准备
设置软件仿真模式:
(1)启动SetupCCS驱动设置窗口:
双击桌面上“SetupCCS2(‘C6000)”图标。
(2)清除原先驱动设置:
单击“Clear”按钮;单击“是”。
(3)安装软件仿真驱动(Simulator):
单击“C6713DeviceSimulator,LittleEndian”驱动名,
单击“Import”按钮。
(4)完成设置:
单击“SaveandQuit”,“否”。
2.打开工程文件
(1)双击桌面上“CCS2(‘C6000)”,启动CodeComposerStudio2.2。
(2)打开菜单“Project”的“New…”项;在“Project”项中输入UseCMD,在“Location”
中选择C:
\ICETEK-C6713-EDULab\Lab02-UseCMD目录,单击“完成”建立UseCMD.pjt。
(3)在工程中添加文件UseCMD.asm和UseCMD.cmd。
3.设置工程文件
(1)打开设置窗口:
选择菜单“Project”的“BuildOptions…”项。
(2)选择编译设置:
单击“Compiler”属性页,将“Basic”栏中“TargetVersion”项改成“671x”。
(3)选择链接设置:
单击“Linker”属性页,进行汇编语言程序的特殊设置:
-“AutoinitModel”项设置成“NoAutoinitialization”
-“CodeEntryPoint”项中输入“start”。
(4)退出设置窗口:
单击“确定”按钮。
4.编译源文件,下载可执行程序
(1)单击菜单“Project”、“RebuildAll”。
(2)执行FileLoadProgram,在随后打开的对话框中选择刚刚建立的UseCMD.out文件。
完成
后,系统自动打开源程序文件UseCMD.asm。
5.打开观察窗口
(1)开启CPU寄存器观察窗口:
单击菜单“View”、“Registers”、“CoreRegisters”。
(2)在内存观察窗口中观察变量的值:
选择“View”菜单中“Memory…”项,在“MemroyWindowOptions”窗口中的“Adress”
项中输入x,单击“OK”完成设置;在随后显示的“Memory”窗口中单击鼠标右键,选择
“FloatInMainWindow”项。
6.观察程序运行结果
这时,代表程序运行位置的黄色光标条停在start标号下面语句上,程序将从此开始执行。
(1)单步执行程序(按F10键)6次,可观察到CPU寄存器窗口中A0、B0、B2的值有变化。
北京瑞泰创新科技有限责任公司─ICETEK-C6713-A-EDU评估板软件实验指导
45
(2)单步运行6次,在变量窗口中观察到变量x、y被赋值。
(3)单步执行到“b$”语句,观察各寄存器和变量z值的变化。
7.生成内存映像文件
(1)单击菜单“Project”、“Options…”,启动“BuildOptions”工程设置对话框。
(2)单击“Linker”属性页,在“MapFilename”项中输入需要生成的map文件名,比如可以
输入UseCMD.map
(3)单击“确定”,完成设置。
(4)选择菜单“Project”、“RebuildAll”,重新编译工程,生成新设置的map文件。
8.对照观察map文件和cmd文件的内容
(1)选择菜单“File”、“Open…”,将找到C:
\ICETEK-C6713-EDULab\Lab02-UseCMD目录,
将文件类型改为“MemoryMap
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验 讲义
![提示](https://static.bdocx.com/images/bang_tan.gif)