DSP应用原理课程设计报告1Word下载.docx

上传人:b****8 文档编号:22364994 上传时间:2023-02-03 格式:DOCX 页数:9 大小:262.38KB
下载 相关 举报
DSP应用原理课程设计报告1Word下载.docx_第1页
第1页 / 共9页
DSP应用原理课程设计报告1Word下载.docx_第2页
第2页 / 共9页
DSP应用原理课程设计报告1Word下载.docx_第3页
第3页 / 共9页
DSP应用原理课程设计报告1Word下载.docx_第4页
第4页 / 共9页
DSP应用原理课程设计报告1Word下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

DSP应用原理课程设计报告1Word下载.docx

《DSP应用原理课程设计报告1Word下载.docx》由会员分享,可在线阅读,更多相关《DSP应用原理课程设计报告1Word下载.docx(9页珍藏版)》请在冰豆网上搜索。

DSP应用原理课程设计报告1Word下载.docx

2、了解数模转换的基本操作,设计基于数模转换芯片AD7303的正弦信号发生电路;

3、编写TMS320F2812利用SPI接口驱动AD7303输出正弦信号波形的应用程序。

二、设计要求

用DSP2812做一个简单的应用电路

三、总体设计

3.1硬件部分

3.1.1数模转换操作的应用基础

利用专用的数模转换芯片,可以实现将数字信号转换成模拟量输出的功能。

在EXPIV型实验箱上,使用的是AD7303数模芯片,它可以实现同时转换2路模拟信号数出,并有8位精度,DA转换时间1.2μs。

其控制方式较为简单:

首先将需要转换的数值及控制指令同时通过SPI总线传送到AD7303上相应寄存器,经过一个时间延迟,转换后的模拟量就从AD7303输出引脚输出。

3.1.2AD7303简介

AD7303是一款双通道、8位电压输出DAC,采用+2.7V至+5.5V单电源供电。

它内置片内精密输出缓冲,能够实现轨到轨输出摆幅。

这款器件采用多功能三线式串行接口,能够以最高30MHz的时钟速率工作,并与QSPI、SPI、MICROWIRE以及数字信号处理器接口标准兼容。

串行输入寄存器为16位,其中8位用作DAC的数据位,其余8位组成一个控制寄存器。

3.1.3应用AD7303的DAC电路设计

图4AD7303电路设计

3.2软件部分

3.2.1程序流程图

3.2.2在CCS集成开发环境下新建工程

3.2.3在Simulator环境下观察信号的时域及FFTMagnitude波形

3.2.4程序清单

;

*************************************************************/

/*-----------------------文件信息----------------------------

*

*文件名称:

Example_DSP281x_da.c

*适用平台:

DSP专家4实验箱

*CPU类型:

DSPTMS320F2812

*软件环境:

CCS2.20(2000系列)

*试验接线:

1、F2812CPU板的JUMP1的2和3脚短接,JUMP2的1和2脚短接;

*2、实验箱底板的开关K9拨到右侧,选择CPU2.

*试验现象:

设置好CCS的环境,打开本工程,编译、下载、运行。

*利用示波器观察实验箱DA单元的二号孔"

输出1"

有正弦波输出。

*地址译码说明:

基地址(0x80000)

*/

/***************************头文件*******************************/

#include"

DSP281x_Device.h"

DSP281x_Examples.h"

math.h"

#definepi3.1415926

unsignedintcurve[128];

unsignedintcurve1[128];

unsignedintcurve2[128];

voidspi_init(void);

voiddelay(void);

voidmain(void)

{

inti,p,data;

EALLOW;

GpioMuxRegs.GPFMUX.all=0x000F;

EDIS;

DINT;

InitPieCtrl();

IER=0x0000;

IFR=0x0000;

InitPieVectTable();

spi_init();

for(i=0;

i<

128;

i++)

{

data=(int)(127.5*(1+sin(2*pi*i/127)));

curve[i]=data;

curve1[i]=data&

0x00ff|0x0100;

且用数据寄存器同时更新A和B两个DA的值*/

curve2[i]=data&

0x00ff|0x2500;

}

for(;

;

{

for(p=0;

p<

p++)

{

SpiaRegs.SPITXBUF=curve1[p];

delay();

SpiaRegs.SPITXBUF=curve2[p];

}

}

}

voidspi_init()

{

SpiaRegs.SPICCR.bit.SPISWRESET=0;

//ResetSCI

SpiaRegs.SPICCR.all=0x000F;

SpiaRegs.SPICTL.all=0x000E;

SpiaRegs.SPISTS.all=0x0080;

SpiaRegs.SPIBRR=0x0000;

SpiaRegs.SPICCR.bit.SPISWRESET=1;

}

voiddelay(void)

{

unsignedintk;

for(k=0;

k<

50;

k++);

}

四、总结

通过本实验的设计,了解了CCS集成开发环境的大体使用情况,并会对程序实现跟踪,了解了数模转换的基本操作,并分析了其结果。

熟悉了SPI外设接口的相关知识,能通过SPI接口与外围电路进行通信。

通过这次课程设计,让我对所学的DSP课程有了实在的应用,并对其产生了一些兴趣,我会在以后的学习中,继续努力学习!

虽然在做的过程中,出现了一些问题,但通过询问老师和同学都得到了解决!

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

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

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

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