dsp课程设计实验报告总结.docx
文本预览下载声明
PAGE
PAGE \* MERGEFORMAT 15
DSP课程设计总结
(2013-2014学年第2学期)
题 目 :
专业班级 : 电子1103
学生姓名 : 万 蒙
学 号 :
指导教师 :
设计成绩 :
2014 年 6 月
目 录
一 设计目的3
二 系统分析3
三 硬件设计
3.1 硬件总体结构3
3.2 DSP模块设计4
3.3 电源模块设计4
3.4 时钟模块设计5
3.5 存储器模块设计6
3.6 复位模块设计6
3.7 JTAG模块设计7
四 软件设计
4.1 软件总体流程7
4.2 核心模块及实现代码8
五 课程设计总结14
设计目的
设计一个功能完备,能够独立运行的精简DSP硬件系统,并设计简单的DSP控制程序。
系统分析
1.1设计要求
硬件要求:
使用TMS320VC5416作为核心芯片。
具有最简单的led控制功能。
具有存放程序的外部Flash芯片。
外部输入+5V电源。
绘制出系统的功能框图。
使用AD(Altium Designer)绘制出系统的原理图和PCB版图。
软件要求:
利用实验箱的模拟信号产生单元产生不同频率的信号,或者产生两个频率的信号的叠加。在DSP中采集信号,并且对信号进行频谱分析,滤波等。通过键盘选择算法的功能,将计算的信号频率或者滤波后信号的频率在LCD上显示。
硬件设计
3.1 硬件总体结构
3.2 DSP总体结构
3.3 电源模块设计
3.4 时钟模块设计
3.5 存储器模块设计
3.6复位模块设计
3.7 JTAG模块设计
硬件设计
4.1 软件总体流程
4.2核心模块及实现代码
1.采集数据去直流
in_x[m] = port8002 0x00ff;//读取数据
m++;
intnum = m;
if (intnum == Len) //以256个点为采样周期
{
intnum = 0;
xavg = 0.0;
for (s=0; sLen; s++)
{
xavg = in_x[s] + xavg; //归一化处理
}
xavg = xavg/Len;//采样均值
for (s=0; sLen; s++)
{
x[s] = 1.0*(in_x[s] - xavg);
}
FFT变换
void kfft(double pr[Len],double pi[Len],int n,int k,double fr[Len],double fi[Len],int l,int il) //pr为实部,pi为虚部,k为蝶形运算级数
{
int it,m,is,i,j,nv,l0;
double p,q,s,vr,vi,poddr,poddi;
for (it=0; it=n-1; it++)
{ m=it; is=0;
for (i=0; i=k-1; i++)
{ j=m/2; is=2*is+(m-2*j); m=j;}
fr[it]=pr[is]; fi[it]=pi[is]; //序数重排
}
pr[0]=1.0; pi[0]=0.0;
p=6.283185306/(1.0*n);
pr[1]=cos(p); pi[1]=-sin(p);
if (l!=0) pi[1]=-pi[1];
for (i=2; i=n-1; i++)
{ p=pr[i-1]*pr[1]; q=pi[i-1]*pi[1];
s=(pr[i-1]+pi[i-1])*(pr[1]+pi[1]);
pr[i]=p-q; pi[i]=s-p-q;
}
for (it=0; it=n-2; it=it+2)
{ vr=fr[it]; vi=fi[it];
fr[it]=vr+fr[it+1]; fi[it]=vi+fi[it+1];
fr[it+1]=vr-fr[it+1]; fi[it+1]=vi-fi[it+1];
}
m=n/2; nv=2;
for (l0=k-2; l0=0; l0
显示全部