于基dsp的简易频谱分析仪设计---本科毕业设计.doc
《于基dsp的简易频谱分析仪设计---本科毕业设计.doc》由会员分享,可在线阅读,更多相关《于基dsp的简易频谱分析仪设计---本科毕业设计.doc(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于DSP的简易频谱分析仪设计摘要我们对一个信号的认识只在时间域是远远不够的,所以还要在频域去认识和分析它。在电子测量中,测量网络阻抗特性以及传输特性是经常遇到的问题问题,其中,幅频特性、增益和衰减特性、相频特性等是属于传输特性内的。它很大程度方便了调整,校准被测网络及排除故障。本此设计制作了一个简易频谱分析仪从而可以更直观的看到信号的特性。为了实现这一目标,我们需要利用快速傅里叶变换(FFT)来实现对信号的频谱分析。由于DSP可以处理比较复杂的算法本次设计采用FFT算法通过DSP分析显示输入波形的频率值。关键词:频谱分析 DSP FFT 显示频率 The Simple Spectrum An
2、alyzer Design Based on DSPAbstractWe cant know a signalonlyin the time domain.It is far fromenough, so wealso recognize andanalyze itin the frequency domain.In theelectronicmeasurement, impedanceand transmission characteristicsof the networkare often encountered in the measurement problems; Transmis
3、sion characteristics include the gain characteristics, attenuation characteristics, amplitude-frequency characteristic and phase frequency characteristics. It provides a great convenience for the adjustment of the network under test, calibration and troubleshooting.We design a simple spectrum analyz
4、er to see the characteristics of the signal more intuitively. In order to achieve this goal, we need to use the fast Fourier transform ,that is FFT which make spectrum analysis of the signal. Since the DSP can solve the more complex algorithms than others. Hence, we designed a simple spectrum analyz
5、er using the FFT algorithm by DSP to show the frequency of the input waveform.Key words: Spectrum Analyzer ; DSP; FFT ; Frequency Display目录第1章 概 述 11.1 引 言1 1.2 定点DSP的数据格式21.3 TMS320F2812 DSP介绍21.3.1 TMS320F2812概述21.3.2 TMS320F2812芯片结构及性能描述3第2章 总体设计思路42.1 系统指标42.2 系统方案42.2.1 信号发生器模块52.2.2 DAC转换模块52.
6、2.3 陷波网络模块62.2.4 信号调理模块62.2.5 AD采集模块62.2.6 FFT计算处理模块7第3章 具体设计73.1 工程建立73.2 正弦波发生模块93.2.1 定时器模块113.2.2 中断模块123.2.3 GPIO模块153.3 DAC转换模块153.4 陷波网络模块163.5 信号调理电路模块183.6 AD采集模块193.6.1 事件管理器定时设置203.6.2 ADC设置模块223.7 FFT模块.27第4章 实验结果31第5章 总结与展望375.1 总 结375.2 展 望38参考文献38致 谢39第1章 概 述1.1 引 言DSP的2种理解:广义理解:digit
7、al signal processing数字信号处理狭义理解:digital signal processor数字信号处理器数字信号处理的概念是利用计算机或者专用的处理设备,对连续的数字信号进行各种数学运算,最终得到我们想要的分析结果。而快速傅立叶变换是其运算基础。如今是崭新的数字化时代,DSP已然成为数字化的不可或缺的元素,广泛的应用于社会各领域。数字信号处理器(DSP芯片)应运而生,使数字信号处理理论与实际很好的连接,并促进了深入发展数字信号处理技术,拓宽应用领域。数字信号处理以广泛的学科作为理论基础,包含极广泛的内容。当中包含,语音处理、通信等方方面面,涵盖面很大。具体实现数字信号处理的
8、方法:(1) 在通用PC上利用软件或在系统中加专用加速处理机来实现。来实现。(2) 用DSP实现。DSP的软件和硬件各项资源对于数字信号处理非常适用,因此可用于各种复杂算法;(3)用CPLD/FPGA实现。1.2 定点DSP的数据格式在定点处理器(例如TMS320F2812)之中,数据采用的是定点表示法,整数小数均可表示。在定点处理器中,决定数据精度和其动态范围的是格式和字长,当然,它也是决定DSP处理器的成本、功耗以及编程难度的因素之一。定点DSP的两种基本表示方法:整数表示和小数表示。整数表示方法应用:非信号处理,例如地址计算、控制操作等小数表示方法应用:数字和各种信号处理算法计算。定点数
9、常使用Q表示法。处理小数时须由程序员确定小数点所处位置,称为数的定标。由于是人为决定,因此大小和精度可以表示多种范围。例如:0 010 0000 0000 0000b=0.25,用Q15表示 0 010 0000 0000 0000b=8192,用Q0表示总结来说,Q值越大,精度越高,但数值范围越小; Q值越小,数值范围越大,但精度就越低。1.3 TMS320F2812 DSP介绍1.3.1 TMS320F2812概述F28x系列是TI公司生产的32位定点数字信号处理器,其具有丰富的外设资源。相对于单片机来说,它能实现更为复杂的控制算法。适合于控制应用,不同于其他芯片,该系列芯片含FLASH,
10、异步串口。同时,它有数字信号处理能力和事件管理能力以及嵌入式控制能力,且由于可以用较低的成本实现开发、控制最优化,因此被广泛使用。1.3.2 TMS320F2812芯片结构及性能描述1、最大可达150MHz的系统时钟频率;2、F2812具有8级流水操作,指令时间为6.67ns;3、F2812内有4M的程序空间和4M的数据空间;4、片上外设资源多,包含串口外围设备接口、事件管理器、16通道12位ADC、控制器局域网络CAN总线、串行通讯接口SCA,SCB、多通道缓冲串行接口以及JTAG;第2章 总体设计思路2.1 系统指标信号调理陷波网络DACDSP2812本系统设计基本要求完成简易频谱分析仪,
11、组成框图如图2.1电脑DSP2812 图2.1 简易频谱分析仪组成框图1、 扫频信号发生:采用DSP2812产生正弦波信号,扫频信号频率范围为100-10kHz。2、陷波网络设计:陷波网络中心频率约为3kHz。3、 FFT设计,显示幅频特性曲线。2.2 系统方案 本设计目标为采用TMS320F2812 DSP芯片设计简易频谱分析仪。该分析仪由四部分模块组成,分别为:信号发生器模块、DAC转换模块、陷波网络模块、信号调理模块、AD采集模块、FFT计算处理模块。2.2.1 信号发生器模块信号发生模块由DSP芯片来完成,产生100Hz10kHz的扫频信号。DSP产生正弦波的方法有如下几种:(1)利用
12、DSP内置的PWM模块产生SPWM波形,之后连接低通滤波器发出正弦波;(2)利用泰勒级数展开法经过DSP计算得出正弦波;(3)利用查表法直接将正弦波形的表存入数组中;以上三种产生波形的方法都可以实现正弦波的发生,但是相比之下第一种较为复杂;第二种方法虽然占用存储空间较少,但是运算量比较大,占用CPU资源较多;查表法一种很直接的方法,它的原理是根据需要提前算好所有可能出现的正弦函数值,按照顺序编制为数据表,当用时只需要根据输入查出对应值。虽然查表法占用存储空间较多,但是占用CPU资源少,而且根据正弦表的数组长度和数据位数可以改变其分辨率及精确度。因此本次设计采用查表法产生正弦波,之后正弦波将以数
13、字量的形式发送至IO口,通过数模转换产生模拟量的正弦波。而正弦表可以通过例如正线波信号发生器来这类的软件生成,本设计产生的是输出点数为100点,输出精度为8位的正弦波。2.2.2 DAC转换模块首先,先确定正弦波的分辨率、精度等各项参数以方便确定DAC型号及设计电路。本次设计利用8位分辨率,一个周期内取100点的正弦表实现正弦波发生。因为本次设计要求最高可采集到10kHz的正弦波,因而有:100点*10kHz=1MHz (2-1)(2-1)表明了对DA的要求是它的采样率必须达到1MHz以上才可以实现10kHz的正弦波发生;因为是8位分辨率且通过IO口的8位来输出,因而需要一个8位并口的DA实现
14、。总结来说,就是选取DA满足以下两个条件:1、8位并行输入;2、采样率在1MHz以上;经过查阅各种资料后确定采用DAC0832来完成将数字正弦波转化为模拟正弦波的部分。2.2.3 陷波网络模块利用Sallen_Key电路结构设计二阶有源带阻网络,简单而且比较容易实现。2.2.4 信号调理模块利用分压的办法改变输入信号的幅度,后接一个电压跟随器,目的是使其输出信号电压控制在03v以内,以避免直接输入DSP中的AD输入引脚而烧坏芯片,同时避免后边的电路对信号产生影响。2.2.5 AD采集模块AD采集模块可有以下两种设计方案:(1)利用外接的AD通过硬件连接的方式对模拟量的波形进行转化,将转化后的数
15、字量通过IO输入DSP中。例如使用16位并行输出ADS8364连接F2812。(2)利用F2812包含的12位,16通道的ADC通过软件设置的方式将模拟量波形转化为数字量。上述两种方案中,由于第二种可直接通过软件方式利用DSP包含的模数转换模块采集模拟量的波形而不用外接芯片节省成本并且充分利用了DSP的资源,因而在精度不要求很高的情况下更加适用,因而采用第二种方案。2.2.6 FFT计算处理模块因为F2812芯片上专门有指令用于FFT操作,使得在F2812芯片上实现FFT算法速度更快且更为方便用户使用,所以直接采用即可。第3章 具体设计3.1 工程建立本设计的集成开发环境为CCS3.1,CCS
16、提供了配置、建立、调试、跟踪和分析程序的工具,便于编制和测试实时、嵌入式信号处理程序,可提高开发进程速度,提高工作效率。支持如下所示的开发周期的所有阶段。 图3.1 CCS的开发周期各阶段开发工具包括:C编译器、汇编器、连接器等。库文件(.lib),头文件(.h),源文件(.c)和CMD文件(.CMD)组成一个完整的工程,缺一不可。1、头文件:用于其他文件的引用、程序中的函数、参数、变量和一些宏单元的定义,和库函数配合使用。所以在使用库时须用相应头文件说明。文件格式为“.h”,编译过程中自动添加进入工程,无需手动添加。一般情况下头文件不需修改便可直接使用。2、库文件:C语言系统库rts2xx.
17、lib。系统库包含了编译器的所有功能:初始化C语言环境,标准C的函数库,设置堆栈等,还可以添加其他的库文件。将函数封装,编译供自己或其他用户调用。其优点是库文件编译后看不到源代码,保密性好;同时便于维护。文件格式为“.lib”。3、源文件:有且须有一个含main()函数的C语言源程序文件。main()函数在系统库初始化后掌握控制权。文件格式为“.c”。一个工程必不可少的几个源文件有: (1)DSP28_GlobalVariableDefs.c:定义全局变量,例如寄存器,中断向量表等内容。 (2)主函数 (3)DSP28_PieCtrl.c:PIE初始化函数(与中断相关)。 (4)DSP28_P
18、ieVect.c:PIE中断向量表定义及其初始化。 (5)DSP28_SysCtrl.c:系统初始化,以保证F2812正常工作。4、cmd文件:DSP系统中有大量的各种存储器,cmd文件所描述的是开发工程师对物理存储器的管理、分配及使用情况。cmd文件的作用是定位DSP代码。由于DSP的编译器的编译结果是未定位的,DSP无法定位执行代码,同时用户设计的DSP系统的配置也不尽相同,因此要自己定义代码的安装位置。cmd文件就是在编译源程序、生成机器代码的过程中发挥作用。cmd文件包含:(1) 存储器的资源清单(2) 存储器的资源分配3.2 正弦波发生模块 想要实现发出扫频正弦波,必须要有三个步骤:
19、(1) 通用定时器定时;(2) 定时时间到后进入中断程序,输出数字正弦波;(3) 输出正弦波通过通用IO口输出给后续电路; 其软件流程图如下:开始N初始化定时中断?Y进入中断处理函数N当前频率点送出?YN改变频率N一次扫频结束?YNN禁止中断,输出送至IO口结束 图3.2 扫频信号发生流程图3.2.1 定时器模块F2812共有3个32位的CPU定时器, CPU定时器Timer1和Timer2用于实时操作系统(如DSPBIOS),Timer0可以被用户所用。CPU定时器结构较简单,工作模式较单一,同时一旦启动就会循环往复工作,因此使用非常方便,所以很适合为用户程序提供一个基准时钟实现软件各模块的
20、同步。 图3.3 CPU定时器内部结构从上图可以看出,CPU定时器可以分为16位的分频器及32位的计数器。可将计数周期先存到PRDH:PRD(周期寄存器)中,当计数器启动时,PRDH:PRD的值载入TIMH:TIM(计数器)中进行减计数,当值减为0时,发出中断请求信号,同时计数值重新装载到周期寄存器中。定时器初始化主要程序如下:void InitCpuTimers(void)CpuTimer0Regs.PRD.all =150; /初始化定时器0周期寄存器CpuTimer0Regs.TIM.all = 0; /清零定时器0的计数器CpuTimer0Regs.TPR.all = 0; /初始化定
21、时器0预定标计数器使其分频系数为sysclkout/1,即150MHz;CpuTimer0Regs.TPRH.all = 0;CpuTimer0Regs.TCR.bit.TSS = 1; /停止定时器0的运行 CpuTimer0Regs.TCR.bit.TRB = 1; /将周期寄存器PRD中的值装入计数器寄存器TIM中, /重装载控制位写1,控制分频系数和计数初值的装载 CpuTimer0Regs.TCR.bit.SOFT=1; /将soft和free设为1,在遇到调试断点CpuTimer0Regs.TCR.bit.FREE=1; /定时器0将继续运行CpuTimer0Regs.TCR.bi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dsp 简易 频谱 分析 设计 本科 毕业设计
限制150内