[毕业设计精品]基于TMS320C5410芯片的余弦信号发生器.doc

上传人:仙人指路1688 文档编号:4146811 上传时间:2023-04-07 格式:DOC 页数:22 大小:1.03MB
返回 下载 相关 举报
[毕业设计精品]基于TMS320C5410芯片的余弦信号发生器.doc_第1页
第1页 / 共22页
[毕业设计精品]基于TMS320C5410芯片的余弦信号发生器.doc_第2页
第2页 / 共22页
[毕业设计精品]基于TMS320C5410芯片的余弦信号发生器.doc_第3页
第3页 / 共22页
[毕业设计精品]基于TMS320C5410芯片的余弦信号发生器.doc_第4页
第4页 / 共22页
[毕业设计精品]基于TMS320C5410芯片的余弦信号发生器.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《[毕业设计精品]基于TMS320C5410芯片的余弦信号发生器.doc》由会员分享,可在线阅读,更多相关《[毕业设计精品]基于TMS320C5410芯片的余弦信号发生器.doc(22页珍藏版)》请在三一办公上搜索。

1、基于TMS320C5410芯片的余弦信号发生器学生姓名: 指导老师:摘 要 本课程设计主要是设计一个基于TMS320C5410 芯片的余弦信号发生器,在TMS320C5410 DSP芯片上完成对波形的编程,软件编程主要采用模块化的设计思想,把程序细化成易于实现的小模块。编程的语言主要采用执行效率高的汇编语言编写程序。通过CCS仿真平台最终成功实现了余弦波波形的产生。通过最后的仿真结果可知,基于TMS320C5410 芯片的余弦信号发生器已初步实现了设计指标并可用于解决一些实际性的问题。关键词:信号发生器,TMS320C5410, C语言,CCS仿真ABSTRACT The cosine sig

2、nal generator is base on the TMS320C5410 chip in this course design. The waveform is programmed on the TMS320C5410 DSP chip, The software programming of the signal generator is mainly based on the modular design ideas, the refinement process into a small module is easy to implement. The programming

3、language is a flexible one which is mainly used efficient assembly language.Through the CCS emulating the generated of cosine waveforms is finally come true, the final simulation results indicate that the cosine signal generator based on the TMS320C5410 chip have been already initial realization of

4、the design specifications and can be used to solve some practical problems.Key words: signal generator, TMS320C5410, C language , CCS emulate1引 言数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科,是在模拟信号变成数字信号以后进行高速实时处理的专用处理器。DSP芯片以其独特的结构和快速实现各种数字信号处理算法的突出优点,发展十分迅速。数字信号发生器是在电子电路设计、自动控制系

5、统和仪表测量校正调试中应用很多的一种信号发生装置和信号源。而正弦信号是一种频率成分最为单一的常见信号源,任何复杂信号(例如声音信号)都可以通过傅里叶变换分解为许多频率不同、幅度不等的正弦信号的叠加,广泛地应用在电子技术试验、自动控制系统和通信、仪器仪表、控制等领域的信号处理系统中及其他机械、电声、水声及生物等科研领域。目前,常用的信号发生器绝大部分是由模拟电路构成的。当这种模拟信号发生器用于低频信号输出时,往往需要的RC值很大,这样不但参数准确度难以保证,而且体积和功耗都很大。而由数字电路构成的低频信号发生器,虽然其低频性能好,但体积较大,价格较贵。而本文借助DSP运算速度高,系统集成度强的优

6、势设计的这种信号发生器,比以前的数字式信号发生器具有速度更快,且实现更加简便。1.1 课程设计的目的科技的进步带动了DSP技术的发展,现代控制设备的性能和结构发生了巨大的变化,我们已经进入了高速发展的信息时代,DSP技术也成为当今科技的主流之一,被广泛地应用于生产的各个领域。对于本次设计,其目的在于:(1)熟悉掌握DSP及DSP硬件器的结构、各部件基本工作原理。(2)掌握基于TMS320C5410 DSP芯片实现余弦信号发生器的设计原理和实现方法。(3)熟悉CCS集成开发环境,并能较熟练的对CCS的开发系统进行使用。(4)熟悉使用汇编语言编程DSP源程序(5)掌握工程设计的流程及方法,学习DS

7、P程序的调试及编写,及运用观察变量的方法查看程序的运行情况。1.2 课程设计的要求(1)通过实际应用系统的分析、设计、编码、测试等工作,掌握DSP设计的一般方法和过程,初步掌握开发的有关技术。(2)要求所实现的系统具有较完善的功能,能够完成DSP系统相关功能。(3)对所设计的系统要求进行认真的测试与调试,所提交的软件系统要能正确运行。(4)在老师的指导下,独立完成课程设计的全部内容,并按要求编写课程设计论文,能正确阐述和分析设计和实验结果。1.3设计平台CCS集成开发环境。2 基本原理2.1 DSP系统简介如图2.1所示是数字信号处理(DSP)系统的简化框图。此系统先将模拟信号转换为数字信号,

8、经数字信号处理后,再转换成模拟信号输出。其中抗混叠滤波器的作用是将输入信号X(t)中高于折叠频率的分量滤除,以防止信号频谱的混叠。随后,信号经采样和A/D转换后,变成数字信号X(n)。数字信号处理器对X(n)进行处理,得到输出数字信号Y(n),经D/A转换器变成模拟信号。此信号经低通滤波器,滤除不需要的高频分量,最后输出平滑的模拟信号Y(t)。图2.1 数字信号处理系统简化框图设计DSP应用系统,DSP的选择是重要的一环。只有选择了DSP芯片,才能进一步设计其外围电路及系统的其他电路。总而言之,DSP芯片的选择应该根据实际应用系统的需要来定。一般来说,选择DSP芯片时应该考虑如下的因素:(1)

9、运算速度。运算速度是DSP芯片的最重要的性能指标,也是考虑选择DSP芯片的主要因素。(2)价格。价格也是选择DSP芯片时必须考虑的一个重要因素。最为毕业设计的课题研究,在满足设计要求的基础上,我们应当尽量的节约开支。(3)硬件资源。不同的DSP芯片硬件资源不同,如片内RAM与ROM的容量,外部可扩展的程序和数据空间以及总线接口等。(4)运算精度。(5)开发工具和功耗也是在选择DSP芯片时应该特别注意的。而TMS320C5410的DSP的运算速度指标如下:(1)单指令周期时间分为25/20/15/12.5/10ns;(2)每秒指令数为40/50/66/80/100/200MIPS。与此同时,作为

10、16位的定点DSP它的价格相对而言是很便宜的,同时它拥有16k的片内程序ROM,和64k的RAM以及96k的I/O空间,运算精度可以达到10e-5级精度,功耗较低(采用3.3/2.5v电源),完全能够满足本次课题研究的需要。因此本课程设计中DSP系统的设计流程如图2.2所示。图2.2 DSP系统设计流程2.2 TMS320C5410芯片简介TMS320C5410是为实现低功耗、高性能而专门设计的定点DSP芯片,主要应用在无线通信等应用系统中。它的体系结构采用先进的哈佛结构,程序与数据分开存放,内部具有8条高速并行总线。片内集成有片外的存储器和片内的外设以及专门用途的硬件逻辑,并配备有功能强大的

11、指令系统,使得芯片具有很高的处理速度和广泛的应用适应性。再加上采用模块化的设计以及先进的集成电路技术,芯片的功耗小、成本低、自推出以来已广泛地应用于移动通信、数字无线电、计算机网络以及各种专门用途的实时嵌入式系统和仪器仪表中。其内部结构如图2.3所示。图2.3DSP芯片内部结构基于TMS320C5410 DSP的信号发生器的具有如下特点:(1)速度快。由于TMS320VC5410DSP指令周期25/20/15/12.5/10ns,运算能力高达100 MIPS,此外,它内部还集成了维特比加速器,用于提高维特比编译码的速度,所以由它组成的信号发生器的波形生成速度快。(2)波形精度高。由于TMS32

12、0VC5410DSP有优化的CPU结构,内部有1个40位算术逻辑单元,2个40位累加器,2个40 位加法器,1个1717的乘法器和1个40位的桶形移位器,有4条内部总线和2 个地址产生器,所以它能产生高精度的信号波形。(3)功耗低。该信号发生器的组要部件TMS320C5410 可以在 3.3V或 2.7V电压下工作,三个低功耗方式(IDLE1、IDLE2和IDLE3)可以节省DSP 的功耗,从而降低信号发生器的功耗。 (4)稳定性好。该信号发生器的主要部件都是大规模的集成芯片,性能稳定,从而产生的波形信号也稳定。(5)成本较低。利用DSP构成的信号发生器的大部分功能成本可以嵌入到DSP的软件中

13、,而不是额外的硬件,大大的降低了成本和额外的开销。(6)编程方便。DSP可以使用汇编语言,也可以使用C语言,在软件编程中的修改或升级都特别的方便。(7) 可重复性好。模拟器件的性能受元器件参数性能变化的影响很大,而数字系统基本不受影响,因此,其便于测试、调试和大规模的生产。(8)可扩展性好。2.3 CCS软件简介软件设计是基于CCS开发环境的。CCS是TI公司推出的为开发TMS320系列DSP软件的集成开发环境,是目前使用最为广泛的DSP开发软件之一。它采用Windows风格界面,提供了环境配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发工具集成在一起,使程序的编写、汇编

14、、程序的软硬件仿真和调试等开发工作在统一的环境中进行,从而加速软件开发进程。本课程设计通过CCS软件平台上应用执行效率高的汇编语言来实现余弦信号发生装置。一个典型的CCS集成开发环境用户界面如图2.4所示。图2.4 CCS用户界面由上图知整个用户界面由主菜单、工具栏、工程窗口、源程序编辑调试窗口、输出窗口等组成。工程窗口用来组织用户飞若干程序构成一个项目,用户可以从工程列表中选择需要编辑和调试的特定程序,可以在工程中添加文件。在源程序编辑窗口中用户可以编辑程序,又可以设置断点、探针调试程序。输出窗口显示编译信息、程序执行结果。CCS主菜单中共有12项,如图2.5所示,各项功能见表2-1。图2.

15、5 CCS主菜单表2-1 主菜单各项功能简介菜单项功能File(文件)文件管理,载入执行程序,符号数据,文件输入/输出Edit(编辑)文字及变量编辑,如剪切、粘贴、撤销、字符串查找View(查看)工具栏显示设置,内存、寄存器和图形显示等Project(工程)工程管理及编译、构建工程等Debug(调试)断点、探针设置、单步执行、复位等Profiler(性能)包括时钟和性能断点设置等GEL(扩展功能)利用通用扩展语言设置扩展功能Option(选项)设置字体、颜色、键盘属性以及动画速度、内存映射Tools(工具)包括引脚链接、端口链接、命令窗口、链接配置DSP/BIOS(实时分析)用来辅助CCS环境

16、实现程序实时调试Window(窗口)包括窗口排列、窗口列表等Help(帮助)CCS在线帮助菜单,包括用户手册、入门指南等常用工具栏有CCS的一些常用命令组成,有6个工具栏,分别是: Standard Toolbar(标准工具条)、GEL Toolbar(GEL工具条)、Project Toolbar(工程工具条)、Debug Toolbar(调试工具条)、Edit Toolbar(编辑工具条)和Plug-in Toolbar(插件程序工具条)。这6种工具栏可在View菜单下找到,如图2.6所示,并可选择是否显示该工具栏。图2.6 View 菜单2.4 余弦信号发生器实现原理一般情况下产生余弦波

17、的方法有两种:查表法和泰勒级数展开法。(1)查表法:把事先将需要输出的数据计算好,存储在DSP中,然后依次输出就可以了。查表法的优点是速度快,可以产生频率较高的波形,而且不占用DSP的计算时间;查表法的缺点是在于需要占用DSP的内部的存储空间,尤其对采样频率比较大的输出波形,这样,需要占用的内部的空间将更大,而DSP内部的存储空间毕竟有所限制。这使得查表法的应用场合十分有限。 (2)泰勒级数展开法采用泰勒级数展开的方法依次计算数据而后输出,然后再计算而后输出。计算法的优缺点正好和查表法相反。即:其优点是不占用DSP的存储空间,其缺点是占用DSP的计算时间,使得执行程序的开销变大。查表法是使用比

18、较普遍的方法,优点是处理速度快,调频调相容易,精度高,但需要的存储器容量很大。泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。本文采用了泰勒级数展开法。产生一个余弦波信号,从D/A输出。余弦函数可以展开成泰勒级数,其表达式: (2-1)取泰勒级数的前5项,得近似计算式:(2-2)由余弦信号的递推公式: (2-3)得知:如果需要产生连续的余弦信号,必须首先知道两个余弦值的大小,然后就可以利用上式计算出后面的数据,用这种方法求少数点还可以,若要产生连续的余弦波,则积累误差太大,不可取,本课程设计主要利用泰勒级数展开法来实现。3 设计步骤3.

19、1程序流程图软件设计的思想是:正弦波的波形可以看作由无数点组成,这些点与x轴的每一个角度值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点对应的y的值(在x轴取N个点进行逼近)。整个系统软件由主程序和基于泰勒展开法的SIN子程序组成,相应的软件流程图如图3.1和图3.2所示。图3.1 COS子程序流程图以上流程图中。图3.2 主程序流程图程序中,N值为产生余弦信号一个周期的点数,产生的余弦信号频率与N数值大小及DA转换频率fDA有关,产生余弦波信号频率f的计算公式为:f=fDA/N。因此,选择每个余弦周期中的样点数,改变每个采样点之间的延迟,即通过调节N值产生不同频率的波形,

20、同时也可以利用软件改变输出的离散波形值乘以相应的缩放因子A,从而调节波形的幅度。3.2 具体实现过程CCS是一个开放的环境,可以通过设置不同的驱动程序完成对不同环境的支持。CCS setup 配置程序就是用来定义DSP芯片和目标板类型的。在第一次使用CCS之前必须首先运行CCS setup 配置程序。在以后的使用中,若想改变CCS应用平台的类型,可以再次运行该配置程序来改变设置。CCS软件集成了TI公司的Simulator和Emulatord 的驱动程序,用户可以直接用TI的仿真器进行开发测试。其配置过程如下,双击桌面上的Setup CCS 2(C5000)图标,弹出如图3.3所示的对话框。

21、图3.3 CCS配置对话框从该对话框中选择C5410 Device Simulator选项,然后单击Import按钮,如图3.4所示。图3.4 用户平台类型 该对话框中的Filter栏用于设置DSP类型、平台类型、是否进行内存映射等。在配置对话框完成后,单击Close按钮保存设置即完成了配置。完成配置后即可打开CCS仿真软件进行设计,首先创建源文件。(1) 选择File New Source File 命令,编写源代码(见附录一) cos.asm。(2)创建计算余弦值的链接命令文件cos.cmd(见附录二)。 其次是创建工程文件。(1) 打开CCS,点击Project-New,创建一个新工程,

22、其中工程名及路径如图3.5所示。图3.5 创建一个新工程点击完成即可完成工程创建。(2)右键点击Project 选择add files to project,添加工程所需文件。如图3.6所示图3.6 添加工程文件在弹出的对话框中的下拉菜单中分别选择cos.asm和cos.cmd点击打开,即可添加源程序到工程中,在project窗口中可见两个源文件都已添加进工程。如图3.7所示。图3.7 已添加源文件窗口然后是设置编译与连接选项,点击Project 选择Build Opitions, 在弹出的对话框中设置相应的编译参数,一般情况下,按默认值就可以;如图3.8所示。图3.8 编译环境设置同时在弹出

23、的对话框中选择连接的参数设置,设置输出文件名,堆栈的大小以及初始化的方式。如图3.9所示。图3.9 编译环境设置 最后是工程编译与调试,点击Project Build all,对工程进行编译,如正确则生成out 文件;若是修改程序,可以使用Project Build 命令,进行编译连接,它只对修改部分做编译连接工作,可节省编译与连接的时间。编译通过生成.out 文件。点击File load program,在弹出的对话框中载入debug 文件夹下的.out 可执行文件,装载完毕。4 仿真结果 利用泰勒级数展开式计算的一个角度的余弦值,采用调用cos.asm程序的方式,调用前只要在数据存储器d_

24、x单元中设定x的弧度值就行了,计算结果在d_cosx单元中,程序中药用到的一些存储单元存放数据和变量,如图4.1所示。 图4.1 计算余弦值存储单元分配 程序编译成功后,选择File菜单中的Load Program选项,将出现图4.2所示的加载界面。 图4.2 程序加载图 加载完成后若执行菜单命令“View”“Graph”“Time/Frequency”,就可以观察到所生成的余弦波形,如图4.3所示。图4.3产生的余弦信号波形图上图显示了一个周期内的余弦信号波形图,循环输出这个周期内的数据就会产生连续的波形。选择View中的Memory,Address中写上cosx,Format中选择数据显示

25、方式。如图4.4所示。图4.4 数据显示选择对话框余弦信号波形图中对应的实际数据如下图4.5所示。图4.5 cosx的数据图观察仿真结果可知初步实现了基于DSP芯片的余弦信号发生器的设计,在实际应用中,余弦波是通过D/A口输出的。选择每个余弦波周期中的样点数,改变每个样点之间的延迟,就能够产生不同频率的余弦波。5 出现的问题及解决方法(1)编写相关程序中部分代码出现问题无法运行,对CCS仿真软件也不大熟悉,通过查看原理及相关资料,了解余弦信号发生器原理和CCS软件,从而正确编写程序。 (2)理论验证时没有彻底搞清楚原理,尤其在输出的预先信号波形的表示,导致程序运行结果与理论验证结果不符。在查看

26、相关书籍,请教同学和老师下,最终彻底弄清楚了原理。(3)在查找相关资料时不懂取舍,导致查了很多无关的资料。解决方法是首先弄清楚余弦信号发生器的相关原理和课程设计的要求。(4)在写论文的过程中也出现了不少的问题,一些原理图如DSP芯片内部结构里的平行两直线在vosio 2003中根本就不知道怎么画,最后,通过多次练习,才找到最好的方式并达到理想的效果。6 结束语经过四周自己的摸索和老师同学的帮助,经过对课程设计的多次的修改,我终于顺利按时完成任务。在这次课程设计中,我遇到一些课堂中从未有过的问题,通过网络查找和同学交流,大大促进了设计进程。并在过程中进一步提高自身的创作、创新水平,扎实基础,扩展

27、所学。这次课程设计不仅让我更加深刻的了解了余弦信号发生器的产生原理和相关性质,也更加深刻理解了它通信系统中的重要作用。在整个设计过程中,对我来说收获最大的是那些分析和解决问题的方法与能力。从分析任务书,到如何找到设计原理,以及采用什么平台来实现原理都是环环相扣的一个过程,哪一个步骤出现了问题都会给最终的设计带来麻烦。我的理论知识和实际应用脱节,它需要我将学过的相关知识都系统地联系起来,对学过的理论进行深入的理解,这就为我们以后进行社会生产打下了基础。通过本次课程设计,我真切的体会到了理论与实际工程的联系,架起这座桥梁的就是我们的系统仿真。也正是因为有了系统仿真这个模块才让我们的理论在不至于和实

28、际工程相差很远,也让我们在学校里就可以验证理论知识,说到这里我不得不感到电子世界的奇妙。对于我们在校大学生来说很难遇到很好的机会可以把理论运用到真正的实际工程中去,因为我们没有经验,也因为实际工程的严谨,不存在尝试的可能性,不允许有任何差错。要完整的做好一个设计需要的不仅是懂得理论就可以了。回顾这次课程设计,感慨颇多,在短短的四周时间里,我不仅巩固了以前学过的知识,还学到了很多新知识。这次课程设计使我深刻认识到理论和实践相结合是很重要的,只有理论知识是远远不够的,只有把理论和实践结合起来,从实践中得出结论,才是真正自己掌握好的知识,才能提高自己的实际动手能力和独立思考解决问题的能力。同时,完成

29、课程设计的过程中我也发现了自己的很多不足。比如,有时候自己遇到问题做不出来就开始浮躁。通过此次课程设计我知道了做科学需要严谨的态度和广褒的知识,为我以后更好的学习指明了一个努力的方向。我会不断的努力学习,珍惜每次机会,把专业学好,锻炼自己独立思考问题的能力,同时培养自己理论联系实际及动手的能力。最后,这个设计之所以能按时完成离不开老师的指导和同学的帮助,在此对他们表示衷心的感谢,也感谢学校给了我这次锻炼自己和认识自己知识水平的好机会。参考文献1 支长义等.DSP原理及开发应用.北京:北京航空航天大学出版社,2006.2 清源科技.TMS320C54xDSP硬件开发教程.北京:机械工业出版社,2

30、003.3 刘益成.TMS320C54xDSP应用程序设计与开发.北京:北京航空航天大学出版社,2002.4 赵红怡.DSP技术与应用实例(第二版).北京:电子工业出版社,2008.5 刘剑科、王艳芬、王胜利.基于DSP的信号发生器的设计与实现J.制造与设计,2005.待添加的隐藏文字内容3附件附录一:产生余弦波部分程序清单.title cosx.asm .mmregs .def start .def cos_start, d_x, d_cosxSTACK: .usect STACK,10Hstart: STM #STACK+10,SP LD #d_x, DP ST #6487H, d_x C

31、ALL cos_startend: B endcos_start: .def cos_startd_coeff .usect coeff,4 .datatable: .word 0249H ;C1=1/(7*8) .word 0444H ;C2=1/(5*6) .word 0AABH ;C3=1/(3*4) .word 4000H ;C4=1/2d_x .usect cos_vars,1d_squr_x .usect cos_vars,1d_temp .usect cos_vars,1d_cosx .usect cos_vars,1c_l .usect cos_vars,1 .text SSB

32、X FRCT STM #d_coeff, AR5 RPT #3 MVPD #table,*AR5+ STM #d_coeff, AR3 STM #d_x,AR2 STM #c_l,AR4 ST #7FFFH,c_l SQUR *AR2+,A ;A=x2 ST A,*AR2 ;(AR2)=x2 |LD *AR4,B ;B=1 MASR *AR2+,*AR3+,B,A ;A=1-x2/56,T=x2 MPYA A ;A=T*A=x2(1-x2/56) STH A,*AR2 ;(d_temp)=x2(1-x2/56) MASR *AR2-,*AR3+,B,A ;A=1-X2/30(1-X2/56)

33、;T=x2(1-x2/56) MPYA *AR2+ ;B=x2(1-x2/30(1-x2/56) ST B,*AR2 ;(d_temp)=x2(1-x2/30(1-x2/56) |LD *AR4,B ;B=1 MASR *AR2-,*AR3+,B,A ;A=1-x2/20(1-x2/42(1-x2/72) MPYA *AR2+ ;B=x2(1-x2/20(1-x2/42(1-x2/72) ST B,*AR2 ; (d_temp)=B |LD *AR4,B ;B=1 MASR *AR2-,*AR3+,B,A ;A=1-x2(1-x2/30(1-x2/56) SFTA A,-1,A ;-1/2 N

34、EG A MPYA *AR2+ ; B=-x2/2(1-x2/12(1-x2/30(1-x2/56) MAR *AR2+ RETD ADD*AR4,16,B ;B=1-x2/2(1-x2/12(1-x2/30(1-x2/56) STH B,AR2 ;cos(theta) RET .end附录二:计算余弦值的链接命令文件MEMORY PAGE 0: EPROM: org=0E000h, len=1000h VECS: org=0FF80h, len=0080h PAGE 1: SPRAM: org=0060h, len=0020h DARAM: org=0080h, len=0010h SECTIONS .text :EPROM PAGE 0 .data :EPROM PAGE 0 STACK :SPRAM PAGE 1 cos_vars :DARAM PAGE 1 coeff :DARAM PAGE 1 .vectors :VECS PAGE 0

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号