DSP技术与应用实验报告

上传人:枫** 文档编号:504383269 上传时间:2023-12-23 格式:DOCX 页数:39 大小:1.46MB
返回 下载 相关 举报
DSP技术与应用实验报告_第1页
第1页 / 共39页
DSP技术与应用实验报告_第2页
第2页 / 共39页
DSP技术与应用实验报告_第3页
第3页 / 共39页
DSP技术与应用实验报告_第4页
第4页 / 共39页
DSP技术与应用实验报告_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《DSP技术与应用实验报告》由会员分享,可在线阅读,更多相关《DSP技术与应用实验报告(39页珍藏版)》请在金锄头文库上搜索。

1、DSP实验报告姓 名: 年 级: 专 业: 学 号: 任课教师: 目 录实验一、CCS入门实验实验二、编写一个以C语言为基础的DSP程序实验三、异步串口通信实验四、A/D及D/A转换实验五、PID算法控制实验实验六、快速傅里叶变换(FFT)算法实验一、CCS入门实验实验课程: DSP实验 实验题目: CCS入门实验 实验日期: 2013年 12 月 3 日 姓名: 学号: Project/new;输入:volume,按Finish;Project/add files to project;查找范围:C:CCStudio_v3.3tutorialdsk2812volume1;文件类型:all f

2、iles;分别添加:Volume.c、Load.asm、Vectors.asm、Volume.cmd;在C:CCStudio_v3.3C2000cgtoolslib中添加:rts2800_ml.lib;将C:CCStudio_v3.3tutorialdsk2812volume1 volume.h复制到:C:CCStudio_v3.3C2000cgtoolsinclude文件夹中;Project/rebuild all;File/load program;打开C:CCStudio_v3.3MyProjectsvolumeDebugvolume.out;鼠标双击:volume.c,找到dataIO

3、(),右击,运行toggle software breakpoint;File/data,查找范围:C:CCStudio_v3.3tutorialdsk2812volume1;文件类型:all files,打开:sina.dat,输入:0x8000、0x2000;View/memory,0x8000;View/graph/timefrequency;如下图波形:频谱 实验二、编写一个以C语言为基础的DSP程序实验课程: DSP实验 实验题目: 编写一个以C语言为基础的DSP程序 实验日期: 2013年 12 月 3 日 姓名: 学号: 一实验目的 1学习用标准C语言编制程序;了解常用的C语言程

4、序设计方法和组成部分。 2学习编制连接命令文件,并用来控制代码的连接。 3学会建立和改变map文件,以及利用它观察DSP内存使用情况的方法。 4熟悉使用软件仿真方式调试程序。 二实验原理 1 标准C语言程序 CCS支持使用标准C语言开发DSP应用程序。当使用标准C语言编制的程序时,其源 程序文件名的后缀应为.c(如:volume.c)。 CCS在编译标准C语言程序时,首先将其编译成相应汇编语言程序,再进一步编译成目 标DSP的可执行代码。最后生成的是coff格式的可下载到DSP中运行的文件,其文件名后 缀为.out。 由于使用C语言编制程序,其中调用的标准C的库函数由专门的库提供,在编译连接时

5、 编译系统还负责构建C运行环境。所以用户工程中需要注明使用C的支持库。 2 命令文件的作用 命令文件(文件名后缀为cmd)为链接程序提供程序和数据在具体DSP硬件中的位置分配 信息。通过编制命令文件,我们可以将某些特定的数据或程序按照我们的意图放置在DSP 所管理的内存中。命令文件也为链接程序提供了DSP外扩存储器的描述。在程序中使用CMD 文件描述硬件存储区,可以只说明使用部分,但只要是说明的,必须和硬件匹配,也就是只 要说明的存储区必须是存在的和可用的。 3 内存映射(map)文件的作用 一般地,我们设计、开发的DSP程序在调试好后,要固化到系统的ROM中。为了更 精确地使用ROM空间,我

6、们就需要知道程序的大小和位置,通过建立目标程序的map文件可以了解DSP代码的确切信息。当需要更改程序和数据的大小和位置时,就要适当修改cmd文件和源程序,再重新生成map文件来观察结果。另外,通过观察map文件,可以掌握DSP存储器的使用和利用情况,以便进行存储器方面的优化工作。4程序设计要求程序框图(图2-1):三实验设备 PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装Code Composer Studio 2.0软件。四实验内容与步骤1实验准备 设置软件仿真模式,参看:本书第一部分、四、1。2建立新的

7、工程文件 (1)启动 Code Composer Studio 2.21。 (2)进行以下设置3编辑输入源程序 (1)C语言程序 -先新建源程序窗口: -输入源程序:int x,y,z;main()x=1; y=2;while ( 1 )z=x+y;-保存源程序为CProgram.c:(2)连接命令文件-如同第(1)步操作,建立空的源程序窗口。-输入连接命令文件内容:-lrts55x.libMEMORYDARAM:O=0x100,l=0x7f00DARAM2:O=0x8000,l=0x8000SECTIONS .text:DARAM .bss:DARAM .stack:DARAM .cinit

8、:DARAM -如同第(1)步操作,将文件存为:C:ICETEK-F2812-A-EDUlabDSP281x_examplesLab0102-CProgram CProgram.cmd(3)将上述编译的源程序加入工程 CProgram.pjt。5编译源文件、下载可执行程序(1)单击菜单“Project”、“Rebuild All”。(2)执行 FileLoad Program,在随后打开的对话框中选择刚刚建立的C:ICETEK-F2812-EDULabLab0102-CProgramdebugCProgram.out 文件。完成后,系统自动打开一个反汇编窗口“Disassembly”,并在其中

9、指示程序的入口地址为“_c_int00”。6打开观察窗口开启 CPU 寄存器观察窗口:单击菜单 View-Registers-Core。7观察程序运行结果这时,在“Disassembly”代表程序运行位置的绿色箭头指向程序的入口地址,程序将从此开始执行。(1)选择菜单中 Debug-Go Main,CCS 自动打开 CProgram.c,程序会停在用户主程序入口 main 上,这从反汇编窗口和 CProgram.c 窗口中的指示箭头位置可以看出。(2)在内存观察窗口中观察变量的值:选择“View”菜单中“Memory”项,在“Memroy Window Options”窗口中的“Adress”

10、项中输入&x,单击“OK”完成设置;“Memory”窗口中 x 的当前取值显示在第 1 个地址的后。(3)将变量 x、y、z 分别加入观察窗口:在源程序中双击变量名,再单击鼠标右键,选择“Add to Watch Window”。这时,这 3个变量还未作初始化。(4)单步运行 2 次,在观察窗中观察到变量 x、y 被赋值。变化的值被显示成红色。同时在“Memory”窗口中也能观察到 x 和 y 值的改变。(5)再单步运行,可观察到 z 的值被计算出来。双击观察窗口中变量 x、y 在“Value”栏中的取值并修改成其他取值,单步运行后观察结果。(6)双击观察窗口中变量 x、y 在“Value”栏

11、中的取值,并修改成 0;选择菜单Debug-Restart,返回程序起点。(7)重新单步运行程序8内存映像文件(1)选择菜单 Project-Build Options,启动“Build Options”工程设置对话框。(2)单击“Linker”属性页,在“Map Filename”项中观察生成的 map 文件名和路径。(3)单击“取消”退出。9对照观察 map 文件和 cmd 文件的内容(1)选择菜单 File-Open,将找到C:ICETEK-F2812-A-EDUlabDSP281x_examplesLab0102-CProgram Debug 目录,将文件类型改为“Memory Map

12、 Files”,选择 CProgram.map 文件、打开。打开 CProgram.cmd 文件。(3)程序的入口地址:map 文件中“ENTRY POINT SYMBOL”中说明了程序入口地址(_c_int00)。 (4)内存使用情况:-map 文件中“MEMORY CONFIGURATION”标明了程序占用 RAM 的使用情况,共占用 aaH 个存储单元。-观察 map 文件中的“SECTION ALLOCATION MAP”段,可以看出 CProgram.obj 的入口地址为 0x3e801e,这也是 main 函数的入口地址。-用户堆栈段从 400H 开始,程序运行到 main 函数中

13、后,变量 x、y、z 均开设在栈中。-还能看出程序运行都需要调用 rts2800.lib 中的哪些模块。10改变内存分配修改 cmd 文件中的PAGE 0 : PROG(R) : origin = 0x3E8000, length = 0x10000 改为PAGE 0 : PROG(R) : origin = 0x3E9000, length = 0x10000 重新编译工程,观察 map 文件中有何变化。11退出 CCS 实验三、异步串口通信实验课程: DSP实验 实验题目: 异步串口通信 实验日期: 2013年 12 月 12 日 姓名: 学号: 一、实验目的1、熟悉2812 内部具有两个相同的 SCI 模块,SCIA 和 SCIB。2、通过学习串口通讯实验,理解DSP的传口与PC之间是怎样进行交互的。5、学会C语言中断程序设计,以及运用中断程序控制程序流程。二、实验要求1、做到独立建立CCS开发环境2、以使用DSP内部的事件管理器为例,学会编译程序调试、仿真、下载程序;三、实验设备计算机,串行通信数据线、DSP2812实验箱(包括USB仿真器+2812系统板+相关连线及电源)。四、实验原理、方法1、SCI模块2812 内部具有两个相同的 SCI 模块,SCIA 和 SCIB,每一个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号