dsp课程设计实验报告总结.doc_第1页
dsp课程设计实验报告总结.doc_第2页
dsp课程设计实验报告总结.doc_第3页
dsp课程设计实验报告总结.doc_第4页
dsp课程设计实验报告总结.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DSP课程设计总结(2013-2014学年第2学期)题 目 : 专业班级 : 电子1103 学生姓名 : 万 蒙 学 号 : 11052304 指导教师 : 设计成绩 : 2014 年 6 月目 录一 设计目的-3二 系统分析-3三 硬件设计3.1 硬件总体结构-33.2 DSP模块设计-43.3 电源模块设计-43.4 时钟模块设计-53.5 存储器模块设计-63.6 复位模块设计-63.7 JTAG模块设计-7四 软件设计4.1 软件总体流程-74.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_xm = port8002 & 0x00ff;/读取数据 m+; intnum = m;if (intnum = Len) /以256个点为采样周期intnum = 0;xavg = 0.0;for (s=0; sLen; s+)xavg = in_xs + xavg; /归一化处理xavg = xavg/Len;/采样均值for (s=0; sLen; s+)xs = 1.0*(in_xs - xavg); 1. FFT变换void kfft(double prLen,double piLen,int n,int k,double frLen,double fiLen,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; frit=pris; fiit=piis; /序数重排 pr0=1.0; pi0=0.0; p=6.283185306/(1.0*n); pr1=cos(p); pi1=-sin(p); if (l!=0) pi1=-pi1; for (i=2; i=n-1; i+) p=pri-1*pr1; q=pii-1*pi1; s=(pri-1+pii-1)*(pr1+pi1); pri=p-q; pii=s-p-q; for (it=0; it=0; l0-) m=m/2; nv=2*nv; for (it=0; it=(m-1)*nv; it=it+nv) for (j=0; j=(nv/2)-1; j+) p=prm*j*frit+j+nv/2; q=pim*j*fiit+j+nv/2; s=prm*j+pim*j; s=s*(frit+j+nv/2+fiit+j+nv/2); poddr=p-q; poddi=s-p-q; frit+j+nv/2=frit+j-poddr; fiit+j+nv/2=fiit+j-poddi; frit+j=frit+j+poddr; fiit+j=fiit+j+poddi; if (l!=0) for (i=0; i=n-1; i+) fri=fri/(1.0*n); fii=fii/(1.0*n); if (il!=0) for (i=0; i=n-1; i+) pri=sqrt(fri*fri+fii*fii); if (fabs(fri)0) pii=90.0; else pii=-90.0; else pii=atan(fii/fri)*360.0/6.283185306;/pi为相位 2. 计算频率void cf(double fLen) double max; int no=0; max=f0; for(i=0;imax) max=fi;/max为最大幅值 no=i;/最大幅值处对应序数 fstop=no*fs/256;3. FIR滤波void firdes(double npass /求出窗口函数h int t; for (t=0; tFLen; t+) ht = sin(t-(FLen-1)/2.0)*npass*pai)/(pai*(t-(FLen-1)/2.0); if (t = (FLen-1)/2) ht=npass; /作卷积for (s=0; sLen; s+)xs = 1.0*(in_xs - xavg);prs = xs; /输入实部pis = 0; /输入虚部for (p=0; pFLen; p+) xmidFLen-p-1 = xmidFLen-p-2; xmid0 = xs;r = 0;rm= 0; for (j=0; jFLen; j+) r = xmidj * hj;rm = rm + r; ys = rm;4. LCD显示SendCMD(CLEAR); showperson(); Delay(1); /- SendCMD(CLEAR); SendCMD(0x0080); /设定DDRAM的地址在第一行 80H delay_100us(); for(i =0;i16;i+) SendDat(data_buff3i); delay_100us(); asm( nop );asm( nop ); SendCMD(0x0090); shownum(f1); /- SendCMD(0x0088); /设定DDRAM的地址在第二行 90H delay_100us(); for(i =0;i16;i+) SendDat(data_buff4i); delay_100us(); SendCMD(0x0098); shownum(f2);4.3 软件实验效果图1.去直流2.滤波前fft3.滤波后fft4.窗口函数 五 课程设计总结 在为期两个多星期的综合设计中,重新熟悉了一下AD和CCS软件的操作 。在画原理图时,各元件的连接及封装形式都应参照手册。只有深刻了解各管脚的功能,才能准确快速地画好原理图。画好原理图后,要先编译一下看是否有连接错误。如果原理图有所改变,可以在PCB中重新导入。如果元器件管脚或IO引脚变绿,可能是间距违反了规定的rule。可以将rule里的间距改小一点。在pcb连线过程中,我发现 移动clk时钟器件,其管脚变绿,但rule并无问题。后经查阅资料,取消了Drc功能,才恢复正常。在连接滤波电容时,将滤波电容靠近其滤波元器件。 在软件设计过程中,前两天一直没有搞清楚设计要求,进展缓慢。首先了结了一下各个模块程序的输入输出变量的含义,只有 这样才能正确地调用各个函数。在计算频率时,其实我只计算了一个频率。输入是一个混频信号,由于左右对称,在128点内可得到两个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论