DSP原理及其应用技术 课程设计 报告要点.docx
- 文档编号:29662653
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:27
- 大小:502.47KB
DSP原理及其应用技术 课程设计 报告要点.docx
《DSP原理及其应用技术 课程设计 报告要点.docx》由会员分享,可在线阅读,更多相关《DSP原理及其应用技术 课程设计 报告要点.docx(27页珍藏版)》请在冰豆网上搜索。
DSP原理及其应用技术课程设计报告要点
DSP原理及其应用技术
课程设计
姓名:
班级:
电技09-1班
学号:
学院:
自动化学院
指导教师:
目录
第一章、设计的目的和意义…………………………………………………………3页
第二章、CCS软件概述………………………………………………………………3页
2.1CCS软件安装……………………………………………………………………3页
2.2CCS软件设置……………………………………………………………………3页
2.3CCS软件启动……………………………………………………………………5页
2.4CCS软件退出……………………………………………………………………6页
2.5CCS软件应用……………………………………………………………………7页
第三章、基于DSP原理及应用的课程设计题目选择…………………………7页
3.1基于DSP的定时器的系统设计…………………………………………………7页
3.2基于DSP5000系列的有限冲击响应滤波器的系统设计………………………7页
3.3基于DSP5000的电机控制方案设计……………………………………………7页
第四章、设计原理概述………………………………………………………………7页
4.1基本原理概述……………………………………………………………………7页
4.2基于DSP的定时器的系统设计原理……………………………………………7页
4.3基于DSP5000系列的有限冲击响应滤波器的系统设计原理…………………8页
4.4基于DSP5000的电机控制方案设计原理………………………………………9页
第五章、程序设计流程图……………………………………………………………9页
5.1基于DSP的定时器的系统设计流程图…………………………………………9页
5.2基于DSP5000系列的有限冲击响应滤波器的系统设计流程图………………10页
5.3基于DSP5000的电机控制方案设计流程图……………………………………11页
第六章、主要工程文件程序代码…………………………………………………12页
6.1基于DSP的定时器的系统设计主要工程文件代码…………………………12页
6.2基于DSP5000系列的有限冲击响应滤波器的系统设计主要工程文件代码…14页
6.3基于DSP5000的电机控制方案设计主要工程文件代码………………………18页
第七章、设计结果分析………………………………………………………………18页
7.1基于DSP的定时器的系统设计结果分析………………………………………18页
7.2基于DSP5000系列的有限冲击响应滤波器的系统设计结果分析……………18页
7.3基于DSP5000的电机控制方案结果分析………………………………………19页
第八章、参考资料及实验设备……………………………………………………19页
第九章、课程设计心得…………………………………………………………………20页
第一章、课程设计的目的
一、课程设计的目的:
(1)掌握如何使用DSP仿真平台;掌握DSP内部结构和工作原理;熟悉DSP的指令系统;熟悉用DSP实现各种基本算法。
(2)熟悉VC5509A的定时器;掌握VC5509A定时器的控制方法;掌握VC5509A的中断结构和对中断的处理流程;学会C语言中断程序设计,以及运用中断程序控制程序流程。
(3)掌握用窗函数法设计FIR数字滤波器的原理和方法;熟悉线性相位FIR数字滤波器特性;了解各种窗函数对滤波器特性的影响。
(4)了解ICETEK-VC5509-A板上语音codec芯片TLV320AIC23的设计和程序控制原理;了解数字回声产生原理、编程及其参数选择、控制;熟悉VC5509DSP扩展存储器的编程使用方法。
第二章、CCS软件概述
2.1.CCS软件安装
1.CCS软件安装
⑴在硬盘上建立一个临时目录,如:
c:
\install。
⑵将实验箱附带的教学光盘插入计算机光盘驱动器。
⑶打开教学光盘的“CCS开发软件”目录,用鼠标右键单击文件ccs5000.exe
⑷打开第⑴步建立的临时文件夹,双击其中的“Setup.exe”,进入安装程序。
⑸选择“CodeComposerStudio”,按照安装提示进行安装,并重新启动计算机。
⑹安装完毕,桌面上出现两个新的图标.
⑺清空在第⑴步建立的临时文件夹。
⑻按照第⑶步的方法,安装“CCS开发软件”目录中的压缩文件
2.安装DSP通用仿真器:
⑴仿真器的Windows驱动程序;⑵仿真器在CCS环境中的驱动程序。
3.安装实验程序:
将教学光盘上的“软件测试程序”目录中的“ICETEK-VC5509-EDULab”子目录复制到C:
\上,并将目录中所有文件(包含子目录中的文件)的只读属性去除。
4.安装初始化仿真器程序
将“C:
\ICETEK-VC5509-EDULab”目录下的“ICETEKEMUReset.bat”复制到“c:
\ti\cc\bin”目录。
将“C:
\ICETEK-VC5509-EDULab”目录下的“icetek.cfg”复制到“c:
\ti\cc\bin\BrdDat”目录。
用鼠标右键单击“C:
\ICETEK-VC5509-EDULab”目录下的“初始化ICETEK-5100USB2.0仿真器”文件名,选择“发送到”->“桌面快捷方式”。
2.2.CCS软件设置
1.设置CCS工作在软件仿真环境,CCS可以工作在纯软件仿真环境中,就是由软件在PC机内存中构造一个虚拟的DSP环境,可以调试、运行程序。
但一般软件无法构造DSP中的外设,所以软件仿真通常用于调试纯软件的算法和进行效率分析等。
在使用软件仿真方式工作时,无需连接板卡和仿真器等硬件
2.双击桌面上图标:
进入CCS设置窗口。
3.在出现的窗口中按标号顺序进行如下设置:
接着在下面出现的窗口中选择“否(N)”。
此时CCS已经被设置成Simulator方式(软件仿真TMS320VC5509器件的方式),如果一直使用这一方式就不需要重新进行以上设置操作了。
4.设置CCS通过ICETEK-5100USB仿真器连接ICETEK-VC5509-A硬件环境进行软件调试和开发:
⑴双击桌面上图标:
进入CCS设置窗口。
⑵在出现的窗口中按标号顺序进行如下设置:
⑶接着在下面的窗口中按标号顺序进行如下选择:
⑷在出现的窗口中按标号顺序进行如下设置:
⑸在出现的窗口中按标号顺序进行如下设置:
以上设置完成后,CCS已经被设置成Emulator的方式(用仿真器连接硬件板卡的方式),并且指定通过ICETEK-5100USB仿真器连接ICETEK-VC5509-A评估板。
如果您需要一直使用这一方式就不需要重新进行以上设置操作了。
2.3.CCS软件启动
1.启动Simulator方式:
双击桌面上图标:
2.启动Emulator方式:
⑴首先将实验箱电源关闭。
连接实验箱的外接电源线。
⑵检查ICETEK-5100USB仿真器的黑色JTAG插头是否正确连接到ICETEK-VC5509-A板的J1插头上。
注:
仿真器的插头中有一个孔加入了封针,与J1插头上的缺针位置应重合,保证不会插错。
⑶检查是否已经用电源连接线连接了ICETEK-VC5509-A板上的POW1插座和实验箱底板上+5V电源插座。
⑷检查其他连线是否符合实验要求。
检查实验箱上三个拨动开关位置是否符合实验要求。
⑸打开实验箱上电源开关(位于实验箱底板左上角),注意开关边上红色指示灯点亮。
ICETEK-VC5509-A板上指示灯D5和D6点亮。
如果打开了ICETEK-CTR的电源开关,ICETEK-CTR板上指示灯L1、L2和L3点亮。
如果打开了信号源电源开关,相应开关边的指示灯点亮。
⑹用实验箱附带的USB信号线连接ICETEK-5100USB仿真器和PC机后面的USB插座,注意ICETEK-5100USB仿真器上指示灯Power和Run灯点亮。
⑺双击桌面上仿真器初始化图标如果出现下面提示窗口,表示初始化成功,按一下空格键进入下一步操作。
如果窗口中没有出现“按任意键继续…”,请关闭窗口,关闭实验箱电源,再将USB电缆从仿真器上拔出,返回第⑵步重试。
如果窗口中出现“Theadapterreturnedanerror.”,并提示“按任意键继续…”,表示初始化失败。
⑻双击桌面上图标:
启动CCS2.21。
⑼如果进入CCS提示错误,先选“Abort”,然后用“初始化ICETEK-5100USB2.0仿真器”初始化仿真器,如提示出错,可多做几次。
如仍然出错,拔掉仿真器上USB接头(白色方形),按一下ICETEK-VC5509-A板上S1复位按钮,连接USB接头,再做“初始化ICETEK-5100USB2.0仿真器”。
2.4.CCS软件退出
2.5.CCS软件应用
1.可创建工程:
通过CodeComposerStudio2.21创建工程,完成系统的软件开发和调试。
2.可编辑修改工程中的文件:
可查看工程文件,查看源文件,编辑修改源文件,修改工程文件的设置。
3.可实现基本调试功能:
设置软件调试断点,利用断点调试程序。
4.可使用观察窗口:
在观察窗口中双击变量,则可以在这个窗口中改变变量的
5.可使用文件输入/输出:
从PC机上加载数据到DSP上,用于利用已知的数据流测试算法。
6.可使用图形功能:
使用CCS的图形功能检验结果
第三章、基于DSP原理及应用的课程设计题目
3.1基于DSP的定时器的系统设计
3.2基于DSP5000系列的有限冲击响应滤波器的系统设计
3.3基于DSP5000的电机控制方案设计
第四章、设计原理概述
4.1基本原理概述
一、数字信号处理的基本理论,包括信号处理系统的概念、离散时间信号处理系统的基本分析方法、连续时间系统的离散化处理等。
二、利用科学计算软件MATLAB来帮助求解数字信号理论的内容。
三、DSP器件的基本理论,包括器件的结构(总线、CPU、寄存器、存储器等)和工作原理,器件中片内外部设备(定时器、计数器、串行I/O接口等)的工作原理,器件的代数指令系统等。
四、DSP仿真开发技术基本理论。
4.2基于DSP的定时器的系统设计原理
1.通用定时器介绍及其控制方法(详见spru595b.pdf):
TMS320VC5509A内部有两个20位通用定时器(GP):
*每个通用定时器包括:
-1个16位的减计数的计数器TIM;
-1个16位的定时器周期寄存器PRD;
-1个16位的定时器控制寄存器TCR;
-1个16位的定时器预定标寄存器PSCR;
PSCR寄存器说明:
PSC:
4位的预定标值,与TIM共同组成20位的定时计数器;
TDDR:
预定标周期寄存器(在需要时重装入PSC的值);
TCR寄存器说明(详见spru595b.pdf);
2.中断响应过程(详见spru595b.pdf):
外设事件要引起CPU中断,必须保证:
IER中相应使能位被使能,IFR相应中断也被使能。
在软件中,当设置好相应中断标志后,开中断,进入等待中断发生的状态;外设(如定时器)中断发生时,首先跳转到相应中断高级的服务程序中(如:
定时器1会引起TINT中断),程序在进行服务操作之后,应将本外设的中断标志位清除以便能继续中断,然后返回。
3.中断程序设计:
-程序中应包含中断向量表,VC5509A默认向量表从程序区0地址开始存放,根据IPVD和IPVH的值确定向量表的实际地址。
-注意观察程序中INTR_init()函数的定义部分,其中IPVD和IPVH的值都为0x0d0;同时观察配置文件ICETEK-VC5509-A.cmd中的VECT段描述中o=0x0d000。
-向量表中每项为8个字,存放一个跳转指令,跳转指令中的地址为相应服务程序入口地址。
第一个向量表的首项为复位向量,即CPU复位操作完成后自动进入执行的程序入口。
-服务程序在服务操作完成后,清除相应中断标志,返回,完成一次中断服务。
4.3基于DSP5000系列的有限冲击响应滤波器的系统设计原理
1.有限冲激响应数字滤波器的基础理论。
2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
3.数字滤波器系数的确定方法。
4.根据要求设计低通FIR滤波器。
要求:
通带边缘频率10kHz,阻带边缘频率22kHz,阻带衰减75dB,采样频率50kHz。
设计:
-过渡带宽度=阻带边缘频率-通带边缘频率=22-10=12kHz
-采样频率:
f1=通带边缘频率+(过渡带宽度)/2=10000+12000/2=16kHz;Ω1=2πf1/fs=0.64π
-理想低通滤波器响应:
h1[n]=sin(nΩ1)/n/π=sin(0.64πn)/n/π
-根据要求,选择布莱克曼窗,窗函数长度为:
N=5.98fs/过渡带宽度=5.98*50/12=24.9
-选择N=25,窗函数为:
w[n]=0.42+0.5cos(2πn/24)+0.8cos(4πn/24)
-滤波脉冲响应为:
h[n]=h1[n]w[n]|n|≤12;h[n]=0|n|>12
-根据上面计算,各式计算出h[n],然后将脉冲响应值移位为因果序列。
-完成的滤波器的差分方程为:
y[n]=-0.001x[n-2]-0.002x[n-3]-0.002x[n-4]+0.01x[n-5]-0.009x[n-6]-0.018x[n-7]-0.049x[n-8]-0.02x[n-9]+0.11x[n-10]+0.28x[n-11]+0.64x[n-12]+0.28x[n-13]-0.11x[n-14]-0.02x[n-15]+0.049x[n-16]-0.018x[n-17]-0.009x[n-18]+0.01x[n-19]-0.002x[n-20]-0.002x[n-21]+0.001x[n-22]
4.4基于DSP5000的电机控制方案设计原理
对PWM控制直流电机的原理及构成的分析,设计一个采用数字信号处理器DSP5000系列结合L298N直流电机驱动器实现对电机的控制器。
控制系统的功能为:
根据键盘设定的电机转速和方向,自动控制电机的转速和正反转,实现电机转速的跟踪,显示,实现电机的手动控制,点动控制,正反转控制。
第五章、程序设计流程图
5.1基于DSP的定时器的系统设计流程图
5.2基于DSP5000系列的有限冲击响应滤波器的系统设计流程图
5.3基于DSP5000的电机控制方案设计流程图
第六章、主要工程文件程序代码
6.1基于DSP的定时器的系统设计主要工程文件代码
1、clk_init.c文件内容
#include"myapp.h"
voidCLK_init()
{ioportunsignedint*clkmd;
clkmd=(unsignedint*)0x1c00;
*clkmd=0x21f3;//0x2033;//0x2413;//144MHz=0x2613}
voidSetDSPPLL(unsignedintuPLL)
{ioportunsignedint*clkmd;
clkmd=(unsignedint*)0x1c00;
*clkmd=uPLL;}
voidTMCR_reset(void)
{ioportunsignedint*TMCR_MGS3=(unsignedint*)0x07FE;
ioportunsignedint*TMCR_MM=(unsignedint*)0x07FF;
*TMCR_MGS3=0x510;
*TMCR_MM=0x000;}
2、main.c文件内容
#include"myapp.h"//定义指示灯寄存器地址和寄存器类型
#defineLBDS(*((unsignedint*)0x400001))
voidINTR_init(void);
voidTIMER_init(void);
intnCount;
main()
{nCount=0;
CLK_init();
SDRAM_init();
LBDS=0;
INTR_init();
TIMER_init();
while
(1){}}
voidinterruptTimer()
{nCount++;nCount%=16;
if(nCount==0)
LBDS^=1;}
voidINTR_init(void)
{IVPD=0xd0;
IVPH=0xd0;
IER0=0x10;
DBIER0=0x10;
IFR0=0xffff;
asm("BCLRINTM");}
voidTIMER_init(void)
{ioportunsignedint*tim0;
ioportunsignedint*prd0;
ioportunsignedint*tcr0;
ioportunsignedint*prsc0;
tim0=(unsignedint*)0x1000;
prd0=(unsignedint*)0x1001;
tcr0=(unsignedint*)0x1002;
prsc0=(unsignedint*)0x1003;
*tcr0=0x04f0;
*tim0=0;
*prd0=0x0ffff;
*prsc0=2;
*tcr0=0x00e0;}
3、ICETEK-VC5509-A.cmd工程文件内容
-w
-stack500
-sysstack500
-lrts55x.lib
MEMORY
{DARAM:
o=0x100,l=0x07f00
VECT:
o=0x0d000,l=0x100
DARAM2:
o=0x0d100,l=0x1f00
SARAM:
o=0x10000,l=0x30000
SDRAM:
o=0x40000,l=0x3e0000}
SECTIONS
{.text:
{}>DARAM
.vectors:
{}>VECT
.trcinit:
{}>DARAM
.gblinit:
{}>DARAM
frt:
{}>DARAM
.cinit:
{}>DARAM
.pinit:
{}>DARAM
.sysinit:
{}>DARAM
.bss:
{}>DARAM2
.far:
{}>DARAM2
.const:
{}>DARAM
.switch:
{}>DARAM
.sysmem:
{}>DARAM
.cio:
{}>DARAM
.MEM$obj:
{}>DARAM
.sysheap:
{}>DARAM
.sysstack{}>DARAM
.stack:
{}>DARAM}
6.2基于DSP5000系列的有限冲击响应滤波器的系统设计主要工程文件代码
1、fir.c工程文件内容
#include"myapp.h"
#include"ICETEK-VC5509-EDU.h"
#include"scancode.h"
#include
#defineFIRNUMBER33
#defineSIGNAL1F1000
#defineSIGNAL2F4500
#defineSAMPLEF10000
#definePI3.1415926
floatInputWave();
floatFIR();
floatfHn[FIRNUMBER]={0.002494178517912,0.0006805543241302,-0.003870283836164,-0.008165619507879,
-0.007330172880412,0.00129585175512,0.01413105008236,0.02142970494199,
0.01323933002194,-0.01165544117543,-0.04031755283788,-0.0494259832874,
-0.01815518553849,0.05691830045762,0.1549724986511,0.2382835156828,
0.2709505092575,0.2382835156828,0.1549724986511,0.05691830045762,
-0.01815518553849,-0.0494259832874,-0.04031755283788,-0.01165544117543,
0.01323933002194,0.02142970494199,0.01413105008236,0.00129585175512,
-0.007330172880412,-0.008165619507879,-0.003870283836164,0.0006805543241302,
0.002494178517912};
floatfXn[FIRNUMBER]={0.0};
floatfInput,fOutput;
floatfSignal1,fSignal2,fSignal3;
floatfStepSignal1,fStepSignal2,fStepSignal3;
floatf2PI;
inti;
floatfIn[256],fOut[256];
intnIn,nOut;
main()
{nIn=0;nOut=0;
f2PI=2*PI;
fSignal1=0.0;
fSignal2=-2*PI*2*0.2;
fSignal3=-2*PI*2*0.36;
fStepSignal1=2*PI*0.08;
fStepSignal2=-2*PI*0.2;
fStepSignal3=2*PI*0.36;
while
(1)
{fInput=InputWave();
fIn[nIn]=fInput;
nIn++;nIn%=256;
fOutput=FIR();
fOut[nOut]=fOutput;
nOut++;/*breakpoint*/
if(nOut>=256)
{
nOut=0;
}
}}
floatInputWave()
{
for(i=FIRNUMBER-1;i>0;i--)
fXn[i]=fXn[i-1];
fXn[0]=sin((double)fSignal1)+sin((double)fSignal2)-cos((double)f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP原理及其应用技术 课程设计 报告要点 DSP 原理 及其 应用技术 报告 要点