1、DSP 应用原理课程设计报告应用原理课程设计报告 郑州航空工业管理学院 电子通信工程系 DSP 原理及应用课程设计报告 设计题目:基于 TMS320F2812 DSP 处理器的信号仪的设计与实现 学号:一、引言 二、设计目的 1、编写串行外设接口 SPI的驱动程序;2、了解数模转换的基本操作,设计基于数模转换芯片 AD7303 的正弦信号发生电路;3、编写 TMS320F2812 利用 SPI接口驱动 AD7303 输出正弦信号波形的应用程序。三、设计要求 四、总体设计 4.1硬件部分 4.1.1数模转换操作的应用基础 利用专用的数模转换芯片,可以实现将数字信号转换成模拟量输出的功能。在EXP
2、IV型实验箱上,使用的是 AD7303 数模芯片,它可以实现同时转换 2路模拟信号数出,并有 8位精度,DA转换时间 1.2s。其控制方式较为简单:首先将需要转换的数值及控制指令同时通过 SPI总线传送到 AD7303 上相应寄存器,经过一个时间延迟,转换后的模拟量就从 AD7303 输出引脚输出。4.1.2 AD7303简介 AD7303是一款双通道、8位电压输出 DAC,采用+2.7 V至+5.5 V单电源供电。它内置片内精密输出缓冲,能够实现轨到轨输出摆幅。这款器件采用多功能三线式串行接口,能够以最高 30MHz 的时钟速率工作,并与 QSPI、SPI、MICROWIRE 以及数字信号处
3、理器接口标准兼容。串行输入寄存器为 16 位,其中 8位用作 DAC 的数据位,其余 8位组成一个控制寄存器。图 1 数字量与输出模拟量换算表 图 2 输入移位寄存器 图 3 AD7303输入移位寄存器位定义及设置方式 4.1.3 应用 AD7303 的 DAC 电路设计 图 4 AD7303电路设计 4.2 软件部分 4.2.1 程序流程图 4.2.2 在 CCS 集成开发环境下新建工程 4.2.3在 Simulator 环境下观察信号的时域及 FFT Magnitude波形 4.2.4 程序清单;*/*-文件信息-;*;*文件名称:Example_DSP281x_da.c ;*适用平台:D
4、SP 专家 4实验箱;*CPU类型:DSP TMS320F2812 ;*软件环境:CCS2.20(2000 系列);*试验接线:1、F2812CPU 板的 JUMP1 的 2和 3脚短接,JUMP2的 1和 2脚短接;;*2、实验箱底板的开关 K9拨到右侧,选择 CPU2.;*试验现象:设置好 CCS 的环境,打开本工程,编译、下载、运行。;*利用示波器观察实验箱 DA单元的二号孔输出 1有正弦波输出。;*地址译码说明:基地址(0 x80000)*/*头文件*/#include DSP281x_Device.h/DSP281x Headerfile Include File#include D
5、SP281x_Examples.h/DSP281x Examples Include File#include math.h#define pi 3.1415926 unsigned int curve128;unsigned int curve1128;unsigned int curve2128;/Prototype statements for functions found within this file./interrupt void ISRTimer2(void);void spi_init(void);/void spi_fifo_init(void);void delay(v
6、oid);void main(void)int i,p,data;/Step 1.Initialize System Control:/PLL,WatchDog,enable Peripheral Clocks/This example function is found in the DSP281x_SysCtrl.c file.InitSysCtrl();/Step 2.Initalize GPIO:/This example function is found in the DSP281x_Gpio.c file and/illustrates how to set the GPIO t
7、o its default state./InitGpio();/Skipped for this example /Setup only the GP I/O only for SPI functionality EALLOW;GpioMuxRegs.GPFMUX.all=0 x000F;/Select GPIOs to be SPI pins /Port F MUX-x000 0000 0000 1111 EDIS;/Step 3.Clear all interrupts and initialize PIE vector table:/Disable CPU interrupts DIN
8、T;/Initialize PIE control registers to their default state./The default state is all PIE interrupts disabled and flags/are cleared./This function is found in the DSP281x_PieCtrl.c file.InitPieCtrl();/Disable CPU interrupts and clear all CPU interrupt flags:IER=0 x0000;IFR=0 x0000;/Initialize the PIE
9、 vector table with pointers to the shell Interrupt /Service Routines(ISR)./This will populate the entire table,even if the interrupt/is not used in this example.This is useful for debug purposes./The shell ISR routines are found in DSP281x_DefaultIsr.c./This function is found in DSP281x_PieVect.c.In
10、itPieVectTable();/Step 4.Initialize all the Device Peripherals:/This function is found in DSP281x_InitPeripherals.c/InitPeripherals();/Not required for this example/spi_fifo_init();/Initialize the Spi FIFO spi_init();/init SPI for(i=0;i128;i+)/*产生 128个点的正弦信号波形*/data=(int)(127.5*(1+sin(2*pi*i/127);cu
11、rvei=data;/*将数据打包成“从移位寄存器到 DAC A数据寄存器*/curve1i=data&0 x00ff|0 x0100;/*将数据打包成“从移位寄存器到 DAC B数据寄存器 且用数据寄存器同时更新 A和 B两个 DA的值*/curve2i=data&0 x00ff|0 x2500;for(;)for(p=0;p128;p+)/*将数据写入 AD7303*/SpiaRegs.SPITXBUF=curve1p;delay();/*将数据写入 AD7303*/SpiaRegs.SPITXBUF=curve2p;delay();void spi_init()SpiaRegs.SPIC
12、CR.bit.SPISWRESET=0;/Reset SCI SpiaRegs.SPICCR.all=0 x000F;/Reset on,rising edge,16-bit char bits SpiaRegs.SPICTL.all=0 x000E;/Enable master mode,normal phase,SpiaRegs.SPISTS.all=0 x0080;/enable talk,and SPI int disabled.SpiaRegs.SPIBRR=0 x0000;/Baud rate;SpiaRegs.SPIPRI.bit.FREE=1;/Set so breakpoin
13、ts dont disturb xmission SpiaRegs.SPICCR.bit.SPISWRESET=1;/Enable SPI void delay(void)/延时子程序 unsigned int k;for(k=0;k50;k+);4.3 调试部分 4.3.1 硬件调试 4.3.2 软件调试 4.3.3 SCI串行数据传输 五、总结 通过本实验的设计,了解了 CCS 集成开发环境的大体使用情况,并会对程序实现跟踪,了解了数模转换的基本操作,并分析了其结果。熟悉了 SPI外设接口的相关知识,能通过 SPI接口与外围电路进行通信。通过这次课程设计,让我对所学的 DSP 课程有了实在的应用,并对其产生了一些兴趣,我会在以后的学习中,继续努力学习!虽然在做的过程中,出现了一些问题,但通过询问老师和同学都得到了解决!六、参考文献 DSP 原理与应用 王忠勇 陈恩庆 电子工业出版社
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1