现代DSP技术及应用课程总结报告Word格式文档下载.docx
《现代DSP技术及应用课程总结报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《现代DSP技术及应用课程总结报告Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
一、DSP的相关知识
1.1、DSP的简介
DSP(DigitalSignalProcessing)又称的数字信号处理,它的目的是对真实世界的连续模拟信号进行测量或滤波。
因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器(A/D)实现。
而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器(D/A)实现的。
1.2、DSP的特征和分类
信号(signal)是信息的物理体现形式,或是传递信息的函数,而信息则是信号的具体内容。
模拟信号(analogsignal):
指时间连续、幅度连续的信号。
数字信号(digitalsignal):
时间和幅度上都是离散(量化)的信号。
模拟信号处理缺点:
难以做到高精度,受环境影响较大,可靠性差,且不灵活等。
数字系统的优点:
体积小、功耗低、精度高、可靠性高、灵活性大、易于大规模集成、可进行二维与多维处理。
1.3、DSP芯片的基本结构和特点[1]
为了快速地实现数字信号处理运算,DSP芯片一般都采用特殊的软硬件结构。
以TMS320系列为例,其基本结构包括:
:
(1)哈佛结构;
(2)流水线操作;
(3)专用的硬件乘法器;
(4)特殊的DSP指令;
(5)快速的指令周期。
这些特点使得TMS320系列DSP芯片可以实现快速的DSP运算,并使大部分运算(例如乘法)能够在一个指令周期内完成。
由于TMS320系列DSP芯片是软件可编程器件,因此具有通用微处理器具有的方便灵活的特点。
二、DSP集成开发环境CCS的工作原理
2.1CCS概述
CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。
CCS支持如下所示的开发周期的所有阶段。
在使用本教程之前,必须完成下述工作:
安装目标板和驱动软件。
按照随目标板所提供的说明书安装。
如果你正在用仿真器或目标板,其驱动软件已随目标板提供,你可以按产品的安装指南逐步安装。
安装CCS.遵循安装说明书安装。
如果你已有CCS仿真器和TMS320c54X代码生成工具,但没有完整的CCS,你可以按第二章和第四章所述的步骤进行安装。
运行CCS安装程序SETUP.你可以按步骤执行第二章和第四章的实验。
SETUP程序允许CCS使用为目标板所安装的驱动程序。
CCS包括如下各部分:
CCS代码生成工具:
参见1.2节
CCS集成开发环境(IDE):
参见1.3节
DSP/BIOS插件程序和API:
参见1.4节
RTDX插件、主机接口和API:
参见1.5节
CCS构成及接口见图1-1。
图1-1CCS构成及接口
2.2代码生成工具
代码生成工具奠定了CCS所提供的开发环境的基础。
图1-2是一个典型的软件开发流程图,图中阴影部分表示通常的C语言开发途径,其它部分是为了强化开发过程而设置的附加功能。
图1-2软件开发流程
图1-2描述的工具如下:
C编译器(Ccompiler)产生汇编语言源代码,其细节参见TMS320C54x最优化C编译器用户指南。
汇编器(assembler) 把汇编语言源文件翻译成机器语言目标文件,机器语言格式为公用目标格式(COFF),其细节参见TMS320C54x汇编语言工具用户指南。
连接器(linker) 把多个目标文件组合成单个可执行目标模块。
它一边创建可执行模块,一边完成重定位以及决定外部参考。
连接器的输入是可重定位的目标文件和目标库文件,有关连接器的细节参见TMS320C54x最优化C编译器用户指南和汇编语言工具用户指南。
归档器(archiver)允许你把一组文件收集到一个归档文件中。
归档器也允许你通过删除、替换、提取或添加文件来调整库,其细节参见TMS320C54x汇编语言工具用户指南。
助记符到代数汇编语言转换公用程序(mnimonic_to_algebricassemblytranslatorutility)把含有助记符指令的汇编语言源文件转换成含有代数指令的汇编语言源文件,其细节参见TMS320C54x汇编语言工具用户指南。
你可以利用建库程序(library_buildutility)建立满足你自己要求的“运行支持库”,其细节参见TMS320C54x最优化C编译器用户指南。
运行支持库(run_time_supportlibraries)它包括C编译器所支持的ANSI标准运行支持函数、编译器公用程序函数、浮点运算函数和C编译器支持的I/O函数,其细节参见TMS320C54x最优化C编译器用户指南。
十六进制转换公用程序(hexconversionutility)它把COFF目标文件转换成TI-Tagged、ASCII-hex、Intel、Motorola-S、或Tektronix等目标格式,可以把转换好的文件下载到EPROM编程器中,其细节参见TMS320C54x汇编语言工具用户指南。
交叉引用列表器(cross_referencelister)它用目标文件产生参照列表文件,可显示符号及其定义,以及符号所在的源文件,其细节参见TMS320C54x汇编语言工具用户指南。
绝对列表器(absolutelister)它输入目标文件,输出.abs文件,通过汇编.abs文件可产生含有绝对地址的列表文件。
如果没有绝对列表器,这些操作将需要冗长乏味的手工操作才能完成。
2.3CCS集成开发环境
CCS集成开发环境(IDE)允许编辑、编译和调试DSP目标程序。
2.3.1编辑源程序
CCS允许编辑C源程序和汇编语言源程序,你还可以在C语句后面显示汇编指令的方式来查看C源程序。
集成编辑环境支持下述功能:
用彩色加亮关键字、注释和字符串。
以圆括弧或大括弧标记C程序块,查找匹配块或下一个圆括弧或大括弧。
在一个或多个文件中查找和替代字符串,能够实现快速搜索。
取消和重复多个动作。
获得“上下文相关”的帮助。
用户定制的键盘命令分配。
2.3.2创建应用程序
应用程序通过工程文件来创建。
工程文件中包括C源程序、汇编源程序、目标文件、库文件、连接命令文件和包含文件。
编译、汇编和连接文件时,可以分别指定它们的选项。
在CCS中,可以选择完全编译或增量编译,可以编译单个文件,也可以扫描出工程文件的全部包含文件从属树,也可以利用传统的makefiles文件编译。
2.3.3调试应用程序
CCS提供下列调试功能:
设置可选择步数的断点
在断点处自动更新窗口
查看变量
观察和编辑存储器和寄存器
观察调用堆栈
对流向目标系统或从目标系统流出的数据采用探针工具观察,并收集存储器映象
绘制选定对象的信号曲线
估算执行统计数据
观察反汇编指令和C指令
CCS提供GEL语言,它允许开发者向CCS菜单中添加功能。
2.4、开发一个简单的应用程序
使用helloworld实例介绍在CCS中创建、调试和测试应用程序的基本步骤;
介绍CCS的主要特点,为在CCS中深入开发DSP软件奠定基础。
2.4.1创建工程文件
在本章中,将建立一个新的应用程序,它采用标准库函数来显示一条helloworld消息。
1.如果CCS安装在c:
\ti中,则可在c:
\ti\myprojects建立文件夹hello1。
(若将CCS安装在其它位置,则在相应位置创建文件夹hello1。
)
2.将c:
\ti\c5400\tutorial\hello1中的所有文件拷贝到上述新文件夹。
3.从WindowsStart菜单中选择Programs→CodeComposerStudio‘C5400→CCStudio。
(或者在桌面上双击CodeComposerStudio图标。
)
注:
CCS设置
如果第一次启动CCS时出现错误信息,首先确认是否已经安装了CCS。
如果利用目标板进行开发,而不是带有CD-ROM的仿真器,则可参看与目标板一起提供的文档以设置正确的I/O端口地址。
4.选择菜单项Project→New。
5.在SaveNewProjectAs窗口中选择你所建立的工作文件夹并点击Open。
键入myhello作为文件名并点击Save,CCS就创建了myhello.mak的工程文件,它存储你的工程设置,并且提供对工程所使用的各种文件的引用。
2.4.2向工程添加文件
1.选择Project→AddFilestoProject,选择hello.c并点击Open。
2.选择Project→AddFilestoProject,在文件类型框中选择*.asm。
选择vector.asm并点击Open。
该文件包含了设置跳转到该程序的C入口点的RESET中断(c_int00)所需的汇编指令。
(对于更复杂的程序,可在vector.asm定义附加的中断矢量,或者,可用3.1节上所说明的DSP/BIOS来自动定义所有的中断矢量)
3.选择Project→AddFilestoProject,在文件类型框中选择*.cmd。
选择hello.cmd并点击Open,hello.cmd包含程序段到存储器的映射。
4.选择Project→AddFilestoProject,进入编译库文件夹(C:
\ti\c5400\cgtools\lib)。
在文件类型框中选择*.o*,*.lib。
选择rts.lib并点击Open,该库文件对目标系统DSP提供运行支持。
5.点击紧挨着Project、Myhello.mak、Library和Source旁边的符号+展开Project表,它称之为ProjectView。
打开ProjectView
如果看不到ProjectView,则选择View→Project。
如果这时选择过Bookmarks图标,仍看不到ProjectView,则只须再点击ProjectView底部的文件图标即可。
6.注意包含文件还没有在ProjectView中出现。
在工程的创建过程中,CCS扫描文件间的依赖关系时将自动找出包含文件,因此不必人工地向工程中添加包含文件。
在工程建立之后,包含文件自动出现在ProjectView中。
如果需要从工程中删除文件,则只需在ProjectView中的相应文件上点击鼠标右键,并从弹出菜单中选择Removefromproject即可。
在编译工程文件时,CCS按下述路径顺序搜索文件:
包含源文件的目录
编译器和汇编器选项的IncludeSearchPath中列出的目录(从左到右)
列在C54X_C_DIR(编译器)和C54X_A_DIR(汇编器)环境变量定义中的目录(从左到右)。
2.4.3查看源代码
1.双击ProjectView中的文件hello.c,可在窗口的右半部看到源代码。
2.如想使窗口更大一些,以便能够即时地看到更多的源代码,你可以选择Option→Font使窗口具有更小的字型。
/*========hello.c========*/
#include<
stdio.h>
#include"
hello.h"
#defineBUFSIZE30
structPARMSstr=
{
2934,