您好,欢迎访问三七文档
北京邮电大学实验报告信号与信息处理综合实验DSP实验一——HelloWorld和LED班级:2013211125专业:信息工程姓名:戴蕊学号:2013210688电话:13051494811目录一、实验目的............................................................................................................1二、实验工具............................................................................................................1三、实验要求............................................................................................................1四、实验原理............................................................................................................1Ⅰ、总体介绍............................................................................................................1Ⅱ、处理器介绍........................................................................................................2Ⅲ、相关函数介绍.....................................................................................................2Ⅳ、寄存器介绍........................................................................................................3五、程序功能...................................................................................................................4Ⅰ.在控制台中显示HelloWorld...........................................................................4Ⅱ.控制LED灯闪烁...............................................................................................4六、程序流程...................................................................................................................5七、分工合作...................................................................................................................6八、功能说明...................................................................................................................6九、调试过程中的主要问题及难点...................................................................................6十、心得体会...................................................................................................................7十一、实验总结...............................................................................................................7十二、程序源代码............................................................................................................7DSP实验一2013211125班戴蕊1一、实验目的通过本实验熟悉DSP的开发流程,了解开发环境CCS的操作步骤,深入理解寄存器配置、存储器映射等,熟练掌握DSP的调试方法,初步培养良好的编程习惯和编程风格,初步学习程序和设计文档的撰写方法。二、实验工具CodeComposerStudiov5软件和Windows7三、实验要求A、LED0以2.5次/秒的速率闪烁;B、读取DIP3的状态,当DIP按下时,点亮LED;否则LED关闭;C、修改LED的闪烁频率;D、通过写8bit数值到CPLD寄存器来控制LED,使得4个LED以200ms的频率同时打开和关闭。四、实验原理Ⅰ、总体介绍DSP芯片也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号DSP实验一2013211125班戴蕊2处理算法。本学期DSP实验所用芯片为TI公司生产的TMS320C6416T。TMS320C6416T为定点DSP,基于第二代高性能的VLIW架构,拥有超长指令字,即一种非常长的指令组合,它把许多条指令连在一起,增加了运算的速度。Ⅱ、处理器介绍该系列芯片的处理器由三部分组成:(1)CPU内核:有8个并行操作的功能单元,被分为类似的两套有两组寄存器,每组包括16个32位寄存器;(2)存储器:包括程序存储器和数据存储器片内程序存储器总线宽度为256bit,每个周期可取8条32位指令;(3)外设:直接存储器访问DMA、外部存储器接口EMIF、串口、扩展总线、定时器等。Ⅲ、相关函数介绍为了方便用户对DSP系统进行开发,TI公司的第三方提供一种简单的系统评估平台,即DSK开发套件和评估板。DSK和EVM(评估板)除了提供基本的硬件平台外,还提供完整的代码生成工具和调试工具。用户可以使用DSK或EVM完成需要设计系统的硬件性能、软件算法的评估,为确定系统的软/硬件方案提供可靠的依据。以下为DSK6416提供的DSP开发相关函数:DSP实验一2013211125班戴蕊3voidDSK6416_init();/*初始化所有板子的初始函数*/uint8DSK6416_rget(int16regnum);/*读取CPLD寄存器的8bit值*/voidDSK6416_rset(int16regnum,uint8regval);/*写8bit数值到CPLD寄存器*/voidDSK6416_wait(uint32delay);/*插入dl次的迭代循环*/voidDSK6416_waitusec(Uint32delay);/*插入dl微秒的迭代循环*/利用以上函数,实现DSP板子的初始化以及开关状态读取和LED灯的亮灭控制。Ⅳ、寄存器介绍CPLD寄存器定义如下:本实验所需配置的寄存器为USER_REG,该寄存器用于读取DIP开关状态,并将LED灯开关。其具体描述如下:DSP实验一2013211125班戴蕊4由上表可以看出,USER_REG前四个比特用于DIP,读该寄存器前四比特,若相应比特位置一表示所对应开关断开,相应比特位置零表示所对应开关打开;后四个比特用于LED控制,向该寄存器写数据,若相应比特位置一表示点亮所对应LED灯,置零则表示将所对应LED熄灭。五、程序功能Ⅰ.在控制台中显示HelloWorld运行程序后,在控制台显示HelloWorld。使用printf(HelloWorld!\n);语句可以直接实现输出功能。Ⅱ.控制LED灯闪烁FTP给出一个LED的程序模板,可以控制LED0的闪烁。基于该模板,需要完成:DSP实验一2013211125班戴蕊51)修改闪烁的频率;通过控制函数DSK6416_waitusec();的值来控制等待时间,即可控制闪烁频率。2)通过写8bit数值到CPLD寄存器来控制LED,使得4个LED以200ms的频率同时打开和关闭。通过函数DSK6416_rset();来实现LED的同时开关。六、程序流程开始按键0是否按下按键1是否按下按键3是否按下LED3亮LED3灭LED0闪烁周期为0.2秒所有LED闪烁,周期为0.4秒所有LED闪烁,周期为0.2秒是是是否否否DSP实验一2013211125班戴蕊6七、分工合作这次实验肖佳莉同学进行代码的编写,我进行数据修改以及实验板的调整,由于实验比较简单,所以没有其他分工。八、功能说明通过printf(HelloWorld!\n);语句实现了输出HelloWorld!的要求。在硬件方面,通过按键0选择工作模式:模式1或者模式2。模式1即示例工程所实现的功能:令LED0以0.2秒为周期闪烁;通过按键3控制LED3的亮灭。模式2即实验要求中的功能:通过对寄存器的写入,实现4个LED同步闪烁,并通过按键1改变闪烁的频率。整个程序放在一个while(1)循环中,使程序可以一直运行下去。九、调试过程中的主要问题及难点因为大二暑假有过电子工艺实习,接收过单片机的培训,所以本次试验相对比较简单,在老师所给资料的帮助下,调试过程没有太大问题,第一节课便顺利完成。DSP实验一2013211125班戴蕊7十、心得体会本次led灯实验相对而言比较简单,原理与单片机也类似,即利用TI公司或者第三方提供的函数,对相应寄存器进行读取和设置,从而实现所需完成的功能。不过DSP的运算速度高于单片机,所以接下来涉及到数据处理的实验,DSP相对于单片机具有很大优势,希望接下来的实验可以顺利而高质量地完成。十一、实验总结本次实验的重点在于认识DSK6416开发平台,掌握CCS软件的基本操作流程,所以相较来说实验的代码部分并不困难。主要遇到的麻烦是建立工程并完成开发环境的配置。由于对整个开发环境还比较生疏,因此我们在开发环境配置中只能按照示例的说明照猫画虎,相信多进行几次实验后一定能熟能生巧。而代码部分其实并不困难,在c语言的基础上,只需要调用一些硬件的端口,配合一些简单的逻辑,就可以实现实验要求的功能。十二、程序源代码#includestdio.h#includedsk6416.hDSP实验一2013211125班戴蕊8#includedsk6416_led.h#includedsk6416_dip.hvoidmain(void){printf(HelloWorld!\n);DSK6416_init();DSK6416_LED_init();DSK6416_DIP_init();intn;while(1){if(DSK6416_DIP_get(0)==1){DSK6416_LED_toggle(0);if(DSK6416_DIP_get(3)==0)DSK6416_LED_on(3);elseDSP实验一2013211125班戴蕊9DSK6416_LED_off(3);DSK6416_waitusec(100000);}else{if(DSK6416
本文标题:DSP实验1_戴蕊
链接地址:https://www.777doc.com/doc-2910502 .html