dsp实验.docx

上传人:b****3 文档编号:2145816 上传时间:2022-10-27 格式:DOCX 页数:57 大小:262.99KB
下载 相关 举报
dsp实验.docx_第1页
第1页 / 共57页
dsp实验.docx_第2页
第2页 / 共57页
dsp实验.docx_第3页
第3页 / 共57页
dsp实验.docx_第4页
第4页 / 共57页
dsp实验.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

dsp实验.docx

《dsp实验.docx》由会员分享,可在线阅读,更多相关《dsp实验.docx(57页珍藏版)》请在冰豆网上搜索。

dsp实验.docx

dsp实验

北京化工大学北方学院

课程设计报告

课程名称DSP原理与应用

设计题目D/A转换实验、数字波形产生、

数字图像处理、二维图形生成

专业、班级*******&&……&*%&¥&¥

学号%……&……&¥¥

姓名Y&$%^^

指导教师&%……&¥&¥

设计时间2011年9月26号

2011年9月26日

一、引言

1实验目的

实验一:

(1)熟悉D/A转换的基本原理;

(2)掌握AD7303的技术指标和常用方法;

(3)熟悉DSP的多通道缓冲串口配置为SPI的应用方法;

(4)掌握并熟练使用DSP和AD7303的接口及其操作。

实验二:

(1)了解数字波形产生的基本原理

(2)学习用C54xDSP芯片产生正弦信号的基本方法和步骤。

实验三:

(1)了解数字图象处理的基本原理;

(2)学习灰度图象二值化处理技术;

(3)学习灰度图象反色处理技术。

实验四:

(1)了解DSP的图形处理功能;掌握CCS的图形观察功能;

(2)学会简单的二维图形生成编程。

二、正文

实验一:

1实验设备

计算机,CCS2.0版软件,DSP仿真器,实验箱,示波器。

2实验步骤

(1)系统连接

进行dsp实验之前,先必须连接好仿真器、试验箱及计算机。

(2)上电复位

在硬件安装完成后,确认安装正确、各实验部件及电源连接正常后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应该是亮的,否则说明dsp开发系统与计算机连接有问题。

(3)运行CCS程序

待计算机启动成功后,实验箱上电,启动CCS,此时仿真器上的“绿色小灯”应点亮,CCS正常启动,证明系统连接正常;否则仿真器的连接、JTAG接口存在问题。

关掉实验箱电源,检查仿真器的连接、JTAG接口连接。

(4)新建工程:

ProjectNew给工程起名xf,放在E盘xf文件夹。

(5)把E盘dsp_usb文件夹下的“DSP常用文件”下的“EXP06-AD”文件中的vectors.asm、tms320uc5402.h、tms320uc5402.cmd、RTS.LIB文件拷贝至刚才工程文件pjt所在文件夹下。

(6)新建源文件:

FileNewSourceFile,保存为xf.c到上述文件夹下。

(7)把上述红色字体的文件添加到工程中去:

ProjectAddFilesto…(注意:

头文件.h文件是不能直接添加的,需要在c文件中include才能出现在工程中)

(8)编写程序xf.c,完成后再修改中断向量文件vectors.asm,点击工具Compile,如果没有问题,则点击Build(构建),在Debug文件夹下生成.out文件

(9)上述无误后,点击FileLoadProgram,下载.out文件,接着点击Run按钮,观察实验结果

单击“Run”运行程序一次,然后取消运行。

打开一个图形观察窗口,以观察程序产生的波形。

设置观察窗口参数,起始地址为data_buff,长度为256,16位整型

(10)、然后单击“Run”全速运行程序。

用示波器检测“D/A转换单元的的2号孔接口“输出1”输出一个正弦波;

 

程序代码

//------------------头文件--------------------------------------

//#include"MMRegs.h"

#include"DspRegDefine.h"//VC5402寄存器定义

#include"math.h"

//---------------------------------------------------------------

/*******************宏定义***************

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

*/

#defineUCHARunsignedchar

#defineUINT16unsignedint

#defineUINT32unsignedlong

#defineTRUE1

#defineFALSE0

#definepi3.1415926

#defineLEN256

//---------------AD7303控制字--------------------------------

//15--------14-------13-----12-----11-----10------9-------8-----

//INT/EXT---X--------LDAC---PDB---PDA-----A/B-----CR1-----CR0---

//参考电压--保留-----B省电--A省电----0/A-1/B-

//-------------------------------------------------------------

//---------------------------------------------------------

/*端口定义*/

//---------------------------------------------------------

ioportUINT16port8001;//定义输出io端口为0x8001;

//----------------------------------------------------------

 

//----------------------------------------------------------

/*全局变量定义*/

//---------------------------------------------------------

intdata_buff[LEN];//数据缓冲

UINT16show=0x00aa;//LED显示的数值

/*

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

***************所使用的函数原型*****************

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

*/

voidcpu_init(void);//初始化CPU

voidDelay(UINT16numbers);//延迟

externvoiddelay_3us(void);//3us延迟

voidmcbsp0_write_rdy(UINT16out_data);//MCBSP0发送一个数据

voidmcbsp0_init_SPI(void);//MCBSP0设置为SPI模式

voidmcbsp0_close(void);//MCBSP0关闭

 

//-------------------------------------------------------------------

/*

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

***********************函数定义******************

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

*/

//--------------------------------------------------------------------

//函数名称:

voidcpu_init(void)

//函数说明:

初始化CPU

//输入参数:

//输出参数:

//--------------------------------------------------------------------

voidcpu_init(void)

{

asm("nop");

asm("nop");

asm("nop");

//-------------------------------------------------------------------

//CLKMDDEFINITIONS:

//PLLMUL(bit15-12)-0000PLLmultiplier=0(multby1)

//PLLDIV(bit11)-0PLLdivider=0(divby1)

//PLLCOUNT(bit10-3)-11111111PLLcountersettomax

//PLLONOFF(bit2)-1PLLon

//PLLNDIV(bit1)-1SelectPLLmode

//PLLSTATUS(bit1)-xPLLStatus(readonly)

//------------------

//0000011111111111=0x07ffCLKMD=1XCLKIN

//--------------------------------------------------------------------

*(unsignedint*)CLKMD=0x0;//switchtoDIVmodeclkout=1/2clkin

while(((*(unsignedint*)CLKMD)&01)!

=0);

*(unsignedint*)CLKMD=0x37ff;//switchtoPLLX4mode

//--------------------------------------------------------------------

//ST0DEFINITIONS:

//ARP(bit15-13)-000Auxiliaryregisterpointer

//TC(bit12)-1Test/controlflag

//C(bit11)-1Carryissetto1iftheresultofanadditiongeneratesacarry;itisclearedto0ifthe

//resultofasubtractiongeneratesaborrow.

//OVA(bit10)-0OverflowflagforaccumulatorA

//OVB(bit9)-0OverflowflagforaccumulatorB

//DP(bit8-0)-00000000Data-memorypagepointer

//--------------------

//0001100000000000=0x1800Resetvalue

//--------------------------------------------------------------------

//*

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

当前位置:首页 > 农林牧渔 > 林学

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

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