DSP应用原理课程设计基于TMS320F2812DSP处理器的信号仪的设计与实现

上传人:鲁** 文档编号:431190820 上传时间:2022-09-18 格式:DOC 页数:10 大小:285.50KB
返回 下载 相关 举报
DSP应用原理课程设计基于TMS320F2812DSP处理器的信号仪的设计与实现_第1页
第1页 / 共10页
DSP应用原理课程设计基于TMS320F2812DSP处理器的信号仪的设计与实现_第2页
第2页 / 共10页
DSP应用原理课程设计基于TMS320F2812DSP处理器的信号仪的设计与实现_第3页
第3页 / 共10页
DSP应用原理课程设计基于TMS320F2812DSP处理器的信号仪的设计与实现_第4页
第4页 / 共10页
DSP应用原理课程设计基于TMS320F2812DSP处理器的信号仪的设计与实现_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《DSP应用原理课程设计基于TMS320F2812DSP处理器的信号仪的设计与实现》由会员分享,可在线阅读,更多相关《DSP应用原理课程设计基于TMS320F2812DSP处理器的信号仪的设计与实现(10页珍藏版)》请在金锄头文库上搜索。

1、郑州航空工业管理学院电子通信工程系DSP原理及应用课程设计报告设计题目:基于TMS320F2812 DSP处理器的信号仪的设计与实现一、 引言二、设计目的1、编写串行外设接口SPI的驱动程序;2、了解数模转换的根本操作,设计基于数模转换芯片AD7303的正弦信号发生电路;3、编写TMS320F2812利用SPI接口驱动AD7303输出正弦信号波形的应用程序。三、设计要求四、总体设计s。其控制方式较为简单:首先将需要转换的数值及控制指令同时通过SPI总线传送到AD7303上相应存放器,经过一个时间延迟,转换后的模拟量就从AD7303输出引脚输出。4.1.2 AD7303简介AD7303是一款双通

2、道、8位电压输出DAC,采用+2.7 V至+5.5 V单电源供电。它内置片内精密输出缓冲,能够实现轨到轨输出摆幅。这款器件采用多功能三线式串行接口,能够以最高30MHz的时钟速率工作,并与QSPI、SPI、MICROWIRE以及数字信号处理器接口标准兼容。串行输入存放器为16位,其中8位用作DAC的数据位,其余8位组成一个控制存放器。图1 数字量与输出模拟量换算表图2 输入移位存放器图3AD7303输入移位存放器位定义及设置方式4.1.3 应用AD7303的DAC电路设计图4 AD7303电路设计4.2 软件局部4.2.1 程序流程图处理器上电复位CPU及串行外设接口初始化产生128个点的正弦

3、信号波形按AD7303输入移位存放器的位定义,传输数据,进行数模转换双路波形输出4.2.2 在CCS集成开发环境下新建工程 4.2.3在Simulator环境下观察信号的时域及FFT Magnitude波形4.2.4 程序清单;*/*- 文件信息 - ;* ;* 文件名称 : Example_DSP281x_da.c ;* 适用平台 : DSP专家4实验箱;* CPU类型 : DSP TMS320F2812 ;* 软件环境 : CCS2.20 (2000系列);* 试验接线 : 1、F2812CPU板的JUMP1的2和3脚短接,JUMP2的1和2脚短接;;* 2、实验箱底板的开关K9拨到右侧,

4、选择CPU2.;* 试验现象 : 设置好CCS的环境,翻开本工程,编译、下载、运行。;* 利用示波器观察实验箱DA单元的二号孔输出1有正弦波输出。;* 地址译码说明:基地址0x80000 */ /*头文件*/#include DSP281x_Device.h / DSP281x Headerfile Include File#include DSP281x_Examples.h / DSP281x Examples Include File#include math.hunsigned int curve128; unsigned int curve1128; unsigned int cur

5、ve2128;/ Prototype statements for functions found within this file./ interrupt void ISRTimer2(void);void spi_init(void);/void spi_fifo_init(void);void delay(void); void main(void) int i,p,data;/ Step 1. Initialize System Control:/ PLL, WatchDog, enable Peripheral Clocks/ This example function is fou

6、nd 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 to its default state./ InitGpio(); / Skipped for this example / Setup only the GP I/O only for SPI functionality EALLOW; GpioMuxR

7、egs.GPFMUX.all=0x000F;/ 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 DINT;/ Initialize PIE control registers to their default state./ The default state is all PIE interrupts disabled and fl

8、ags/ are cleared. / This function is found in the DSP281x_PieCtrl.c file. InitPieCtrl();/ Disable CPU interrupts and clear all CPU interrupt flags: IER = 0x0000; IFR = 0x0000; / Initialize the PIE vector table with pointers to the shell Interrupt / Service Routines (ISR). / This will populate the en

9、tire 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. InitPieVectTable();/ Step 4. Initialize all the Device Peripherals:/ InitPeripherals(); / Not re

10、quired 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); curvei=data; /*将数据打包成“从移位存放器到DAC A数据存放器*/ curve1i=data&0x00ff|0x0100; /*将数据打包成“从移位存放器到DAC B数据存放器 且用数据存放器同时更新A和B两个DA的值*/ curve2i=data&0x

11、00ff|0x2500; for(;) for(p=0;p128;p+) /*将数据写入AD7303*/ SpiaRegs.SPITXBUF=curve1p; delay(); /*将数据写入AD7303*/ SpiaRegs.SPITXBUF=curve2p; delay(); void spi_init() SpiaRegs.SPICCR.bit.SPISWRESET=0; / Reset SCISpiaRegs.SPICCR.all =0x000F; / Reset on, rising edge, 16-bit char bits SpiaRegs.SPICTL.all =0x000E

12、; / Enable master mode, normal phase, SpiaRegs.SPISTS.all=0x0080; / enable talk, and SPI int disabled.SpiaRegs.SPIBRR =0x0000; / Baud rate; SpiaRegs.SPIPRI.bit.FREE = 1; / Set so breakpoints 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课程有了实在的应用,并对其产生了一些兴趣,我会在以后的学习中,继续努力学习!虽然在做的过程中,出现了一些问题,但通过询问老师和同学都得到了解决!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号