1、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)学习用C54x DSP芯片产生正弦信号的基本方法和
2、步骤。实验三:(1)了解数字图象处理的基本原理;(2)学习灰度图象二值化处理技术;(3)学习灰度图象反色处理技术。实验四:(1)了解DSP的图形处理功能;掌握CCS的图形观察功能;(2)学会简单的二维图形生成编程。二、 正文实验一:1 实验设备计算机,CCS 2.0版软件,DSP仿真器,实验箱,示波器。2实验步骤 (1) 系统连接 进行dsp实验之前,先必须连接好仿真器、试验箱及计算机。(2) 上电复位 在硬件安装完成后,确认安装正确、各实验部件及电源连接正常后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应该是亮的,否则说明dsp开发系统与计算机连接有问题。 (3) 运行CCS程
3、序 待计算机启动成功后,实验箱上电,启动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)新建源文件:FileNewSource File,保存为xf.c到上述文件
4、夹下。(7)把上述红色字体的文件添加到工程中去:ProjectAdd Files to(注意:头文件.h文件是不能直接添加的,需要在c文件中include才能出现在工程中)(8)编写程序xf.c,完成后再修改中断向量文件vectors.asm,点击工具Compile,如果没有问题,则点击Build(构建),在Debug文件夹下生成.out文件(9)上述无误后,点击FileLoad Program,下载.out文件,接着点击Run按钮,观察实验结果单击“Run”运行程序一次,然后取消运行。打开一个图形观察窗口,以观察程序产生的波形。设置观察窗口参数,起始地址为data_buff,长度为256,1
5、6位整型(10)、 然后单击“Run”全速运行程序。用示波器检测“D/A转换单元的的2号孔接口“输出1”输出一个正弦波;程序代码/-头文件-/#include MMRegs.h#include DspRegDefine.h /VC5402 寄存器定义#include math.h/-/* * 宏定义 */#define UCHAR unsigned char#define UINT16 unsigned int#define UINT32 unsigned long#define TRUE 1#define FALSE 0#define pi 3.1415926#define LEN 256/
6、- 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-/- /-/* 端口定义 */-ioport UINT16 port8001; /定义输出io端口为0x8001;/-/-/* 全局变量定义 */-int data_buffLEN; /数据缓冲UINT16 show = 0x00aa; /LED显示的数值 /* * 所使用的函数原型 */void cpu_init(void); /初始化CPUvoid Delay(UINT16 number
7、s); /延迟extern void delay_3us(void); /3us延迟void mcbsp0_write_rdy(UINT16 out_data);/MCBSP0发送一个数据void mcbsp0_init_SPI(void);/MCBSP0设置为SPI模式void mcbsp0_close(void);/MCBSP0关闭/-/* * 函数定义 */-/ 函数名称 : void cpu_init(void)/ 函数说明 : 初始化CPU/ 输入参数 : 无/ 输出参数 : 无/-void cpu_init(void) asm( nop ); asm( nop ); asm( no
8、p );/- /CLKMD DEFINITIONS: / PLLMUL (bit 15-12) - 0000 PLL multiplier = 0 (mult by 1)/ PLLDIV (bit 11) - 0 PLL divider = 0 (div by 1)/ PLLCOUNT (bit 10-3)- 11111111 PLL counter set to max/ PLLONOFF (bit 2) - 1 PLL on/ PLLNDIV (bit 1) - 1 Select PLL mode/ PLLSTATUS (bit 1) - x PLL Status (read only)/
9、 -/ 0000011111111111 = 0x07ff CLKMD=1 X CLKIN/- *(unsigned int*)CLKMD=0x0; /switch to DIV mode clkout= 1/2 clkin while(*(unsigned int*)CLKMD)&01)!=0); *(unsigned int*)CLKMD=0x37ff; /switch to PLL X 4 mode /-/ ST0 DEFINITIONS:/ ARP (bit 15-13) - 000 Auxiliary register pointer/ TC (bit 12) - 1 Test/co
10、ntrol flag/ C (bit 11) - 1 Carry is set to 1 if the result of an addition generates a carry; it is cleared to 0 if the/ result of a subtraction generates a borrow./ OVA (bit 10) - 0 Overflow flag for accumulator A/ OVB (bit 9) - 0 Overflow flag for accumulator B/ DP (bit 8-0) - 00000000 Data-memory page pointer/ -/ 0001 1000 0000 0000 =0x1800 Reset value/-/ *
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1