DSP课程设计报告数据采集处理和控制系统设计.docx

上传人:b****4 文档编号:1038652 上传时间:2022-10-15 格式:DOCX 页数:22 大小:472.53KB
下载 相关 举报
DSP课程设计报告数据采集处理和控制系统设计.docx_第1页
第1页 / 共22页
DSP课程设计报告数据采集处理和控制系统设计.docx_第2页
第2页 / 共22页
DSP课程设计报告数据采集处理和控制系统设计.docx_第3页
第3页 / 共22页
DSP课程设计报告数据采集处理和控制系统设计.docx_第4页
第4页 / 共22页
DSP课程设计报告数据采集处理和控制系统设计.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

DSP课程设计报告数据采集处理和控制系统设计.docx

《DSP课程设计报告数据采集处理和控制系统设计.docx》由会员分享,可在线阅读,更多相关《DSP课程设计报告数据采集处理和控制系统设计.docx(22页珍藏版)》请在冰豆网上搜索。

DSP课程设计报告数据采集处理和控制系统设计.docx

DSP课程设计报告数据采集处理和控制系统设计

数据采集处理和控制系统设计

一课程设计要求

1.基本DSP硬件系统设计要求

①基本DSP硬件系统以TMS320C54x系列为核心处理器,包括最小系统、存储器扩展、显示器、键盘、AD、DA等电路模块;

②硬件设计画出主要芯片及电路模块之间的连接即可,重点考查电路模块方案设计与系统地址分配;

③设计方案以电路示意图为主,辅以必要的文字说明。

2.基本软件设计要求

①看懂所给例程,画出例程输出波形示意图;

②修改例程程序,使之输出其它波形,如方波、三角波、锯齿波等均可;

③设计方案以程序实现为主,辅以必要的文字说明。

3.课程设计报告要求

①硬件系统设计:

设计思路、设计系统功能、主要芯片选型及使用方法、设计方案说明、电路示意图

②软件系统设计:

示例程序功能解读及输出波形示意图、设计软件功能、设计思路、实现源码(带程序注释)

③报告总结

二系统分析

利用实验箱的模拟信号产生单元产生不同频率的信号,或者产生两个频率的信号的叠加。

在DSP中采集信号,并且对信号进行频谱分析,滤波等。

通过键盘或者串口命令选择算法的功能,将计算的信号频率或者滤波后信号的频率在LCD上显示。

主要功能如下:

(1)对外部输入的模拟信号采集到DSP内存,会用CCS软件显示采集的数据波形。

(2)对采集的数据进行如下算法分析:

①频谱分析:

使用fft算法计算信号的频率。

②对信号进行IIR滤波或FIR滤波,并且计算滤波前后信号的频率。

③外部键盘或者从计算机来的串口命令选择算法功能,并且将结果在LCD上显示。

绘制出DSP系统的功能框图、使用AD(AltiumDesigner)绘制出系统的原理图和PCB版图。

在DSP中采集信号,用CCS软件显示采集的数据波形,以及对采集的数据进行算法分析。

三硬件设计

3.1硬件总体结构

3.2DSP模块设计

3.3电源模块设计

将5V电源电压转换为3.3V和1.6V电源

3.4时钟模块设计

此处由外部晶振提供时钟信号

3.5存储器模块设计

DSP上只有一个读写控制信号引脚,而FLASH有两个引脚,将读、写分开,故在OE上接一个非门电路,实现高时读,低时写。

FLASH上的地址线和数据线与DSP上的地址线、数据线相连

3.6JATG模块设计

3.7TMS320VC5416最小系统PCB版图

板上包括了支持TMS320VC5416独立运行的时钟电路、复位电路、Flash模块、JTAG仿真接口电路以及电源模块等。

为节省空间和材料,部分器件放在了反面。

四软件设计

4.1正弦波信号发生器

所给例程输出波形为正弦波,波形如下图所示:

4.2三角波(方波)信号发生器

********************************************************************

****************三角波信号发生程序(括号内为方波)******************

********************************************************************

.mmregs

.defstart

k1.usect"k",1

outdata1.set0800h(0800h)

outdata2.set09ffh(0fffh)

outdata3.set0affh(0fffh)

outdata4.set0bffh(0fffh)

outdata5.set0cffh(0fffh)

outdata6.set0dffh(0fffh)

outdata7.set0effh(0fffh)

outdata8.set0fffh(0fffh)

outdata9.set1000h(0fffh)

outdata10.set0fffh(0fffh)

outdata11.set0effh(0fffh)

outdata12.set0dffh(0fffh)

outdata13.set0cffh(0fffh)

outdata14.set0bffh(0fffh)

outdata15.set0affh(0fffh)

outdata16.set09ffh(0fffh)

outdata17.set08ffh(0800h)

outdata18.set07ffh(0000h)

outdata19.set06ffh(0000h)

outdata20.set05ffh(0000h)

outdata21.set04ffh(0000h)

outdata22.set03ffh(0000h)

outdata23.set02ffh(0000h)

outdata24.set01ffh(0000h)

outdata25.set00ffh(0000h)

outdata26.set01ffh(0000h)

outdata27.set02ffh(0000h)

outdata28.set03ffh(0000h)

outdata29.set04ffh(0000h)

outdata30.set05ffh(0000h)

outdata31.set06ffh(0000h)

outdata32.set07ffh(0000h)

//定义输出数据

 

.text

start:

stm2000h,sp

//置堆栈指针

stm#k1,ar2

//将操作数#k1装入ar2

st#outdata1,*ar2

//将数据送到*ar2

nop

nop

begin:

st#outdata1,*ar2

portw*ar2,0bfffh

//将*ar2内容从D/A转换器输出

rpt#7fffh

//等待一段时间

nop

st#outdata2,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata3,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata4,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata5,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata6,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata7,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata8,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata9,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata10,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata11,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata12,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata13,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata14,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata15,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata16,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata17,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata18,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata19,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata20,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata21,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata22,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata23,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata24,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata25,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata26,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata27,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata28,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata29,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata30,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata31,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

st#outdata32,*ar2

portw*ar2,0bfffh

rpt#7fffh

nop

bbegin

//循环输出32个数据

.end

//代码段结束

 

4.3本系统软件总体流程

 

4.4核心模块及实现代码

FFT算法程序:

voidkfft(doublepr[Length],doublepi[Length],intn,intk,doublefr[Length],doublefi[Length],intl,intil)

{

intit,m,is,i,j,nv,l0;

doublep,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.6/(1.0*n);

pr[1]=cos(p);pi[1]=-sin(p);

if(l!

=0)pi[1]=-pi[1];

for(i=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1