收藏 分享(赏)

基于TMS320F2812_DSP处理器的信号仪的设计与实现new.doc

上传人:dreamzhangning 文档编号:2608461 上传时间:2018-09-23 格式:DOC 页数:15 大小:412KB
下载 相关 举报
基于TMS320F2812_DSP处理器的信号仪的设计与实现new.doc_第1页
第1页 / 共15页
基于TMS320F2812_DSP处理器的信号仪的设计与实现new.doc_第2页
第2页 / 共15页
基于TMS320F2812_DSP处理器的信号仪的设计与实现new.doc_第3页
第3页 / 共15页
基于TMS320F2812_DSP处理器的信号仪的设计与实现new.doc_第4页
第4页 / 共15页
基于TMS320F2812_DSP处理器的信号仪的设计与实现new.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、郑州航空工业管理学院电子通信工程系DSP 原理及应用课程设计报告设计题目:基于 TMS320F2812 DSP 处理器的信号仪的设计与实现学号: 姓名: 专业: 通信工程 设计日期: 2012 年 6 月 14 日 指导老师: 赵成 张松炜 目 录一、引言二、设计目的三、设计要求四、总体设计4.1 硬件部分4.1.1 数模转换操作的应用基础4.1.2 AD7303 简介4.1.3 应用 AD7303 的 DAC 电路设计4.2 软件部分4.2.1 程序流程图4.2.2 在 CCS 集成开发环境下新建工程4.2.3 在 Simulator 环境下观察信号的时域及 FFT Magnitude 波形

2、4.2.4 程序清单4.3 调试部分4.3.1 硬件调试4.3.2 软件调试4.3.3 SCI 串行数据传输(选做)五、总结六、参考文献一、引言随着现代科学技术的发展和计算机技术的普及,信号处理系统已应用于越来越多的场合,如无线通信、语音识别、机器人、遥感遥测和图像处理领域,数字信号处理器芯片在高速信号处理方面具有速度快、运算性能好等优点,本文设计了一种基于 TI 公司的TMS320F812 的信号处理系统,将数据通过串行异步通信接口传到PC 机,由 PC 机的串口调试工具对接收信号进行显示和具体分析并将结果传给反馈给 DSP 进行控制,文章对硬件和软件进行了详细描述。二、设计目的1、编写串行

3、外设接口 SPI 的驱动程序;2、了解数模转换的基本操作,设计基于数模转换芯片 AD7303的正弦信号发生电路;3、编写 TMS320F2812 利用 SPI 接口驱动 AD7303 输出正弦信号波形的应用程序。三、设计要求1、熟悉 CCS 集成开发环境的使用,能对程序进行跟踪,分析结果;2、熟悉 SPI 外设接口的相关知识,能通过 SPI 接口与外围电路(芯片)进行通信。四、总体设计4.1 硬件部分4.1.1 数模转换操作的应用基础利用专用的数模转换芯片,可以实现将数字信号转换成模拟量输出的功能。在 EXPIV 型实验箱上,使用的是 AD7303 数模芯片,它可以实现同时转换 2 路模拟信号

4、数出,并有 8 位精度,DA 转换时间 1.2s 。其控制方式较为简单:首先将需要转换的数值及控制指令同时通过 SPI 总线传送到 AD7303 上相应寄存器,经过一个时间延迟,转换后的模拟量就从 AD7303 输出引脚输出。4.1.2 AD7303 简介AD7303 是一款双通道、 8 位电压输出 DAC,采用+2.7 V 至+5.5 V 单电源供电。它内置片内精密输出缓冲,能够实现轨到轨输出摆幅。这款器件采用多功能三线式串行接口,能够以最高 30MHz 的时钟速率工作,并与 QSPI、SPI、MICROWIRE 以及数字信号处理器接口标准兼容。串行输入寄存器为 16 位,其中 8 位用作

5、DAC 的数据位,其余 8 位组成一个控制寄存器。图 1 数字量与输出模拟量换算表图 2 输入移位寄存器图 3 AD7303 输入移位寄存器位定义及设置方式4.1.3 应用 AD7303 的 DAC 电路设计图 4 AD7303 电路设计4.2 软件部分4.2.1 程序流程图处理器上电复位CPU 及串行外设接口初始化产生 128 个点的正弦信号波形按 AD7303 输入移位寄存器的位定义,传输数据,进行数模转换双路波形输出无限循环4.2.2 在 CCS 集成开发环境下新建工程1.在Setup CCS2 中对它进行设置,如图 5所示图5 CCS设置驱动界面2.打开 CCS,在 Projiect

6、下拉菜单中选择 Open 添加程序,进行编译,无错误。如图 6 所示单击清除原先配置单击选择此配置单击输入配置单击完成和保存设置图 63. 执行 File Load Program,在随后打开的对话框中选择刚刚建立的后缀名为.out 文件,点击 “打开”按钮,如图 7 所示。为了快速地运行到主函数调试自己的代码,可以先使用 Debug 下的 Go main命令 图 7 图 84.2.3 在 Simulator 环境下观察信号的时域及 FFT Magnitude 波形(1)选菜单 ViewGraphTime/Frequency 。(2) 在 Graph Property Dialog 对话框中,

7、修改 Start Address为 curve,Acquisition Buffer Size 为 128,Display Data Size 为128,DSP Data Type 为 16-bit unsigned integer,Autoscale 为Off, Maximum Y-value 为 300,如图 8 所示;波形如图 9 所示图 94.2.4 程序清单*- 文件信息 - ;* ;* 文件名称 : Example_DSP281x_da.c ;* 适用平台 : DSP 专家 4 实验箱;* CPU 类型 : DSP TMS320F2812 ;* 软件环境 : CCS2.20 (20

8、00 系列);* 试验接线 : 1、F2812CPU 板的 JUMP1 的 2 和 3 脚短接,JUMP2 的 1 和 2 脚短接;;* 2、实验箱底板的开关 K9 拨到右侧,选择 CPU2.;* 试验现象 : 设置好 CCS 的环境,打开本工程,编译、下载、运行。;* 利用示波器观察实验箱 DA 单元的二号孔“ 输出 1“有正弦波输出。;* 地址译码说明:基地址( 0x80000) */ /*头文件*/#include “DSP281x_Device.h“ / DSP281x Headerfile Include File#include “DSP281x_Examples.h“ / DSP

9、281x 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(void); vo

10、id 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 GP

11、IO to its default state./ InitGpio(); / Skipped for this example / Setup only the GP I/O only for SPI functionalityEALLOW;GpioMuxRegs.GPFMUX.all=0x000F; / Select GPIOs to be SPI pins / Port F MUX - x000 0000 0000 1111EDIS;/ Step 3. Clear all interrupts and initialize PIE vector table:/ Disable CPU i

12、nterrupts DINT;/ 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();/禁止 CPU 中断清楚中断标志位IER = 0x0000;IFR = 0x0000;/ Initialize the PIE vector table with p

13、ointers 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.InitPieVectTa

14、ble();/ 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 FIFOspi_init(); / init SPIfor(i=0; i128;i+) /*产生 128 个点的正弦信号波形 */data=(int)(127.5*(1+sin(2*pi*i/127);

15、 curvei=data; /*将数据打包成“从移位寄存器到 DAC A 数据寄存器*/ curve1i=data /*将数据打包成“从移位寄存器到 DAC B 数据寄存器 且用数据寄存器同时更新 A 和 B 两个 DA 的值*/ curve2i=data /进入无限循环for(;) for(p=0;p128;p+)/*将数据写入 AD7303*/SpiaRegs.SPITXBUF=curve1p; delay();/*将数据写入 AD7303*/SpiaRegs.SPITXBUF=curve2p; delay(); void spi_init() SpiaRegs.SPICCR.bit.SP

16、ISWRESET=0; /复位 SPISpiaRegs.SPICCR.all =0x000F; / Reset on, rising edge, 16-bit char bits SpiaRegs.SPICTL.all =0x000E; / 是能主模式,一般SpiaRegs.SPISTS.all=0x0080; / 使能 talk, 禁止 SPI 中断SpiaRegs.SPIBRR =0x0000; / 波特率设置为 LSPCLK/4;SpiaRegs.SPIPRI.bit.FREE = 1; / Set so breakpoints dont disturb xmission自由运行 Spi

17、aRegs.SPICCR.bit.SPISWRESET=1; / 使能 SPI void delay(void) /延时子程序unsigned int k;for(k=0;k50;k+);4.3 调试部分4.3.1 硬件调试进行硬件调试时要先进行安装,如下图 10 所示图 10(1)将 CCS 设置 Emulator 的方式(通过硬件仿真调试器XDS510 连接 C2000 开发板进行硬件仿真调试的方式) ,并且指定通过 XDS510 USB 接口仿真器 C2000 硬件评估电路板。(2)把 U 盘中的程序文件复制到 C 盘中的 ti 文件中 myprojects目录中,在 CCS 2 窗口中

18、的菜单中选择 Project,在出现的窗口的查找范围中选择 C 盘中的 ti 文件中的工程文件,然后打开。(3)编译链接工程。选择菜单“Project”的“Rebuild All”项,或单击工具条中的 按钮。注意编译过程中CCS主窗口下部“Build”提示窗中显示编译信息,最后将给出错误和警告的统计数。(4)下载程序。执行File Load Program,在随后打开的对话框中选择刚刚建立的C:timyprojects SPI_DA Debug 单击清除原先配置单击输入配置单击选择此配置单击完成和保存设置Example_281x_da.out文件,点击“打开”按钮。CCS将程序加载到硬件仿真器

19、上,并打开Disassembly窗口,该窗口显示反汇编指令。(注意,CCS还会自动打开窗口底部一个标有Stdout的区域,该区域用以显示程序送往Stdout的输出。 )(5)运行程序。先使用 DebugGo main 命令,然后点击工具栏按钮 或选择 DebugRun。可快速地运行主函数调试自己的代码。 当运行程序时,可在 Stdout 窗口中看到程序运行时输出的“Example example started”消息。(6)测试输出信号。先将示波器一信号输入线接在实验板上的 END 上,然后将另一个信号输入线接在 A/D 信号输出口上,调试示波器,示波器屏幕上将出现一个正弦波。如下图所示:图

20、11 波形输出通过传输线连接到试验台并通过示波器进行输出,可测得模拟输出电压约为 3.3V,即 V(REF)的电压约为 1.6V。4.3.2 软件调试由于课程设计老师已经给定程序,且操作过程按说给步骤进行。为了快速地运行到主函数调试自己的代码,可以先使用DebugGo main命令,然后点击工具栏按钮 或选择DebugRun 。 在使用编译连接时并无错误出现,如上图6所示五、总结我们此次课程设计时间有些紧促,中间也还存在着许多的不足。通过本次课程设计使我进一步熟悉了 CCS 软件的开发与应用,通过对串行外设接口 SPI 的驱动程序的编写和研究,使我对 SPI 功能模块有了更深的理解,及其相关寄

21、存器的设置。同时也对 AD7303数模转换芯片有了初步的了解,它可以同时转换 2 路模拟信号输出。另外通过对程序进行修改分别实现了三角波、矩形波、以及梯形波的输出,这使我对程序的开发有了更近一步的提高,对软件的应用有了更深一步的掌握。在熟悉了 CCS 集成开发环境下,初步掌握了滤波器参数的设置,理解了窗函数法设计 FIR 滤波器程序,基本掌握了输入信号及滤波后得到的输出信号的时域波形及 FFT Magnitude 波形的设置。了解了 TMS320F2812 的 ADC 片内外设的外围电路实时采集的混频信号数据,使用 1 个 51 阶的 FIR 低通滤波器,在 CCS 中设计 FIR 滤单击完成和保存设置波器程序实现滤波,观察相关波形及滤波效果,通过 SCI 接口将数据传送到计算机上;在这次课程设计中遇到了不少问题,比如软件的问题和硬件的问题,但在老师和同学的帮助下都得到了解决,这使我的实践能力得到了进一步的提高,也使我更深的意识到学习跟实践相结合的重要性。此次课程设计时我们学习 DSP 这门课理论与实践的结合,从遇到困难到解决困难,我们学到了很多,希望以后还有更多的理论与实践相结合的机会给我们去练习。也非常感谢老师不厌其烦的讲解与指导。六、参考文献1赵成 DSP 原理与应用技术,国防工业出版社, 2012.1

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

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报