基于dsp的正弦波发生器课程设计报告_第1页
基于dsp的正弦波发生器课程设计报告_第2页
基于dsp的正弦波发生器课程设计报告_第3页
基于dsp的正弦波发生器课程设计报告_第4页
基于dsp的正弦波发生器课程设计报告_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章绪论DSP简介数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速开展,数字信号处理技术应运而生并得到迅速的开展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,信号处理已经在通信等领域得到极为广泛的应用。图一是数字信号处理系统的简化框图。此系统先将模拟信号转换为数字信号,经数字信号处理后,再转换成模拟信号输出。其中抗混叠滤波器的作用是将输入信号x中高于折叠频率的分量滤除,以防止信号频谱的混叠

2、。随后,信号经采样和A/D转换后,变成数字信号x(n)。数字信号处理器对x(n)进展处理,得到输出数字信号y(n),经D/A转换器变成模拟信号。此信号经低通滤波器,滤除不需要的高频分量,最后输出平滑的模拟信号y(t)o图1.1数字信号处理系统简化框图数字信号处理是以众多学科为理论根底的,它所涉及的围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的根本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论根底,

3、同时又使自己成为一系列新兴学科的理论根底。课题研究的目的意义科技的进步带动了DSP技术的开展,现代控制设备的性能和构造发生了巨大的变化,我们已经进入了高速开展的信息时代,DSP技术也成为当今科技的主流之一,被广泛地应用于生产的各个领域。对于本次设计,其目的在于:了解DSP及DSP控制器的开展过程及其特点。(2)较熟练地在硬件上掌握DSP及DSP硬件器的构造、各部件根本工作原理。(3)熟悉CCS集成开发环境,并能较熟练的对CCS的开发系统进展使用。(4)熟悉用C语言、汇编语言编程DSP源程序(5)学习DSP程序的调试及编写,及运用观察变量的方法查看程序的运行情况。(6)掌握工程设计的流程及方法。

4、1.3课题研究容用TMS320C54X的汇编语言程序设计正弦信号发生器大大方便了程序的编写、调试和加快了程序的运行速度。第2章总体方案的分析和设计2.1总体方案设计.基于DSP的特点,本设计采用TMS320C54X系歹的DSP作为正弦信号发生器的核心控制芯片。.用泰勒级数展开法实现正弦波信号。.设置波形时域观察窗口,得到其滤波前后波形变化图;.设置频域观察窗口,得到其滤波前后频谱变化图。.2正弦波信号发生器正弦波信号发生器已被广泛地应用于通信、仪器仪表和工业控制等领域的信号处理系统中。通常有两种方法可以产生正弦波,分别为查表法和泰勒级数展开法。查表法是通过查表的方式来实现正弦波,主要用于对精度

5、要求不很高的场合。泰勒级数展开法是根据泰勒展开式进展计算来实现正弦信号,它能准确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。本次主要用泰勒级数展开法来实现正弦波信号。产生正弦波的算弦函数和余弦函数可以展开成泰勒级数,其表达式:sin(x)3!5!7!9!cos(x)2x2!4x4!6x6!8x8!取泰勒级数的前5项,得近似计算式:sin(x)x 一 3!x(15!2x /一(12 37!9!2x一(14 52x /一(16 72W)cos(x) 1124x x6 x8 x2!4!6!8!2x7 8)递推公式:sin(nx)=2cosx)sin(n-1)x-sin(n-2)xcos(

6、nx)=2cosx)sin(n-1)x-cosn-2)x由递推公式可以看出,在计算正弦和余弦值时,需要cos(x)、sin(n-1)x、sin(n-2)x和cosn-2)x。.3总体方案设计.基于DSP的特点,本设计采用TMS320C54X系歹U的DSP作为正弦信号发生器的核心控制芯片。.用泰勒级数展开法实现正弦波信号。.设置波形时域观察窗口,得到其滤波前后波形变化图;.设置频域观察窗口,得到其滤波前后频谱变化图。第3章硬件设计硬件组成基于DSP的信号发生器的硬件构造图如图3.1所示,它主要由DSP主控制器,输出D/A通道和人机界面等几个主要局部组成。图3.1基于DSP的信号发生器系统框图控制

7、器局部本系统采用TI公司的TMS320LF2407DSP处理器,该器件具有外设集成度高,程序存储器容量大,A/D转换精度高,运算速度高,I/O口资源丰富等特点,芯片部集成有32KB的FLASH程序存储器、2KB的数据/程序RAM,两个事件管理器模块EVE和EVB、16通道A/D转换器、看门狗定时器模块、16位的串行外设接口SPI模块、40个可单独编程或复用的通用输入输出引脚GPIO以及5个外部中断和系统监视模块。TMS320LF2407芯片中的事件管理模块EV是一个非常重要的组成局部。SPWM波形的产生和输出就是由这一局部完成的,它由两个完全一样的模块EVA和EVB组成,每个模块都含有2个通用

8、定时器、3个比拟器、6至8个PWM发生器、3个捕获单元和2个正交脉冲编码电路QEP。由于TMS320LF2407有544字的双口RAMDARAM和2K字的单口RAMSARAM;而本系统的程序仅有几KB,且所用RAM也不多,因此不用考虑存储器的扩展问题,而对于TMS320LF2407的I/O扩展问题,由于TMS320LF2407器件有多达40个通用、双向的数字I/OGPIO弓唧,且其多数的根本功能和一般I/O复用的引脚,而实际上,本系统只需要17路I/O信号,这样,就可以为系统剩余50%多的I/O资源,因此可以说,该方案既不算浪费系统资源,也为系统今后的升级留有余地。微输出D/A通道局部本系统的

9、输出通道局部主要负责实现波形的输出,此通道的入口为TMS320LF2407的PWM8口,可输出SPWM等幅脉冲波形,出口为系统的输出端,这样,经过一系列的中间环节,便可将PWM脉冲波转化为交流正弦波形,从而实现正弦波的输出,其原理框图如图3.2所示。图3.2输出通道的原理构造图3.2中的缓冲电路的作用是对PWM口输出的数字量进展缓冲,并将电压拉高到5V左右,以供后级模拟电路滤波使用。这一局部电路由两个芯片组成。一片用三态缓冲器,由于PWM口的输出为3.3V的TTL电平,这样,在设计时就应中选用输入具有5V的TTL输入,CMOS输出电平的转换芯片如TI公司的74HCT04;另一片那么可选用TOS

10、HIBA公司出品的光电耦合器6N137;输出端连接的5V精细稳压电源可选用BURR-BROWN公司生产的REF02型精细稳压电源,以输出标准的5V电压。系统中的减法电路的主要作用是把0-10V直流脉动信号的转换成-5+5V的正弦交流信号,并使其电压增益为1。设计使可利用差分式电路来实现其功能,为了简化电路,可以选用较为常用的AD公司的AD524,并将AD524接成电压跟随器的形式,同时适当的选取电阻以满足要求,此外,为了使产生的正弦波信号具有2-5mA的驱动能力,可选用AD624来构成末级的信号放大电路。AD624是高精度低噪声仪用放大器,假设外接一只增益电阻,即可得到1-1000之间的任意增

11、益值,其误差小于1%。由于AD624的建立时间只有15步,所以它非常适宜在高速数据采集系统中使用。人机接口局部驱动器设计位驱动器电路由两片集成电路组成,即由位驱动的CMOS芯片和将TTL电平转换成CMOS电平的电平转换芯片组成,电平转换芯片可以和输出通道的电平转换芯片共用一片74HCT244本局部使用4路,输出通道使用3路,其主要作用是对DSP输出的3.3VTTL电平与5VCMOS电平进展匹配,从而带动具有CMOS电平的位驱动器,根据动态扫描显示的要求,位驱动器需要选用每路输出吸收电流都要大于200mA的芯片,因此,本设计选用了TI公司的74LS06来做LED的大电流驱动器件。键盘设计本系统选

12、用四个独立式按键,分别接入PF3-PF6口,并使用四个220Q上拉电阻接VCC。所谓独立式,就是将每一个独立键按一对一地直接接到I/O输入线上,而在读键值时,直接读I/O口,每一个键的状态通过读入键值的一位二进制位来反响,所以这种方式也称为一维直读方式,这种方式的查键软件比拟简单,但占用I/O线较多,一般在键的数量较少时采用,不过,由于DSP芯片有足够的I/O接口可供使用,因而可大大方便设计,设计时可以充分利用这一特点来连接硬件,至于按键的削抖动措施,那么可在软件中完成。第4章软件设计4.1流程图本系统软件可以按照模块化设计思想来编写,包括主程序、常数计算程序、占空比计算程序和相应的一些功能子

13、程序,主程序用于调用各功能子程序、初始化变量、查询键盘、判断显示数据是否需要刷新、同时判断一个脉冲是否完成发送等工作,具体方案见图4.1所示的流程图。20MHz的晶振,那在程序中,应在第N-1个脉冲周期里计算占空比,并在第N个脉冲周期里输出波形,这就要求在设计时要在一个脉冲周期完成计算,如果选用么,在一倍频下,执行一条执行只需50ns,假设输出400Hz的正弦波,即每一个周期即2.5m要卒U出200个脉冲,这样,也就是说,一个脉冲需要12.5s相当干2500/50=250条指令。而执行一个占空比的计算程序只需要几十条指令,这种算法从软件开销上考虑是可以实现的。4.2正弦信号发生器程序清单;Th

14、isfunctiongeneratesthesinewaveofangleusingtheTaylorseriesexpansion;sin(theta)=x(1-xA2/2*3(1-xA2/4*5(1-xA2/6*7(1-xA2/8*9);cos(theta)=1-xA2/2*3(1-xA2/4*5(1-xA2/6*7(1-xA2/8*9);sin(2*theta)=2*sin(theta)*cos(theta).titlesin.asm.mmregs.def_c_int00.refsinx,d_xs,d_sinx,cosx,d_xc,d_cosxsin_x:.usectsin_x,360S

15、TACK:.usectSTACK,10k_theta.set286PA0.set0_c_int00.textSTM#STACK+10,SPSTMk_theta,AR0STM0,AR1STM#sin_x,AR6STM#90,BRCRPTBloop1-1LDMAR1,ALD#d_xs,DPSTLA,d_xsSTLCALLCALLLDLDMPYASTHMARloop1:STMA,d_xcsinxcosx#d_sinx,DPd_sinx,16,Ad_cosxB,1,*AR6+*AR1+0#sin_x+89,AR7STMRPTBLDSTLloop2:STMSTMRPTBLDNEGSTLloop3:STM

16、STMSTMloop4:PORTWBsinx:.def.datatable_s.word.word#88,BRCloop2-1*AR7-,AA,*AR6+#179,BRC#sin_x,AR7loop3-1*AR7+,AAA,*AR6+#sin_x,AR6#1,AR0#360,bk*AR6+0%,PA0loop4d_xs,d_sinx01c7h030bh0666h1556hcoef_s,4sin_vars,1sin_vars,1sin_vars,1sin_vars,1sin_vars,1FRCT#d_coef_s,AR5#3#table_s,*AR5+#d_coef_s,AR3#d_xs,AR2

17、#c_l_s,AR4#7FFFh,c_l_s*AR2+,AA,*AR2*AR4,B*AR2+,*AR3+,B,A AA,*AR2*AR2-,*AR3+,B,A*AR2+B,*AR2*AR4,B*AR2-,*AR3+,B,A*AR2+B,*AR2*AR4,B.word.wordd_coef_s.usectd_xs.usectd_squr_xs.usectd_temp_s.usectd_sinx.usectc_l_s.usect.textSSBXSTMRPTMVPDSTMSTMSTMSTSQURST|LDMASRMPYASTHMASRMPYAST|LDMASRMPYAST|LDcosx:d_coe

18、f_ctable_cd_xc d_squr_xc d_temp_c d_cosx c_l_cMASR*AR2-,*AR3+,B,AMPYAd_xsSTHB,d_sinxRET.defd_xc,d_cosx.usectcoef_c,4.data.word0249h.word0444h.word0aabh.word4000h.usectcos_vars,1.usectcos_vars,1.usectcos_vars,1.usectcos_vars,1.usectcos_vars,1.textSSBXFRCTSTM#d_coef_c,AR5RPT#3MVPD#table_c,*AR5+STM#d_c

19、oef_c,AR3STM#d_xc,AR2STM#c_l_c,AR4ST#7FFFh,c_l_cSQUR*AR2+,ASTA,*AR2|LD*AR4,BMASR*AR2+,*AR3+,B,AMPYAASTHA,*AR2MASR*AR2-,*AR3+,B,AMPYA*AR2+STB,*AR2|LD*AR4,BMASR*AR2-,*AR3+,B,ASFTAA,-1,ANEGAMPYA*AR2+MAR*AR2+RETDADD*AR4,16,BSTHB,*AR2RET.endMEMORYPAGE0:EPROM:org=0E000h,len=1000hVECS:org=0FF80h,len=0080hP

20、AGE1:SPRAM:org=0060h,len=0020hDARAM1:org=0080h,len=0010hDARAM2:org=0090h,len=0010hDARAM3:org=0200h,len=0200hSECTIONS.text:EPROMPAGE0.data:EPROMPAGE0STACK:SPRAMPAGE1sin_vars:DARAM1PAGE1coef_s:DARAM1PAGE1cos_vars:DARAM2PAGE1coef_c:DARAM2PAGE1sin_x:align(512)DARAM3PAGE1.vectors:VECSPAGE0.titlesin_v.asm

21、.ref_c_int00.sect.vectorsB_c_int00.end第5章系统仿真5.1CCS工程工程的调试程序的运行控制在调试程序的过程中,经常需要复位、执行、单步执行等操作。这些操作称为程序运行控制。CCS开发环境提供了多种调试程序的运行操作。用户可以使用调试工具条或调试菜单“Debug中的相应命令控制程序的运行。创立工程工程.进入CCS集成开发环境.创立一个新的工程工程.将源程序文件、命令文件、库文件和头文件添加到工程工程中.单击所有“+项观看工程工程所包含的文件双击各图标,翻开各文件工程工程的编译1.工程工程的编译设置探测点.将volume.out文件装入目标板.设置探测点.为

22、探测点选择的数据文件.设置数据文件的属性.将数据文件到探测点.关闭“FileI/O对话框工程工程的调试和结果的图形显示设置断点设置输入变量的图形属性设置输出变量的图形属性运行程序,显示图形调整输出增益观察存放器的运行数据5.2仿真波形图图5.2仿真波形图仿真结果说明系统产生的波形稳定,抗干扰能力强,频率和幅度调节方便,准确度高。该设计方案简单可行,新颖实用,有推广价值。第6章总结本次课程设计中遇到一些课堂中从未有过的问题,通过网络查找和同学交流,大大促进了设计进程。并在过程中进一步提高自身的创作、创新水平,扎实根底,扩展所学。并且此次课程设计,基于课程理论知识和网上资料,使我对数字信号处理课程

23、有了更深一步的了解和掌握,对利用CCS软件编程的数字信号处理方法有了进一步的了解。在理论课的根底上进展实验实习,是对本门课程的深入学习和掌握,在以后的工作学习中,数字信号的处理都是采用计算机仿真的方法进展测试,因此,掌握基于计算机的数字信号处理方法对以后的工作和学习有很大的帮助。这样一个课程设计对我们的开展有着极大的帮助!最后,这个设计之所以能按时完成离不开教师的指导和同学的帮助,在这我对他们表示衷心的感。参考文献1顾卫钢.手把手教你学DSP-基于TMS320 x281x航空航天大学,2011.2奎峰等.TMS320X281xDSP原理及C程序开发.航空航天大学,2008.3奎峰等.TMS32

24、0F2812原理与开发.电子工业,2005.4万山明.TMS320F2812/2810原理及应用实例.航空航天大学,2007.TI公司著,胡广书等编译.TMS320C28X系歹DSP的CPU与外设清华大学,2005.TI公司著,胡广书等编译.TMS320C28X系列DSP指令和编程指南.清华大学,2005.附录DSP程序代码;ThisfunctiongeneratesthesinewaveofangleusingtheTaylorxpansion;sin(theta)=x(1-xA2/2*3(1-xA2/4*5(1-xA2/6*7(1-xA2/8*9);cos(theta)=1-xA2/2*3

25、(1-xA2/4*5(1-xA2/6*7(1-xA2/8*9);sin(2*theta)=2*sin(theta)*cos(theta)series e.titlesin.asm.mmregs.def_c_int00.refsinx,d_xs,d_sinx,cosx,d_xc,d_cosxsin_x:.usectsin_x,360STACK:.usectSTACK,10k_theta.set286PA0.set0_c_int00.textSTM#STACK+10,SPSTMk_theta,AR0STM0,AR1STM#sin_x,AR6STM#90,BRCRPTBloop1-1LDMAR1,A

26、LD#d_xs,DPSTLA,d_xsSTLA,d_xcCALLsinxCALLcosxLD#d_sinx,DPLDd_sinx,16,AMPYAd_cosxSTHMARloop1:STMB,1,*AR6+*AR1+0#sin_x+89,AR7STMRPTBLDSTLloop2:STMSTMRPTBLDNEGSTLloop3:STMSTMSTMloop4:PORTWBsinx:.def.datatable_s.word.word.word.wordd_coef_s.usectd_xs.usectd_squr_xs.usectd_temp_s.usect#88,BRCloop2-1*AR7-,A

27、A,*AR6+#179,BRC#sin_x,AR7loop3-1*AR7+,AAA,*AR6+#sin_x,AR6#1,AR0#360,bk*AR6+0%,PA0loop4d_xs,d_sinx01c7h030bh0666h1556hcoef_s,4sin_vars,1sin_vars,1sin_vars,1d_sinx.usectc_l_ssin_vars,1.usectsin_vars,1.textSSBXSTMRPTMVPDSTMSTMSTMSTSQURST|LDMASRMPYASTHMASRMPYAST|LDMASRMPYAST|LDMASRMPYASTHRETcosx:.defFRCT#d_coef_s,AR5#3#table_s,*AR5+#d_coef_s,AR3#d_xs,AR2#c_l_s,AR4#7FFFh,c_l_s*AR2+,AA,*AR2*AR4,B*AR2+,*AR3+,B,AAA,*AR2*AR2-,*AR3+,B,A*AR2+B,*AR2*AR4,B*AR2-,*AR3+,B,A*AR2+B,*AR2*AR4,B*A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论