DSP第一次实验报告_dsp第一次实验报告
DSP第一次实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“dsp第一次实验报告”。
信息与通信工程学院
信号与信息处理综合实验(DSP部分)
实验报告
班
级: 2012211127
名: 刘灿
姓
学
日
号: 2012210732 期: 2015.4.10 一.实验题目
Hello World和LED 二.实验目的熟悉平DSK6416开发台,掌握CCS软件的基本操作流程,达到熟练操作软、硬件系统开发、调试的目的。
三.实验任务及要求
1.任务
(1)在控制台中显示Hello World
运行程序后,在控制台显示Hello World(2)控制LED灯闪烁
FTP给出一个LED的程序模板,可以控制LED 0的闪烁。基于该模板,需要完成:
(a)修改闪烁的频率;
(b)通过写8bit数值到CPLD寄存器来控制LED,使得4个LED以200ms的频率同时打开和关闭。
2.要求
(1)实现基本功能且不出现任何错误
(2)基于原理实现多功能的扩展
四.组内分工
刘杰
程序代码的编写与调试
刘灿
建立工程以及目标系统的配置
五.实验内容及流程
1.实验内容
这次实验内容是显示hello world和控制LED灯的闪烁。由于是dsp的第一次实验,内容比较简单,主要还是在于熟悉ccs这个软件在进行dsp开发时的具体建立工程、配置文件、导入实验板和程序烧写调试的过程和步骤。
2.实验流程介绍
1.新建工程
(1)打开ccs后点击菜单中的“File->New->Project”,选择“CCS project”,然后进入下一个页面进行工程的命名。
(2)命名完成之后是选择工程的硬件平台,我们实验室所使用的实验板是DSK6416,它的芯片为C6000系列的TMS320C6416,所以在“Project Type”下拉框中选择“C6000”,其余选项默认即可。
(3)接下来是设置工程属性,在“Device Variant”下拉栏中选择“Generic devices-> Generic C64xx Device”,“Device Endianne”选择little,其余保持默认值。
(4)然后工程模板选择“hello world”,就完成了工程的新建。
2.代码编译和链接
(1)添加源代码(2)配置CSL库
将C6000的CSL库,存在本地PC机硬盘上,我们hello world工程的代码路径为C:ticsl。在pll_led工程图标上单击右键,选择“Show Build Settings…”来设置编译属性,设置include options,单击新建,在对话框中输入“C:ticslinclude”
(3)定义芯片型号:
在“predefine symbols”选项中输入芯片型号CHIP_6416(4)指定链接库:
在工程属性的“C6000 Linker”的“File Search Path”选项中需要添加DSK6416和CSL6416这两个库,其路径分别为“c:tidsk6414libdsk6414bsl.lib”和“c:ticsllib_2xcsl6414.lib”
(5)添加cmd文件:
在工程路径下新建一个文本文件,将其后缀修改成.cmd,名称可随便修改,并且在文本文件中写入下列内容:-stack 0x400-heap 0x400 保存并编译工程,生成“.out”文件。
3.软件调试
在工程中运行“New->Target Configuration File”新建配置文件,命名为DSK6416_led.ccxml来完成CCS软件和板卡的连接。命名完后在配置文件Basic中Connection选择Spectrum digital DSK-EVM-eZdsp onboard USB Emulator,Device选择DSK6416,保存。然后进行调试,设置断点。最后将程序烧录到实验板中,检查实验结果。
六.源代码及注释
#include #include “dsk6416.h” #include “dsk6416_led.h” #include “dsk6416_dip.h” void main(void){
printf(“Hello World!n”);
//控制台显示“hello world”
DSK6416_init();
//初始化LED和DIP
DSK6416_LED_init();
DSK6416_DIP_init();
while(1){
if(DSK6416_DIP_get(3)== 0)
//开关3控制LED灯以200ms闪烁
{
DSK6416_LED_toggle(3);
DSK6416_waitusec(200000);
}
else if(DSK6416_DIP_get(2)== 0)
//开关2控制LED灯以100ms闪烁
{
DSK6416_LED_toggle(3);
DSK6416_waitusec(100000);
}
else if(DSK6416_DIP_get(1)== 0)
//开关1控制4个灯以200ms同时亮灭
{
DSK6416_rset(DSK6416_USER_REG, 0x0f);
DSK6416_waitusec(200000);
DSK6416_rset(DSK6416_USER_REG, 0x00);
DSK6416_waitusec(200000);
}
else if(DSK6416_DIP_get(0)== 0)//开关0控制4个灯循环亮灭,间隔200ms
{
for(int i=0;i
DSK6416_LED_toggle(i);
DSK6416_waitusec(200000);}
}
} }
七.实验结果
1.按照实验步骤进行操作后,实验控制台正常显示显示“Hello World”,如下图:
2.实验板上DIP 0~3开关控制的LED灯闪烁效果也符合程序预期的效果。
八.遇到的问题
由于第一次实验的内容较为简单,我们在编程方面没有遇到什么困难,工程的建立和系统的配置也能照着实验指导书按部就班的完成。但是在连接实验板时我们遇到了连接不上的问题。机房的电脑连接实验板后安装不了驱动,我们自己带的笔记本电脑也有没有反应的现象。后来我们换了同学的电脑才成功的连接上。
九.心得体会
第一次的实验总的来说比较容易,主要是对ccs这个软件的操作和建立工程的过程的熟悉。通过这次实验我对于这学期dsp实验的流程和步骤有了大体的了解,也熟悉了ccs的编程和调试,也为下次的实验打好了基础。