ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:586.04KB ,
资源ID:8569363      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8569363.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学士学位论文基于dsp的简易频谱分析仪设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学士学位论文基于dsp的简易频谱分析仪设计.docx

1、学士学位论文基于dsp的简易频谱分析仪设计基于DSP的简易频谱分析仪设计摘要我们对一个信号的认识只在时间域是远远不够的,所以还要在频域去认识和分析它。在电子测量中,测量网络阻抗特性以及传输特性是经常遇到的问题问题,其中,幅频特性、增益和衰减特性、相频特性等是属于传输特性内的。它很大程度方便了调整,校准被测网络及排除故障。本此设计制作了一个简易频谱分析仪从而可以更直观的看到信号的特性。为了实现这一目标,我们需要利用快速傅里叶变换(FFT)来实现对信号的频谱分析。由于DSP可以处理比较复杂的算法本次设计采用FFT算法通过DSP分析显示输入波形的频率值。关键词:频谱分析 DSP FFT 显示频率 T

2、he Simple Spectrum Analyzer 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 measureme

3、nt problems; Transmission 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 s

4、imple spectrum analyzer 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 s

5、imple spectrum analyzer using the FFT algorithm by DSP to show the frequency of the input waveform.Key words: Spectrum Analyzer ; DSP; FFT ; Frequency Display第1章 概 述1.1 引 言DSP的2种理解:广义理解:digital signal processing数字信号处理狭义理解:digital signal processor数字信号处理器数字信号处理的概念是利用计算机或者专用的处理设备,对连续的数字信号进行各种数学运算,最终得到我

6、们想要的分析结果。而快速傅立叶变换是其运算基础。如今是崭新的数字化时代,DSP已然成为数字化的不可或缺的元素,广泛的应用于社会各领域。数字信号处理器(DSP芯片)应运而生,使数字信号处理理论与实际很好的连接,并促进了深入发展数字信号处理技术,拓宽应用领域。数字信号处理以广泛的学科作为理论基础,包含极广泛的内容。当中包含,语音处理、通信等方方面面,涵盖面很大。具体实现数字信号处理的方法:(1) 在通用PC上利用软件或在系统中加专用加速处理机来实现。来实现。(2) 用DSP实现。DSP的软件和硬件各项资源对于数字信号处理非常适用,因此可用于各种复杂算法;(3)用CPLD/FPGA实现。1.2 定点

7、DSP的数据格式在定点处理器(例如TMS320F2812)之中,数据采用的是定点表示法,整数小数均可表示。在定点处理器中,决定数据精度和其动态范围的是格式和字长,当然,它也是决定DSP处理器的成本、功耗以及编程难度的因素之一。定点DSP的两种基本表示方法:整数表示和小数表示。整数表示方法应用:非信号处理,例如地址计算、控制操作等小数表示方法应用:数字和各种信号处理算法计算。定点数常使用Q表示法。处理小数时须由程序员确定小数点所处位置,称为数的定标。由于是人为决定,因此大小和精度可以表示多种范围。例如:0 010 0000 0000 0000b=0.25,用Q15表示 0 010 0000 00

8、00 0000b=8192,用Q0表示总结来说,Q值越大,精度越高,但数值范围越小; Q值越小,数值范围越大,但精度就越低。1.3 TMS320F2812 DSP介绍1.3.1 TMS320F2812概述F28x系列是TI公司生产的32位定点数字信号处理器,其具有丰富的外设资源。相对于单片机来说,它能实现更为复杂的控制算法。适合于控制应用,不同于其他芯片,该系列芯片含FLASH,异步串口。同时,它有数字信号处理能力和事件管理能力以及嵌入式控制能力,且由于可以用较低的成本实现开发、控制最优化,因此被广泛使用。1.3.2 TMS320F2812芯片结构及性能描述1、最大可达150MHz的系统时钟频

9、率;2、F2812具有8级流水操作,指令时间为6.67ns;3、F2812内有4M的程序空间和4M的数据空间;4、片上外设资源多,包含串口外围设备接口、事件管理器、16通道12位ADC、控制器局域网络CAN总线、串行通讯接口SCA,SCB、多通道缓冲串行接口以及JTAG;第2章 总体设计思路2.1 系统指标本系统设计基本要求完成简易频谱分析仪,组成框图如图2.1 图2.1 简易频谱分析仪组成框图1、 扫频信号发生:采用DSP2812产生正弦波信号,扫频信号频率范围为100-10kHz。2、陷波网络设计:陷波网络中心频率约为3kHz。3、 FFT设计,显示幅频特性曲线。2.2 系统方案 本设计目

10、标为采用TMS320F2812 DSP芯片设计简易频谱分析仪。该分析仪由四部分模块组成,分别为:信号发生器模块、DAC转换模块、陷波网络模块、信号调理模块、AD采集模块、FFT计算处理模块。2.2.1 信号发生器模块信号发生模块由DSP芯片来完成,产生100Hz10kHz的扫频信号。DSP产生正弦波的方法有如下几种:(1)利用DSP内置的PWM模块产生SPWM波形,之后连接低通滤波器发出正弦波;(2)利用泰勒级数展开法经过DSP计算得出正弦波;(3)利用查表法直接将正弦波形的表存入数组中;以上三种产生波形的方法都可以实现正弦波的发生,但是相比之下第一种较为复杂;第二种方法虽然占用存储空间较少,

11、但是运算量比较大,占用CPU资源较多;查表法一种很直接的方法,它的原理是根据需要提前算好所有可能出现的正弦函数值,按照顺序编制为数据表,当用时只需要根据输入查出对应值。虽然查表法占用存储空间较多,但是占用CPU资源少,而且根据正弦表的数组长度和数据位数可以改变其分辨率及精确度。因此本次设计采用查表法产生正弦波,之后正弦波将以数字量的形式发送至IO口,通过数模转换产生模拟量的正弦波。而正弦表可以通过例如正线波信号发生器来这类的软件生成,本设计产生的是输出点数为100点,输出精度为8位的正弦波。2.2.2 DAC转换模块首先,先确定正弦波的分辨率、精度等各项参数以方便确定DAC型号及设计电路。本次

12、设计利用8位分辨率,一个周期内取100点的正弦表实现正弦波发生。因为本次设计要求最高可采集到10kHz的正弦波,因而有:100点*10kHz=1MHz (2-1)(2-1)表明了对DA的要求是它的采样率必须达到1MHz以上才可以实现10kHz的正弦波发生;因为是8位分辨率且通过IO口的8位来输出,因而需要一个8位并口的DA实现。总结来说,就是选取DA满足以下两个条件:1、8位并行输入;2、采样率在1MHz以上;经过查阅各种资料后确定采用DAC0832来完成将数字正弦波转化为模拟正弦波的部分。2.2.3 陷波网络模块利用Sallen_Key电路结构设计二阶有源带阻网络,简单而且比较容易实现。2.

13、2.4 信号调理模块利用分压的办法改变输入信号的幅度,后接一个电压跟随器,目的是使其输出信号电压控制在03v以内,以避免直接输入DSP中的AD输入引脚而烧坏芯片,同时避免后边的电路对信号产生影响。2.2.5 AD采集模块AD采集模块可有以下两种设计方案:(1)利用外接的AD通过硬件连接的方式对模拟量的波形进行转化,将转化后的数字量通过IO输入DSP中。例如使用16位并行输出ADS8364连接F2812。(2)利用F2812包含的12位,16通道的ADC通过软件设置的方式将模拟量波形转化为数字量。上述两种方案中,由于第二种可直接通过软件方式利用DSP包含的模数转换模块采集模拟量的波形而不用外接芯

14、片节省成本并且充分利用了DSP的资源,因而在精度不要求很高的情况下更加适用,因而采用第二种方案。2.2.6 FFT计算处理模块因为F2812芯片上专门有指令用于FFT操作,使得在F2812芯片上实现FFT算法速度更快且更为方便用户使用,所以直接采用即可。第3章 具体设计3.1 工程建立本设计的集成开发环境为CCS3.1,CCS提供了配置、建立、调试、跟踪和分析程序的工具,便于编制和测试实时、嵌入式信号处理程序,可提高开发进程速度,提高工作效率。支持如下所示的开发周期的所有阶段。 图3.1 CCS的开发周期各阶段开发工具包括:C编译器、汇编器、连接器等。库文件(.lib),头文件(.h),源文件

15、(.c)和CMD文件(.CMD)组成一个完整的工程,缺一不可。1、头文件:用于其他文件的引用、程序中的函数、参数、变量和一些宏单元的定义,和库函数配合使用。所以在使用库时须用相应头文件说明。文件格式为“.h”,编译过程中自动添加进入工程,无需手动添加。一般情况下头文件不需修改便可直接使用。2、库文件:C语言系统库rts2xx.lib。系统库包含了编译器的所有功能:初始化C语言环境,标准C的函数库,设置堆栈等,还可以添加其他的库文件。将函数封装,编译供自己或其他用户调用。其优点是库文件编译后看不到源代码,保密性好;同时便于维护。文件格式为“.lib”。3、源文件:有且须有一个含main()函数的

16、C语言源程序文件。main()函数在系统库初始化后掌握控制权。文件格式为“.c”。一个工程必不可少的几个源文件有: (1)DSP28_GlobalVariableDefs.c:定义全局变量,例如寄存器,中断向量表等内容。 (2)主函数 (3)DSP28_PieCtrl.c:PIE初始化函数(与中断相关)。 (4)DSP28_PieVect.c:PIE中断向量表定义及其初始化。 (5)DSP28_SysCtrl.c:系统初始化,以保证F2812正常工作。4、cmd文件:DSP系统中有大量的各种存储器,cmd文件所描述的是开发工程师对物理存储器的管理、分配及使用情况。cmd文件的作用是定位DSP代

17、码。由于DSP的编译器的编译结果是未定位的,DSP无法定位执行代码,同时用户设计的DSP系统的配置也不尽相同,因此要自己定义代码的安装位置。cmd文件就是在编译源程序、生成机器代码的过程中发挥作用。cmd文件包含:(1) 存储器的资源清单(2) 存储器的资源分配3.2 正弦波发生模块 想要实现发出扫频正弦波,必须要有三个步骤:(1) 通用定时器定时;(2) 定时时间到后进入中断程序,输出数字正弦波;(3) 输出正弦波通过通用IO口输出给后续电路; 其软件流程图如下: 图3.2 扫频信号发生流程图3.2.1 定时器模块F2812共有3个32位的CPU定时器, CPU定时器Timer1和Timer

18、2用于实时操作系统(如DSPBIOS),Timer0可以被用户所用。CPU定时器结构较简单,工作模式较单一,同时一旦启动就会循环往复工作,因此使用非常方便,所以很适合为用户程序提供一个基准时钟实现软件各模块的同步。 图3.3 CPU定时器内部结构从上图可以看出,CPU定时器可以分为16位的分频器及32位的计数器。可将计数周期先存到PRDH:PRD(周期寄存器)中,当计数器启动时,PRDH:PRD的值载入TIMH:TIM(计数器)中进行减计数,当值减为0时,发出中断请求信号,同时计数值重新装载到周期寄存器中。定时器初始化主要程序如下:void InitCpuTimers(void)CpuTime

19、r0Regs.PRD.all =150; /初始化定时器0周期寄存器CpuTimer0Regs.TIM.all = 0; /清零定时器0的计数器 CpuTimer0Regs.TPR.all = 0; /初始化定时器0预定标计数器使其分频系数为sysclkout/1,即150MHz; CpuTimer0Regs.TPRH.all = 0; CpuTimer0Regs.TCR.bit.TSS = 1; /停止定时器0的运行 CpuTimer0Regs.TCR.bit.TRB = 1; /将周期寄存器PRD中的值装入计数器寄存器TIM中, /重装载控制位写1,控制分频系数和计数初值的装载 CpuTi

20、mer0Regs.TCR.bit.SOFT=1; /将soft和free设为1,在遇到调试断点 CpuTimer0Regs.TCR.bit.FREE=1; /定时器0将继续运行 CpuTimer0Regs.TCR.bit.TIE=1; /使能定时器0中断,若计数器递减到0同时tie位为1,定时器发出中断请求3.2.2 中断模块F2812的中断管理共分为外设级、PIE级和CPU级。由于多种外设集成于芯片内部,会产生许多外设中断,因为CPU无法处理所有的CPU级中断请求,因而F2812有一个专门用于处理判定外设中断的中断扩展控制器(PIE)。中断仲裁机制确定中断服务程序的位置的原理是根据PIE向量

21、表存放的每个中断服务程序的地址来确定。1、外设级 一当外设有中断事件,对应外设的中断标识位就会置1,若对应中断使能位设1,那么外设中断的请求信号 INTx.y就可送至 PIE控制器。若外设的中断被禁止输入进来,那么外设中断标志将一直保持为 1,直到软件清 0。 2、PIE 级 PIE的中断都有一个PIEIFRx.y(中断标志位) 和一个PIEIERx.y(中断使能位),另外,每个 CPU 中断组都有一应答位 PIEACKx。若 PIE来了中断请求,相应中断标志位 PIEIFRx.y就会置1,若 PIEIERx.y也为 1,那么 PIEACKx 就可决定 CPU可否响应此中断。3、CPU级 CP

22、U 级中断标志寄存器一旦在中断请求送入后标志位就会置 1。在IER (CPU 中断使能寄存器)中相应位置 1,且INTM(全局中断屏蔽位)为 0的情况下时,CPU会进入中断。实现中断主要语句如下:DINT; /禁止中断EINT; /使能INTM(全局中断)ERTM; /使能DBGM(全局实时中断)EALLOW; /有些寄存器受到写保护,要写它就先用此语句禁止写保护,写自由PieVectTable.TINT0=&cpu_timer0_isr;EDIS; /使能写保护PieCtrl.PIEIER1.bit.INTx7=1;/PIE级中断使能IER|=M_INT1;/使能CPU中断 进入中断子程序如

23、下:interrupt void cpu_timer0_isr(void) CpuTimer0Regs.TCR.bit.TIF=1; ReloadCpuTimer0(); time+; if(time=fre) time=0; GpioDataRegs.GPADAT.all=sin_dancount+ ; if(ncount=100) ncount=0; round+; if(round=1000/fre) round=0; fre+; if(fre=100) fre=1; PieCtrl.PIEACK.all=PIEACK_GROUP1;这段程序中ncount用来一个周期内计送出的点数,当到

24、达一个周期的100点时,ncount变为0;fre为从100Hz到10KHz的100个不同频率档,time是用于定时器进入中断次数的计数,当time计数值=fre的值时会向IO送出正弦表的值,同时time清零;round为不同频率档下波形的不同显示次数,其设置为1000/fre,即当round当前值为1000除以当前的fre时,说明1000/fre个当前频率下的正弦波已经全部送出,fre自动加1,round变为0。3.2.3 GPIO模块GPIO就是通用IO口。嵌入式系统中常有很多的简单外部设备/电路,对它们的控制,使用GPIO(通用可编程IO接口)即可。F2812包含有56个多功能引脚,其第

25、一功能是作为通用意义数字I/O口(GPIO),为了使用通用I/O,我们需要对GPIO进行相应的设置。为了将数字量的正弦波输出,设计需要通过设置GPIO实现,具体语句如下:void InitGpio(void) EALLOW; GpioMuxRegs.GPAMUX.all=0x0000;/将gpio设置为通用i/o口 GpioMuxRegs.GPADIR.all=0x00ff;/设置gpio为输出 GpioMuxRegs.GPAQUAL.all=0x0000; /窗宽为0,无抗噪声能力 EDIS;3.3 DAC转换模块DAC0832是采用CMOS工艺实现。它是8位分辨率的数模转换集成芯片。与微处

26、理器完全兼容。这个DA转换器应用很广泛因为它相比其他芯片来说价格低、接口电路简单、转换控制容易。DAC0832包含有8位DAC寄存器、8位输入寄存器、8位D/A转换器,它的采样频率高达5MHz,因而可以实现对需要采样率高于1MHz的正弦波的采集。 图3.4 DA模块电路图如图所示,DA模块采用的是0832器件手册上的应用例程。图中Q1的作用是将电流输出型信号改为电压输出型信号;Q2的作用是由于输出是反向的电压,因此此处是起到反相器的作用。3.4 陷波网络模块本次设计采用的是有源带阻滤波器。本有源带阻滤波器主要通过双T网络实现。电阻电容组成外围网络和LM358芯片一起实现功能。通过电容电阻的谐振

27、作用实现帯阻作用,通过358芯片实现放大信号的作用。图3.5 陷波网络模块电路图图3.5所示,RF和Rf(即R4和R5)选择了稍大一些的电阻值是为了使电路更稳定,这里使用的分别是160K和200K。选择较小电容也是为了使电路运行更稳定,这里取C=1pF.带入fo=1/2RC可得R的值约为27K,考虑到实际连接电路的问题,减少元件的个数,取R1=R2=56K。其各项参数如下:R1=R2=R=56k; R3=27kC1=C2 =1Nf ; C3=2.2nFR5=Rf;R4=RF;中心频率fo=1/2RC=2.78k带宽 f2-f1=2(2-Kf)=0.4kHz增益 Kf=1+RF/Rf=1.8Q点

28、 Q=1/2(2-Kf)=0.1图3.6 陷波网络模块电路图使用multsim中的波特图实现了仿真,如图3.6所示。3.5 信号调理电路模块其电路图如下图所示: 图3.7 信号调理电路图中R6以及R7用于分压,使信号电压降低在DSP所要求的03v内,后面利用LM358制成的电压跟随器,以“隔离”前后级之间的影响。3.6 AD采集模块AD采集模块实现信号采集需要如下两个步骤:(1)利用事件管理器中的定时器定时决定采样频率;(2)设置ADC模块;其软件流程图如下所示, 图3.8 信号调理电路3.6.1 事件管理器定时设置在AD采集过程中,利用事件管理器EV的通用定时器实现采样频率的确定。事件管理器

29、包括EVA和EVB,有通用定时器1、2、3、4,每个定时器有如下特点:16 位TxCNT(定时器增/减计数器)。16 位TxCMPR(定时器比较寄存器)。 16 位TxPR(定时器周期控制寄存器)。 16 位TxCON(定时器控制寄存器)。 一个TxCMP用于通用定时器比较输出。定时器按照寄存器 TxCON 中的 TMODE1,TMODE0 位确定的工作模式工作分别是停止/保持模式、连续增计数模式、定向增/减计数模式还是连续增/减计数模式,较为常用的是第二种和第三种。本设计采用的是连续增计数模式,下图为其工作模式图: 图3.9 通用定时器连续增计数模式当计数器和周期寄存器在一个时钟周期匹配时,

30、中断标志位会置为1。在外设中断未被屏蔽的情况下将产生外设中断请求。此周期中断通过 GPTCONA开启ADC,中断标志置1,同时AD启动信号送至AD。具体实现语句如下:EvaRegs.T1CMPR=0xfd11;/给比较寄存器赋值EvaRegs.T1PR=0xFFFF; /给周期寄存器赋值EvaRegs.GPTCONA.bit.T1TOADC=1; / EVA 中的通用定时器1中断产生AD启动 EvaRegs.T1CON.all=0x1042; /递增模式,x/1分频,内部时钟,使能比较,使用自己的周期,立即启动定时器计数3.6.2 ADC设置模块ADC(模数转换器)有 16个12位通道,可通过

31、软件设置成两个8 通道,或一个 16 通道,本次设计因为只需要输入一个通道,所以两种方式都没有什么影响。ADC 包含一个转换器,两个排序器。排序器在级联模式下变为单 16 通道。转换完成后结果存放在ADCRESULT里。它比普通单采样转换分辨率高是因为自动排序器允许相同通道多次转换,因而可以实现过采样算法。 图3.10 ADC模块原理框图其原理如图3.9所示。排序器分别有SEQ1和SEQ2,也可级联为SEQ。其作用是自动排序多个转换。若只需要一个通道输入信号,16个通道任意一个都可选择。转换之后结果就存于相应的ADCRESULTn(结果寄存器)中。 AD有顺序采样以及同时采样两种工作模式。利用对C

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1