基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx

上传人:b****2 文档编号:5727458 上传时间:2023-05-05 格式:DOCX 页数:24 大小:568.32KB
下载 相关 举报
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第1页
第1页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第2页
第2页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第3页
第3页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第4页
第4页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第5页
第5页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第6页
第6页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第7页
第7页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第8页
第8页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第9页
第9页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第10页
第10页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第11页
第11页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第12页
第12页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第13页
第13页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第14页
第14页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第15页
第15页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第16页
第16页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第17页
第17页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第18页
第18页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第19页
第19页 / 共24页
基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx

《基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx(24页珍藏版)》请在冰点文库上搜索。

基于TMS320C5410芯片的余弦信号发生器Word格式文档下载.docx

(3)对所设计的系统要求进行认真的测试与调试,所提交的软件系统要能正确运行。

(4)在老师的指导下,独立完成课程设计的全部内容,并按要求编写课程设计论文,能正确阐述和分析设计和实验结果。

1.3设计平台

CCS集成开发环境。

2基本原理

2.1DSP系统简介

如图2.1所示是数字信号处理(DSP)系统的简化框图。

此系统先将模拟信号转换为数字信号,经数字信号处理后,再转换成模拟信号输出。

其中抗混叠滤波器的作用是将输入信号X(t)中高于折叠频率的分量滤除,以防止信号频谱的混叠。

随后,信号经采样和A/D转换后,变成数字信号X(n)。

数字信号处理器对X(n)进行处理,得到输出数字信号Y(n),经D/A转换器变成模拟信号。

此信号经低通滤波器,滤除不需要的高频分量,最后输出平滑的模拟信号Y(t)。

图2.1数字信号处理系统简化框图

设计DSP应用系统,DSP的选择是重要的一环。

只有选择了DSP芯片,才能进一步设计其外围电路及系统的其他电路。

总而言之,DSP芯片的选择应该根据实际应用系统的需要来定。

一般来说,选择DSP芯片时应该考虑如下的因素:

(1)运算速度。

运算速度是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。

与此同时,作为16位的定点DSP它的价格相对而言是很便宜的,同时它拥有16k的片内程序ROM,和64k的RAM以及96k的I/O空间,运算精度可以达到10e-5级精度,功耗较低(采用3.3/2.5v电源),完全能够满足本次课题研究的需要。

因此本课程设计中DSP系统的设计流程如图2.2所示。

图2.2DSP系统设计流程

2.2TMS320C5410芯片简介

TMS320C5410是为实现低功耗、高性能而专门设计的定点DSP芯片,主要应用在无线通信等应用系统中。

它的体系结构采用先进的哈佛结构,程序与数据分开存放,内部具有8条高速并行总线。

片内集成有片外的存储器和片内的外设以及专门用途的硬件逻辑,并配备有功能强大的指令系统,使得芯片具有很高的处理速度和广泛的应用适应性。

再加上采用模块化的设计以及先进的集成电路技术,芯片的功耗小、成本低、自推出以来已广泛地应用于移动通信、数字无线电、计算机网络以及各种专门用途的实时嵌入式系统和仪器仪表中。

其内部结构如图2.3所示。

图2.3DSP芯片内部结构

基于TMS320C5410DSP的信号发生器的具有如下特点:

(1)速度快。

由于TMS320VC5410DSP指令周期25/20/15/12.5/10ns,运算能力高达100MIPS,此外,它内部还集成了维特比加速器,用于提高维特比编译码的速度,所以由它组成的信号发生器的波形生成速度快。

(2)波形精度高。

由于TMS320VC5410DSP有优化的CPU结构,内部有1个40位算术逻辑单元,2个40位累加器,2个40位加法器,1个17×

17的乘法器和1个40位的桶形移位器,有4条内部总线和2个地址产生器,所以它能产生高精度的信号波形。

(3)功耗低。

该信号发生器的组要部件TMS320C5410可以在3.3V或2.7V电压下工作,三个低功耗方式(IDLE1、IDLE2和IDLE3)可以节省DSP的功耗,从而降低信号发生器的功耗。

(4)稳定性好。

该信号发生器的主要部件都是大规模的集成芯片,性能稳定,从而产生的波形信号也稳定。

(5)成本较低。

利用DSP构成的信号发生器的大部分功能成本可以嵌入到DSP的软件中,而不是额外的硬件,大大的降低了成本和额外的开销。

(6)编程方便。

DSP可以使用汇编语言,也可以使用C语言,在软件编程中的修改或升级都特别的方便。

(7)可重复性好。

模拟器件的性能受元器件参数性能变化的影响很大,而数字系统基本不受影响,因此,其便于测试、调试和大规模的生产。

(8)可扩展性好。

2.3CCS软件简介

软件设计是基于CCS开发环境的。

CCS是TI公司推出的为开发TMS320系列DSP软件的集成开发环境,是目前使用最为广泛的DSP开发软件之一。

它采用Windows风格界面,提供了环境配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在统一的环境中进行,从而加速软件开发进程。

本课程设计通过CCS软件平台上应用执行效率高的汇编语言来实现余弦信号发生装置。

一个典型的CCS集成开发环境用户界面如图2.4所示。

图2.4CCS用户界面

由上图知整个用户界面由主菜单、工具栏、工程窗口、源程序编辑调试窗口、输出窗口等组成。

工程窗口用来组织用户飞若干程序构成一个项目,用户可以从工程列表中选择需要编辑和调试的特定程序,可以在工程中添加文件。

在源程序编辑窗口中用户可以编辑程序,又可以设置断点、探针调试程序。

输出窗口显示编译信息、程序执行结果。

CCS主菜单中共有12项,如图2.5所示,各项功能见表2-1。

图2.5CCS主菜单

表2-1主菜单各项功能简介

菜单项

功能

File(文件)

文件管理,载入执行程序,符号数据,文件输入/输出

Edit(编辑)

文字及变量编辑,如剪切、粘贴、撤销、字符串查找

View(查看)

工具栏显示设置,内存、寄存器和图形显示等

Project(工程)

工程管理及编译、构建工程等

Debug(调试)

断点、探针设置、单步执行、复位等

Profiler(性能)

包括时钟和性能断点设置等

GEL(扩展功能)

利用通用扩展语言设置扩展功能

Option(选项)

设置字体、颜色、键盘属性以及动画速度、内存映射

Tools(工具)

包括引脚链接、端口链接、命令窗口、链接配置

DSP/BIOS(实时分析)

用来辅助CCS环境实现程序实时调试

Window(窗口)

包括窗口排列、窗口列表等

Help(帮助)

CCS在线帮助菜单,包括用户手册、入门指南等

常用工具栏有CCS的一些常用命令组成,有6个工具栏,分别是:

StandardToolbar(标准工具条)、GELToolbar(GEL工具条)、ProjectToolbar(工程工具条)、DebugToolbar(调试工具条)、EditToolbar(编辑工具条)和Plug-inToolbar(插件程序工具条)。

这6种工具栏可在View菜单下找到,如图2.6所示,并可选择是否显示该工具栏。

图2.6View菜单

2.4余弦信号发生器实现原理

一般情况下产生余弦波的方法有两种:

查表法和泰勒级数展开法。

(1)查表法:

把事先将需要输出的数据计算好,存储在DSP中,然后依次输出就可以了。

查表法的优点是速度快,可以产生频率较高的波形,而且不占用DSP的计算时间;

查表法的缺点是在于需要占用DSP的内部的存储空间,尤其对采样频率比较大的输出波形,这样,需要占用的内部的空间将更大,而DSP内部的存储空间毕竟有所限制。

这使得查表法的应用场合十分有限。

(2)泰勒级数展开法

采用泰勒级数展开的方法依次计算数据而后输出,然后再计算而后输出。

计算法的优缺点正好和查表法相反。

即:

其优点是不占用DSP的存储空间,其缺点是占用DSP的计算时间,使得执行程序的开销变大。

查表法是使用比较普遍的方法,优点是处理速度快,调频调相容易,精度高,但需要的存储器容量很大。

泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。

本文采用了泰勒级数展开法。

产生一个余弦波信号,从D/A输出。

余弦函数可以展开成泰勒级数,其表达式:

(2-1)

取泰勒级数的前5项,得近似计算式:

(2-2)

由余弦信号的递推公式:

(2-3)

得知:

如果需要产生连续的余弦信号,必须首先知道两个余弦值的大小,然后就可以利用上式计算出后面的数据,用这种方法求少数点还可以,若要产生连续的余弦波,则积累误差太大,不可取,本课程设计主要利用泰勒级数展开法来实现。

3设计步骤

3.1程序流程图

软件设计的思想是:

正弦波的波形可以看作由无数点组成,这些点与x轴的每一个角度值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点对应的y的值(在x轴取N个点进行逼近)。

整个系统软件由主程序和基于泰勒展开法的SIN子程序组成,相应的软件流程图如图3.1和图3.2所示。

图3.1COS子程序流程图

以上流程图中

图3.2主程序流程图

程序中,N值为产生余弦信号一个周期的点数,产生的余弦信号频率与N数值大小及D/A转换频率fDA有关,产生余弦波信号频率f的计算公式为:

f=fDA/N。

因此,选择每个余弦周期中的样点数,改变每个采样点之间的延迟,即通过调节N值产生不同频率的波形,同时也可以利用软件改变输出的离散波形值乘以相应的缩放因子A,从而调节波形的幅度。

3.2具体实现过程

CCS是一个开放的环境,可以通过设置不同的驱动程序完成对不同环境的支持。

CCSsetup配置程序就是用来定义DSP芯片和目标板类型的。

在第一次使用CCS之前必须首先运行CCSsetup配置程序。

在以后的使用中,若想改变CCS应用平台的类型,可以再次运行该配置程序来改变设置。

CCS软件集成了TI公司的Simulator和Emulatord的

驱动程序,用户可以直接用TI的仿真器进行开发测试。

其配置过程如下,双击桌面上的SetupCCS2(’C5000)图标,弹出如图3.3所示的对话框。

图3.3CCS配置对话框

从该对话框中选择C5410DeviceSimulator选项,然后单击Import按钮,如图3.4所示。

图3.4用户平台类型

该对话框中的Filter栏用于设置DSP类型、平台类型、是否进行内存映射等。

在配置对话框完成后,单击Close按钮保存设置即完成了配置。

完成配置后即可打开CCS仿真软件进行设计,首先创建源文件。

(1)选择File→New→SourceFile命令,编写源代码(见附录一)cos.asm。

(2)创建计算余弦值的链接命令文件cos.cmd(见附录二)。

其次是创建工程文件。

(1)打开CCS,点击Project-->

New,创建一个新工程,其中工程名及路径如图3.5所示。

图3.5创建一个新工程

点击完成即可完成工程创建。

(2)右键点击Project选择addfilestoproject,添加工程所需文件。

如图3.6所示

图3.6添加工程文件

在弹出的对话框中的下拉菜单中分别选择cos.asm和cos.cmd点击打开,即可添加源程序到工程中,在project窗口中可见两个源文件都已添加进工程。

如图3.7所示。

图3.7已添加源文件窗口

然后是设置编译与连接选项,点击Project选择BuildOpitions,在弹出的对话框中设置相应的编译参数,一般情况下,按默认值就可以;

如图3.8所示。

图3.8编译环境设置

同时在弹出的对话框中选择连接的参数设置,设置输出文件名,堆栈的大小以及初始化的方式。

如图3.9所示。

图3.9编译环境设置

最后是工程编译与调试,点击Project→Buildall,对工程进行编译,如正确则生成out文件;

若是修改程序,可以使用Project→Build命令,进行编译连接,它只对修改部分做编译连接工作,可节省编译与连接的时间。

编译通过生成.out文件。

点击File→loadprogram,在弹出的对话框中载入debug文件夹下的.out可执行文件,装载完毕。

4仿真结果

利用泰勒级数展开式计算的一个角度的余弦值,采用调用cos.asm程序的方式,调用前只要在数据存储器d_x单元中设定x的弧度值就行了,计算结果在d_cosx单元中,程序中药用到的一些存储单元存放数据和变量,如图4.1所示。

图4.1计算余弦值存储单元分配

程序编译成功后,选择File菜单中的LoadProgram选项,将出现图4.2所示的加载界面。

图4.2程序加载图

加载完成后若执行菜单命令“View”—“Graph”—“Time/Frequency”,就可以观察到所生成的余弦波形,如图4.3所示。

图4.3产生的余弦信号波形图

上图显示了一个周期内的余弦信号波形图,循环输出这个周期内的数据就会产生连续的波形。

选择View中的Memory,Address中写上cosx,Format中选择数据显示方式。

如图4.4所示。

图4.4数据显示选择对话框

余弦信号波形图中对应的实际数据如下图4.5所示。

图4.5cosx的数据图

观察仿真结果可知初步实现了基于DSP芯片的余弦信号发生器的设计,在实际应用中,余弦波是通过D/A口输出的。

选择每个余弦波周期中的样点数,改变每个样点之间的延迟,就能够产生不同频率的余弦波。

5出现的问题及解决方法

(1)编写相关程序中部分代码出现问题无法运行,对CCS仿真软件也不大熟悉,通过查看原理及相关资料,了解余弦信号发生器原理和CCS软件,从而正确编写程序。

(2)理论验证时没有彻底搞清楚原理,尤其在输出的预先信号波形的表示,导致程序运行结果与理论验证结果不符。

在查看相关书籍,请教同学和老师下,最终彻底弄清楚了原理。

(3)在查找相关资料时不懂取舍,导致查了很多无关的资料。

解决方法是首先弄清楚余弦信号发生器的相关原理和课程设计的要求。

(4)在写论文的过程中也出现了不少的问题,一些原理图如DSP芯片内部结构里的平行两直线在vosio2003中根本就不知道怎么画,最后,通过多次练习,才找到最好的方式并达到理想的效果。

6结束语

经过四周自己的摸索和老师同学的帮助,经过对课程设计的多次的修改,我终于顺利按时完成任务。

在这次课程设计中,我遇到一些课堂中从未有过的问题,通过网络查找和同学交流,大大促进了设计进程。

并在过程中进一步提高自身的创作、创新水平,扎实基础,扩展所学。

这次课程设计不仅让我更加深刻的了解了余弦信号发生器的产生原理和相关性质,也更加深刻理解了它通信系统中的重要作用。

在整个设计过程中,对我来说收获最大的是那些分析和解决问题的方法与能力。

从分析任务书,到如何找到设计原理,以及采用什么平台来实现原理都是环环相扣的一个过程,哪一个步骤出现了问题都会给最终的设计带来麻烦。

我的理论知识和实际应用脱节,它需要我将学过的相关知识都系统地联系起来,对学过的理论进行深入的理解,这就为我们以后进行社会生产打下了基础。

通过本次课程设计,我真切的体会到了理论与实际工程的联系,架起这座桥梁的就是我们的系统仿真。

也正是因为有了系统仿真这个模块才让我们的理论在不至于和实际工程相差很远,也让我们在学校里就可以验证理论知识,说到这里我不得不感到电子世界的奇妙。

对于我们在校大学生来说很难遇到很好的机会可以把理论运用到真正的实际工程中去,因为我们没有经验,也因为实际工程的严谨,不存在尝试的可能性,不允许有任何差错。

要完整的做好一个设计需要的不仅是懂得理论就可以了。

回顾这次课程设计,感慨颇多,在短短的四周时间里,我不仅巩固了以前学过的知识,还学到了很多新知识。

这次课程设计使我深刻认识到理论和实践相结合是很重要的,只有理论知识是远远不够的,只有把理论和实践结合起来,从实践中得出结论,才是真正自己掌握好的知识,才能提高自己的实际动手能力和独立思考解决问题的能力。

同时,完成课程设计的过程中我也发现了自己的很多不足。

比如,有时候自己遇到问题做不出来就开始浮躁。

通过此次课程设计我知道了做科学需要严谨的态度和广褒的知识,为我以后更好的学习指明了一个努力的方向。

我会不断的努力学习,珍惜每次机会,把专业学好,锻炼自己独立思考问题的能力,同时培养自己理论联系实际及动手的能力。

最后,这个设计之所以能按时完成离不开老师的指导和同学的帮助,在此对他们表示衷心的感谢,也感谢学校给了我这次锻炼自己和认识自己知识水平的好机会。

参考文献

[1]支长义等.DSP原理及开发应用.北京:

北京航空航天大学出版社,2006.

[2]清源科技.TMS320C54xDSP硬件开发教程.北京:

机械工业出版社,2003.

[3]刘益成.TMS320C54xDSP应用程序设计与开发.北京:

北京航空航天大学出版社,2002.

[4]赵红怡.DSP技术与应用实例(第二版).北京:

电子工业出版社,2008.

[5]刘剑科、王艳芬、王胜利.基于DSP的信号发生器的设计与实现[J].制造与设计,2005.

附件

附录一:

产生余弦波部分程序清单

.title"

cosx.asm"

.mmregs

.defstart

.defcos_start,d_x,d_cosx

STACK:

.usect"

STACK"

10H

start:

STM#STACK+10,SP

LD#d_x,DP

ST#6487H,d_x

CALLcos_start

end:

Bend

cos_start:

.defcos_start

d_coeff.usect"

coeff"

4

.data

table:

.word0249H;

C1=1/(7*8)

.word0444H;

C2=1/(5*6)

.word0AABH;

C3=1/(3*4)

.word4000H;

C4=1/2

d_x.usect"

cos_vars"

1

d_squr_x.usect"

d_temp.usect"

d_cosx.usect"

c_l.usect"

.text

SSBXFRCT

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=x^2

STA,*AR2;

(AR2)=x^2

||LD*AR4,B;

B=1

MASR*AR2+,*AR3+,B

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

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2