基于dsp的正弦信号发生器毕业设计内容摘要:

3. 程序存储器 ROM TMS320VC5402 的程序存储器可由 ROM 和 RAM配置而成,程 序空间可以定义在 ROM 上,也可以定义在 ROM 上。 当需要高速运行程序时,可以将片外 ROM 中的程序调入到片内 RAM中,以提高程序运行速度。 降低对外部 ROM 的要求,增强系统整体抗干扰性能。 4. 指令系统  支持单指令重复和块指令重复;  支持存储器块传送指令;  支持 32 位长操作数指令;  具有支持 2操作数或 3 操作数的读指令;  具有能并行存储和并行加载的算术指令;  支持条件存储指令及中断快速返回指令。 5. 片外围电路  软件可编程等待状态发生器;  可编程分区转换逻辑电路;  位可编程定时器;  内部震荡器或外部时钟源的片内 锁相环发生器;  全双工串行口,支持 8 位或 16位传送;  时分多路( TDM)串行口;  缓冲串行口( BSP)和多通道缓冲串行口( MCBSP)  6通道 DMA 控制器;  8/16 位并行主机接口( HPI);  外部总线判断控制,以断开外部的数据总线、地址总线和控制信号;  数据总线具有总线保持器的特性。 DSP 应用软件的开发流程 C5402 提供两种编程语言:汇编语言和 C/C++语言。 完成一般代码,这两种语言都可以使用,但对于运算量大的关键代码,最好采用汇编语言来完成,以提高程序的运算效率。 源程序编写好后,就要选 择开发工具与环境,’ C54x 提供两种开发环境:非集成开发北华航天工业学院毕业论文 7 环境和集成开发环境。 图 31 给出了’ C54x 非集成开发环境软件开发流程图,图中阴影部分是最常见的软件开发路径,其余部分可任选。 集成开发换将 CCS,在 Windows 操作系统下运行,集成了非集成开发环境的所有功能,并拓展了其它功能 [12]。 图 31 ’ C54x 非集成开发环境软件开发流程图 如何编写源程序和 cmd 文件 TMS320C5402 中源程序可用汇编和 C 语言编写,汇编语言程序是分段编写的,按COFF 文件格式组织程序。 COFF 目标文件都包含以下 3 种形式的段: C 源文件 C 编译器 汇编 源文件 汇编器 汇编 源文件 COFF 目标文件 链接器 可执行的 COFF 文件 宏源文件 存档器 宏库 存档器 目标 文件库 建库工具 运行时 支持库 EPROM 编程器 交叉引用 列表 器 调试工具 TMS320C54x 绝对地址 列表器 HEX 代码 转换工具 北华航天工业学院毕业论文 8 .text 段 (文本段 ),通常包含可执行代码; .data 段 (数据段 ),通常包含初始化数据; .bss 段 (保留空间段 ),通常为未初始化变量保留存储空间。 在程序中除了有硬指令语句外,还有许多汇编指令(伪指令)语句,它们是汇编源程序的重要组成部分。 在每条语句后面可以用分号隔开,写上注释,注释不参加汇编连接和最后的操作只是为了便于阅读和修改而作的程序说明。 一个完整的汇 编程序至少有三种基本的文件:汇编语言文件、头文件和命令文件。 汇编语言文件名的后缀为 .ASM ,该文件是由汇编指令编写实现功能;头文件后缀为 .H,该文件中定义 DSP 系统用到的一些寄存器映射地址 ,用户用到的常量和用户自定义的寄存器;命令文件名的后缀为 .CMD ,该文件实现对程序存储器空间和数据存储器空间的分配,常用到的伪指令有 MEMORY 和 SECTIONS。 完整的 C 语言程序还要比汇编程序多一个库文件, C 程序中要添加一些库函数,例如 include 等。 小结 本章讨论了 TMS320C54x 芯片的硬件结构、软件的开发过程以及如何编写源程序和 .cmd 文件,重点对芯片的内部总线结构、中央处理器 CPU、存储空间结构、片内外设、指令系统进行介绍,着重阐述了’ C54x 开发环境软件开发流程图,以及 COFF 文件格式更利于模块化编程。 北华航天工业学院毕业论文 9 第 4章 DSP 集成开发环境 TI 公司推出的用于开发 DSP 的集成开发环境 CCS( Code Composer Studio),采用Windows 风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了 DSP 芯片的开发与设计,目前使用最为广泛的 DSP开发环境之一。 CCS 有 两种工作模式:软件仿真器和与硬件在线编程。 软件仿真( Simulator)可以脱离 DSP 芯片 ,在 PC 机上模拟 DSP 的指令集与工作机制 ,主要用于前期算法实现和调试。 与硬件开发系统相结合的仿真 ( Emulator)是程序实时运行在 DSP 芯片上 可以在线编制和调试应用程序。 不同的 DSP 芯片系列要采用不同型号的 CCS,对于TMS320C5000 系列的 DSP 可采用 CCS(‘ C5000 )来仿真调试 [ 12]。 CCS 的安装与设置 CCS 的配置过程 CCS 到系统中。 将 CCS 安装光盘放入到光盘驱动器中 ,运行安装程 进行安装。 安装完成后,在桌面上会有 “ CCS (‘C 5000 )”和“ Setup CCS (‘C 5000 ) ” 两个快捷方式图标如图 41所示。 分别对应 CCS 应用程序和 CCS配置程序。 CCS 应用程序 图 41 CCS 配置程序 “ Setup CCS(‘ C5000)” 来配置程序设置驱动 程序。 系统将显示如图 42 界面: 选择与目标系统相匹配的配置文件。 例如使用 ’ C54x 软件仿真器,则在 “ Available”列表中选择 “ C5402 Simulater ” 栏,对话框中的 “ Filters” 用于设置 DSP 类型、平台类型、是否进行内存映射等。 图 42 CCS 系统设置窗口 北华航天工业学院毕业论文 10。 如图 43 中点击 “ install a Device Driver” ,弹出选择器件驱动对话框,选择驱动程序 ,单击“打开”按钮。 弹出如图 33所示的器件驱动属性对话框,单击 “ OK” 按钮,完成驱动的安装。 图 43 选择器件驱动程序对话框 图 44 器件驱动属性对话框 CCS 的应用 用 CCS5000 开发应用程序的一般步骤。 运行 CCS 程序 ,进入 CCS 集成调试环境 ,点击下拉菜单 北华航天工业学院毕业论文 11 Project,选择 New,就可以创建新工程,如图 45所示。 图 45 CCS 的开发界面 ,输入所要建立的新工程名(以 为例 ),点击“保存 ”,如 图 46 所示。 这样新工程 就建立了,下一次就可以直接打开这个工程了。 现在这个工程中就只有空文件夹,是一个空的工程。 接下来就是在此工程中加入用户所需要的程序。 图 46 建立工程弹出窗口。 包括源文件( C 或汇编)、命令文件 (.cmd 文件 ) \头文件( .h文件 )等。 再添加各类文件到工程中去, 然后对工程进行编译。 从下拉菜单 Project 选择 “ Add File s to Proj ect„ ” 或者右击工作窗口中工程 , 选 择 “ Add Files„ ” ,如 图 47 所示,这时,要根据需要,添加 *.C , *.asm, *.c md 等需要的文件到工程中去,添加时 CCS 会自动把文件放到相应的目录中,添加后文件会在 CCS 下北华航天工业学院毕业论文 12 显示出来。 如果在汇编或 C 语言中包含了某些头文件 ,则在工程中会将这些头文件自动包含进去 ,在工程目录下的 inlcude 文件夹中可以看到。 注意:对于 C 语言程序,除了要添加 *.C,*.c md 文件外,还必须添加实时运行库 ,这个工程才能 编译通过。 图 47 添加各类文件 ,必须添加中断向量表进去 ,例如 vercto m,中断程序才能正常执行。 文件添加完了后,就可以进行汇编、链接了 ,只要点击工具条中的 图标或者下拉菜单 Project 下 的 “ Rebuild All ” ,这样汇编和链接就一步完成了。 在 CCS 最下面 的 Me ssage 窗口中会出现如 图 48 所示的窗口。 图 48 输出窗口 图中说明所有文件没有任何语法错误。 如果有语法错误,将在 Message 窗口中显示 出来。 编程人员可以根据显示的信息,直接点击该信息,鼠标就定位到了错误位置,然后 可根据提示更改错误,每次修改完了后都要重新编译。 北华航天工业学院毕业论文 13。 选择下拉窗口 File 下的 Load Program,在弹出的窗口中加载刚刚生成的 *.out 文件,点击“打开”,可执行文件就自动加载到 DSP 中去了。 如图 49 图 49 加载程序窗口 工程调试 的应用界面 图 410 北华航天工业学院毕业论文 14 可以使用断点 、观察窗口 、探针等调试工具对错误进行调试 ;还可以对计算结果 /输出数据进行分析,评估算法性能。 ( 1 )断点调试 断点有两个功能: 1)动态执行按钮时运行到断点后可以更新图形显示, 2)调试程序 将鼠标放到要设置断点的行,单击工具栏断点开关按钮 ,还有可以单击快捷键 F9。 设置了断点后,该行开头就有一红色高亮圆点。 断点设置成功后,点击菜单“ Debug/Run ”,或者点击调试工具条按钮 ,程序就会运行到断点处停住 , PC 指针指到断点位置 ,黄色和红色同时在该行出现。 点击调试工具条按钮 ,程序 运行到此行就会更新图形显示。 ( 2 ) Watch 窗口调试 选择下拉菜单 View 下的选项 Watch Windown 或者工具条按钮 , 就会弹出一个空白的 Watch 窗口,弹出的窗口如图 411所示。 图 411 设置表达式观察窗口对话框 在 Name 栏下左击鼠标 ,填入“ *( int* ) 变量名 ”(例如变量为 DENOM),出现如 图 412 所示的窗口。 图 412 观察窗口 1 程序运行时 Watch 窗口将显示要查看的变量的值,如图 413 所示。 图 413 观察窗口 2 北华航天工业学院毕业论文 15 (3 )探针 ProbePoint 探针点调试可以让用户查看程序执行到某一位置时,各存储器窗口值、文件 I/O 等。 当设置了探测点与 C I/ O、 CPU 寄存器等连接起来后,实际程序是运行到断点处,但各窗口的更新值并不是断点处,而是探测点处的。 由于 CCS 增加了文件 I/ O 功能,利用探测点调试,可以在某一探测点位置看到外部文件数据流与 DSP 算法程序代码交换的情况。 按调试工具条按钮“ Toggle Probe Point ”将光标当前位置设置为探测点 ,可以看到如图 414 所示的对话框。 探测点设置成功后,当前位置会出现蓝色的菱形。 如果光标仍停留在探测点位置,再次点击工具条按钮“ Toggle Probe Point”,设置的探测点将被删除。 另外 ,CCS 还有剖析点 Profile Point 等工具。 图 414 中“ 1”图是探针和 .dat 文件连接在一起,“ 2”图中 ddress 域指示的是从文件中读取的数据将要存放的地址。 Length域指示的是每次到达 Probe Point 时从数据文件中读取多少个样点。 选中 Wrap Around表明读取数据的循环特性,每次读至文 件结尾处将自动从文件头开始重新读取数据。 这样将从数据文件中读取一个连续 (周期性 )的数据流。 单击 File I/O对话框中的 Add Probepoint按钮,将出现 Break/Probe Points 即图“ 3”对话框,选中 Probe Points 栏。 在 Probe Point列表中,高亮显示写有“ line 53No Connection”行。 表明第 53 行已设置Probe Point,但还没有与 PC 文件相关联。 在 Connect 域,单击向下箭头并从列表中选。 单击。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。