《DSP课程设计报告--基于DSP的花样跑马灯实现.docx》由会员分享,可在线阅读,更多相关《DSP课程设计报告--基于DSP的花样跑马灯实现.docx(8页珍藏版)》请在优知文库上搜索。
1、DSP课程设计报告题目:基于DSP的花样跑马灯实现一、课程设计目的:在信息化,自动化高速发展的今天,DSP在许多场合的应用越来普及,作用也越来越大,譬如数字滤波器、傅里叶变换、谱分析、处理系统、语音信号处理、图像信号处理、振动信号处理、地球物理处理、生物医学处理都有广泛应用。因此学习DSP有着重要意义。本实验着重学习DSP芯片TMS320F28335的GPIOo二、DSP芯片特点介绍:DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:(1)在一个指令周期内可完成
2、一次乘法和一次加法;(2)程序和数据空间分开,可以同时访问指令和数据;(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环及跳转的硬件支持;(5)快速的中断处理和硬件I/O支持;(6)具有在单周期内操作的多个硬件地址产生器;(7)可以并行执行多个操作;(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些二、硬件设计:本实验选用ZQ28335系列的TMS320F28335版本的开发套件。三、软件设计1 .头文件:#includeDSP2833x_Device.huinclude,DSP
3、2833x-Examples.hu2 .库文件:1) .DSP28-SysCtrl.c2) .DSP28-Gpio.c3) .DSP28,ev.c3.C源程序:主程序段:*功能:初始化系统函数和配置所用到的外设。voidmain()(InitSysCtrl()”/初始化系统函数Init_ledGpio()/初始化LED的GPIODINT;/关中断InitPieCtrl();/初始化PIEIER=OxOOOO;IFR=0x0000;InitPieVectTableO;/初始化PIE中断矢量EALLOW;GpioCtrlRegs.GPAMUX1.bit.GPIOl5=0;GpioCtrlRegs.
4、GPADIR.bit.GPIO15=0;GpioCtrlRegs.GPBMUX2.bit.GPIO53=0;GpioCtrlRegs.GPBDIR.bit.GPIO53=O;/inputGpioCtrlRegs.GPBMUX2.bit.GPIO50=O;/GPIOGpioCtrlRegs.GPBDIR.bit.GPIO50=O;/inputEDIS;while(1)(if(GpioDataRegs.GPADAT.bit.GPIO15=1)(1.ED1_OFF;delay(5*DELAY_TIME);1.ED1_ON;1.ED2_0N;delay(DELAY_TIME);1.ED3_0N;del
5、ay(DELAY_TIME);1.ED4_0N;delay(DELAY_TIME);1.ED5_0N;delay(DELAY_TIME);1.ED6_0N;delay(DELAY_TIME);1.ED7_0N;delay(DELAY_TIME);1.ED8_0N;delay(DELAY_TIME);1.ED8_0FF;1.ED7_0N;delay(DELAY_TIME);1.ED7_0FF;1.ED6_0N;delay(DELAY_TIME);1.ED6_0FF;1.ED5_0N;delay(DELAY_TIME);1.ED5_0FF;1.ED4_0N;delay(DELAY_TIME);1.
6、ED4_0FF;1.ED3_0N;delay(DELAY_TIME);1.ED3_0FF;1.ED2_0N;delay(DELAY_TIME);1.ED2_0FF;1.ED1_ON;delay(DELAY_TIME);1.ED1_OFF;)部分配置文件:段一:*功能:初始化Gpio,使得Gpio的引脚处于已知的状态,例如确定其功能是特定功能还是通用I/O。如果是通用I/O,是输入还是输出,等等。*voidIniJledGpio(void)(EALLOW;/GPxD工R方向控制寄存器,为1将引脚设置为输出,为O将引脚设置为输入/GPxMUX功能选择控制寄存器,为1即将引脚设置为PWM波形输出的引
7、脚,为O的即讲引脚设置为通用的数字1/0口/GPXPUD允许用户指定哪一个引脚是内部上拉寄存器使用/LEDDlO/GpioCtrlRegs.GPAPUD.bit.GP100=O;/内部上拉引脚禁止异步GpioDataRegs.GPASET.bit.GP100=I;/SET使弓I脚输出高电平GpioctrlRegs.GPAMUXl.bit.GP100=O;GpioCtrlRegs.GPADIR.bit.GP100=I;/LEDDll/GpioCtrlRegs.GPAPUD.bit.GPIOl=O;GpioDataRegs.GPASET.bit.GPIOl=I;GpioCtrlRegs.GPAMU
8、X1.bit.GPIOl=O;GpioCtrlRegs.GPADIR.bit.GPIOl=I;/LEDD12/GpioCtrlRegs.GPAPUD.bit.GPIO2=0;GpioDataRegs.GPASET.bit.GPIO2=1;GpioctrlRegs.GPAMUXl.bit.GPIO2=0;GpioCtrlRegs.GPADIR.bit.GPIO2=1;/LEDD13/GpioCtrlRegs.GPAPUD.bit.GPIO3=0;GpioDataRegs.GPASET.bit.GPIO3=1;GpioCtrlRegs.GPMUX1.bit.GPIO3=0;GpioCtrlRegs
9、.GPADIR.bit.GPIO3=1;/LEDD14/GpioCtrlRegs.GPAPUD.bit.GPIO4=0;GpioDataRegs.GPASET.bit.GPIO4=1;GpioCtrlRegs.GPAMUX1.bit.GPIO4=0;GpioCtrlRegs.GPADIR.bit.GPIO4=1;/LEDD15/GpioCtrlRegs.GPAPUD.bit.GPIO5=0;GpioDataRegs.GPASET.bit.GPIO5=1;GpioCtrlRegs.GPAMUX1.bit.GPIO5=0;GpioCtrlRegs.GPADIR.bit.GPIO5=1;/LEDD1
10、6/GpioCtrlRegs.GPAPUD.bit.GPIO23=0;GpioDataRegs.GPASET.bit.GPI023=1;GpioCtrlRegs.GPAMUX2.bit.GPIO23=0;GpioCtrlRegs.GPADIR.bit.GPIO23=1;/LEDD17/GpioCtrlRegs.GPBPUD.bit.GPIO36=0;GpioDataRegs.GPBSET.bit.GPIO36=1;GpioctrlRegs.GPBMUXl.bit.GPIO36=0;GpioCtrlRegs.GPBDIR.bit.GPIO36=1;GpioCtrlRegs.GPBPUD.bit.
11、GPIO58=0;GpioDataRegs.GPBSET.bit.GPIO58=1;GpioCtrlRegs.GPBMUX2.bit.GPIO58=0;GpioCtrlRegs.GPBDIR.bit.GPIO58=1;GpioCtrlRegs.GPBPUD.bit.GPIO59=0;GpioDataRegs.GPBSET.bit.GPIO59=1;GpioCtrlRegs.GPBMUX2.bit.GPIO59=0;GpioCtrlRegs.GPBDIR.bit.GPIO59=1;GpioCtrlRegs.GPBPUD.bit.GPIO62=0;GpioDataRegs.GPBSET.bit.G
12、PIO62=1;GpioCtrlRegs.GPBMUX2.bit.GPIO62=0;GpioCtrlRegs.GPBDIR.bit.GPIO62=1;GpioCtrlRegs.GPBPUD.bit.GPIO63=0;GpioDataRegs.GPBSET.bit.GPIO63=1;GpioCtrlRegs.GPBMUX2.bit.GPIO63=0;GpioCtrlRegs.GPBDIR.bit.GPIO63=1;EDIS;RST_BIT1;RST_BIT2;RST_BIT3;RST_BIT4;)段二:*功能:简单延时,用于LED灯的闪烁时延。Uint32i=0;for(i=O;it;i+);四
13、、程序及说明:说明均在程序段中注明。五、仿真结果:aic*图1程序编译C.(C 一 ST Coc wdkC-Buildpaomadeng,/DSP2833x_ADC_cal,objn-llibc.anE:/DSPlicheng/DSP2833x_common/cmd/28335_RAM_lnc.cmdnE:/DSPlicheng/DSP2833x_headers/cmd/DSP2833x_Headers_nonBIOS.Cmd”,Finishedbuildingtarget:paomadeng.out,IIBuildcompleteforprojectpaomadeng图2跑马灯编译通过bMU-/s目一闪烁着的跑马灯(见 附录视频)Wa=M=三= 38 B2 浅TrM-取翦7图3实物效果图六、小结:通过此课程设计,我对用DSP芯片的GPIO原理有了更加清晰的认识,同时学会了对各种寄存器的配置。此次课程设计中,用到的事件管理寄存器是X281X,而在此次设计中我们用到的是利用通用定时器和比较单元来产生输出信号控制跑马灯的花样。事件管理寄存器是X281X包含有通用比较器,比较单元,捕获单元和QEP等各个模块。七、软件打包:见pwm程序打包。八、参考文献1.l顾卫刚手把手教你学DSP基于TMS320X281北京航空航天大学出版社2011年4月