dsp课程设计实验报告总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DSP课程设计总结(2013-2014学年第2学期)

题目:

专业班级:电子1103

学生姓名:万蒙

学号:11052304

指导教师:

设计成绩:

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设计要求

硬件要求:

(1)使用TMS320VC5416作为核心芯片。

(2)具有最简单的led控制功能。

(3)具有存放程序的外部Flash芯片。

(4)外部输入+5V电源。

(5)绘制出系统的功能框图。

(6)使用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; s

{

xavg = in_x[s] + xavg; //归一化处理}

xavg = xavg/Len;//采样均值

for (s=0; s

{

x[s] = 1.0*(in_x[s] - xavg);

}

1.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];

相关文档
最新文档