《DSP芯片原理及应用》课程.doc
《《DSP芯片原理及应用》课程.doc》由会员分享,可在线阅读,更多相关《《DSP芯片原理及应用》课程.doc(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、?DSP芯片原理及应用?课程实验指导书 路锦正 编著西南科技大学信息工程学院实验中心二七年二月目 录序 言 .03实验一 CCS软件应用实验04实验二 C语言与汇编混合编程编程14实验三 DSP定时器的应用22实验四 A/D转换实验25实验五 音频信号发生29实验六 语音信号FIR滤波32附录1 设备安装指南36序 言该课程是电子和通信专业的专业选修课,是一门技术性很强的实验课程。通过本实验课程加强对理论课程的认识和掌握,学会使用集成开发环境CCS,使用DSP实验箱调试和编写功能程序,理解DSP的工程开发的过程和技术细节,学会分析问题和解决问题的能力。主要内容包括:CCS软件应用实验,C语言和
2、汇编混合编程,A/D转换实验,定时器的应用,音频信号的发生和FIR算法实验等。通过该实验课程,学生掌握根本的DSP系统开发和算法优化的根本技术和过程,为将来的实际工程开发奠定坚实的根底本实验的总学时数为16学时,其中前两个实验每个2学时,后四个实验每个3个学时。也可根据具体的情况和要求做调整。实验中心主任张笑微教授在指导书编写过程中提出了许多珍贵的意见和建议,在此表示感谢!由于时间紧任务重,作者水平有限,错误在所难免。敬请读者批评指正!编著者实验一 CCS软件应用实验2学时一、实验目的1、掌握CCS软件的根本功能和作用2、掌握CCS软件的安装、配置过程3、了解DSP开发系统与PC机的连接方法和
3、步骤4、熟悉CCS开发环境和根本操作,了解TMS320C55xx 软件开发过程。 学习创立工程和管理工程的方法。 了解根本的编译和调试功能。 学习使用观察窗口。 了解图形功能的使用。5、软件仿真的作用、步骤和根本原理二、预习要求1、CCS的根本作用和功能有个预先的概念认识和了解。CCS,即Code Composer Studio代码生成室。它是TI公司为开发DSP产品的集成环境开发工具软件,它是集编辑、编译、链接和调试及图形、图像显示等等多功能于一体的开发工具软件。开发环境可分为:软件仿真和硬件仿真。不同的开发环境有不同的功能。软件仿真即只有CCS软件,仿真算法执行的结果,仿真、模拟程序在DS
4、P芯片上运行。硬件仿真即在评估板EVM,Evaluation Module或初学者开发套件(DSK,Developer Starter Kit)硬件平台上,把程序灌入Load ProgramsDSP芯片运行。CCS有几个版本,现在最新到V3.1,一般使用V2.1或V2.2。另外,根据TI的DSP分为C2000、C5000和C6000系列。那么CCS也相应有对应的版本。各个系列DSP的CCS软件功能根本相同。2、标准C语言的编程标准和约定。CCS支持标准C语言的编程,各种标准库都可以使用。只要在应用的地方把头文件*.h包含即可。另外DSP的C语言还有自己的特殊约定,例如代码段的放置,各种关键字的
5、使用等。详见对应的文档或者教材。3、ICETEK-VC5509-A-USB-EDUICETEK为北京瑞泰的标识,VC5509-A表示DSP芯片为TMS320VC5509APAGE。4、CPU核结构。图 1 TMS320C55XDSP结构框图三、实验原理与参考电路1、调试工具开发TMS320C55XX 应用系统一般需要以下几个调试工具来完成:1软件集成开发环境CCS(Code Composer Studio 2.21):完成系统的软件开发,进行软件和硬件仿真调试。它也是硬件调试的辅助手段。2开发系统、仿真器(ICETEK 5100-USB 或ICETEK 5100-PP):实现硬件仿真调试时与硬
6、件系统的通信,控制和读取硬件系统的状态和数据。3评估模块即评估板TEK VC5509-A 或ICETEK VC5509-C 等):提供软件运行和调试的平台和用户目标系统开发的参照。2、CCS的作用CCS主要完成系统的软件开发和调试。它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C 语言程序编译连接生成COFF (公共目标文件)格式的可执行文件,并能将程序下载到目标DSP 上运行调试。3、CCS工程文件用户系统的软件局部可以由CCS 建立的工程文件进行管理,工程一般包含以下几种文件:1源程序文件:C 语言或汇编语言文件(*.C 或*.ASM)2头文件(*.H):各种结构体和变量的定
7、义,宏的定义,函数的声明等。3命令文件(* D):内存的使用情况,各个段的放置、地址和大小等情况。4库文件(*.LIB,*.OBJ): TI或用户自己定义的库文件,TI提供许多特定DSP、的库文件。用户自己编写的算法库文件。CCS既可以生成可执行工程文件,也可以生成库文件。5内存映射文件(*.map):CCS编译连接后,生成的内存映射文件,开发人员可以根据此文件掌握内存的使用状况。6可执行文件(*.out): 可以在DSP上运行的可执行文件。在调试的时候,用CCS的Load program功能把此文件灌入到DSP芯片中。四、实验内容本实验主要是软件仿真,即完全用CCS软件运行用户程序。软件仿真
8、是在实验条件有限的环境下,如没有EVM或DSK、目标板等硬件设备。软件仿真通常用于调试纯软件的算法和进行效率分析等。由CCS软件在PC 机内存中构造一个虚拟的DSP 环境,可以调试、运行程序。在某种程度上,软件仿真是可信的。但是在有些情况下,如使用了外设DMA或算法非常复杂等,那么软仿的结果就不可信了,甚至结果错误。因为一般软件无法构造DSP中的外设在使用软件仿真方式工作时,无需连接板卡和仿真器等硬件。1、配置CCS工作环境:1双击桌面上的,进入CCS设置窗口,“Import Configuration。2在出现的窗口中按标号顺序进行如下设置:图2 CCS 初始化配置窗口接着在下面出现的窗口中
9、选择“否(N)。此时CCS 已经被设置成Simulator 方式(软件仿真TMS320VC5509A 器件的方式),如果一直使用这一方式就不需要重新进行以上设置操作了。3启动CCS:启动软仿Simulator方式,双击桌面上的图标:。2、启动CCS后的窗口。为方便介绍各个CCS各个功能,这里截取了一个实用工程的开发界面,假设按照以上步骤操作的话,界面要简单的多。图3为CCS工作环境,图4为一个典型开发工程的开发界面。图 3 CCS工作环境图4 典型实用开发工程CCS界面3、创立工程 创立新的工程文件:选择菜单“Project的“New项。图 5 建立新工程操作弹出下列图,按编号顺序操作建立vo
10、lume.pjt 工程文件:单击完成设置 单击此按钮,选择工程所在目录为C:tiICETEK-VC5509-EDULabLab0101-UseCCS输入新建工程名volume图6 创立新工程步骤展开主窗口左侧工程管理窗口中“Projects下新建立的“,其中各项均为空。 在工程文件中添加程序文件:选择菜单“Project的“Add Files to Project项;在“Add Files to Project对话框中选择文件目录为C:TiICETEK-VC5509-EDULabLab0101-UseCCS,改变文件类型为“C SourceFiles(*.c;*.ccc),选择显示出来的文件“
11、;重复上述各步骤,添加d 文件到volume 工程中;添加C:tiC5500cgtoolslibrts55.lib 文件到工程中。 编译链接工程:选择菜单“Project的“Rebuild All项,或单击工具条中的按钮;注意编译过程中CCS 主窗口下部的“Build提示窗中显示编译信息,最后将给出错误和警告的统计数。4、编辑修改工程中的文件: 查看工程文件:展开CCS 主窗口左侧工程管理窗中的工程各分支,可以看到“工程中包含“、“、“v和“文件,其中第一个“为程序在编译时根据程序中的“include语句自动参加的。 查看源文件: 双击工程管理窗中的“文件,可以查看程序内容。可以看到,用标准C
12、语言编制的程序,大致分成几个功能块:-头文件。描述标准库程序的调用规那么和用户自定义数据、函数头、数据类型等。具体包含哪一个头文件,需要根据程序中使用了哪些函数或数据而定。比方:如果程序中使用了printf 函数,它是个标准C 提供的输入/输出库函数,选中“printf关键字,按Shift+F1会启动关于此关键字的帮助,在帮助信息中可发现其头函数为,那么在此局部程序中需要增加一条语句:#include “stdio.h。-工作变量定义。定义全局变量。-子程序调用规那么。这局部描述用户编制的子程序的调用规那么。也可以写到用户自己编制的.h 文件中去。-主程序。即main()函数。它可分为两局部:
13、变量定义和初始化局部、主循环局部。主循环局部完成程序的主要功能。-用户自定义函数。这个程序是一个音频信号采集、处理输出的程序。程序的主循环中调用自定义的函数read_signals 来获得音频数据并存入输入缓存inp_buffer 数组;再调用自定义函数write_buffer来处理音频数据并存入输出缓存;output_signals 将输出缓冲区的数据送输出设备;最后调用标准C 的显示信息的函数printf 显示进度提示信息。整个系统可以完成将输入的音频数据扩大volume 倍后再输出的功能。read_signals 子程序中首先应有从外接AD 设备获得音频数据的程序设计,但此例中由于未采用
14、实际AD 设备,就未写相应控制程序。此例打算用读文件的方式获得数据,模拟代替实际的AD 输入信号数据。write_buffer 子程序中首先将输入缓冲区的数据进行放大处理,即乘以系数volume,然后放入输出缓冲区。output_signals 函数完成将处理后的设备输出的功能,由于此例未具体操作硬件输出设备,所以函数中未写具体操作语句。 双击工程管理窗中的“文件,翻开此文件显示,可以看到其中有主程序中要用到的一些宏定义如“BUF_SIZE等。 volume d 文件定义程序所放置的位置,此例中描述了ICETEK-VC5509-A 评估板的存储器资源,指定了程序和数据在内存中的位置。比方:它首
15、先将ICETEK-VC5509-A 评估板的可用存储器分为五个局部,每个区给定起始地址和长度(区域地址空间不允许重叠);然后指定经编译器编译后产生的各模块放到哪个区。这些区域需要根据评估板硬件的具体情况来确定。 编辑修改源文件及编译程序:翻开“,找到“main()主函数,将语句“input=inp_buffer;最后的分号去掉,这样程序中就出现了一个语法错误;重新编译连接工程,可以发现编译信息窗口出现发现错误的提示;双击红色错误提示,CCS 自动转到程序中出错的地方;将语句修改正确(将语句末尾的分号加上);重新编译;注意,重新编译时修改正的文件被CCS 自动保存。 修改工程文件的设置:图 7
16、Build Options对话框通过以上设置操作,重新编译后,程序中的用户堆栈的尺寸被设置成1024 个字。5、根本调试功能: 下载程序: 执行File Load Program , 在随后翻开的对话框中选择刚刚建立的C:TiICETEK-VC5509-EDULabLab0101-UseCCSDebugvolume.out 文件。 设置软件调试断点:在工程浏览窗口中,双击volume.c 激活这个文件,移动光标到main()行上,单击鼠标右键选择Toggle Breakpoint 或按F9 设置断点(另外,双击此行左边的灰色控制条也可以设置或删除断点标记)。 利用断点调试程序:选择Debug
17、Run 或按F5 运行程序,程序会自动停在main()函数上。按F10 执行到write_buffer()函数。再按F8,程序将转到write_buffer 函数中运行。此时,为了返回主函数,按shift-F7 完成write_buffer 函数的执行。再次执行到write_buffer 一行,按F10 执行程序,比照与F8 执行的不同。提示:在执行C 语言的程序时,为了快速的运行到主函数调试自己的代码,可以使用Debug Go main 命令,上述实验中的使用的是较为繁琐的一种方法。6、使用观察窗口: 执行View Watch Window 翻开观察窗口。 在volume.c 中,用鼠标双击
18、一个变量(比方num),再单击鼠标右键,选择“Quick Watch,CCS 将翻开Quick Watch 窗口并显示选中的变量。 在volume.c 中,选中变量num,单击鼠标右键,选择“Add to Watch Window,CCS 将把变量添加到观察窗口并显示选中的变量值。 在观察窗口中双击变量,那么可以在这个窗口中改变变量的值。 把str 变量加到观察窗口中,点击变量左边的+,观察窗口可以展开结构变量,并且显示结构变量的每个元素的值。 把str 变量加到观察窗口中;执行程序进入write_buffer 函数,此时num 变量超出了作用范围,可以利用Call Stack 窗口观察在其他
19、函数中的变量:选择菜单View Call Stack 翻开堆栈窗口。双击堆栈窗口的main()选项,此时可以观察num 变量的值。7、文件输入/输出:下面介绍如何从PC 机上加载数据到DSP 上。用于利用的数据流测试算法。在完成下面的操作以前,先介绍Code Composer Studio 的Probe探针断点,这种断点允许用户在指定位置提取/注入数据。Probe 断点可以设置在程序的任何位置,当程序运行到Probe断点时,与Probe 断点相关的事件将会被触发,当事件结束后,程序会继续执行。在这一节里,Probe 断点触发的事件是:将PC 机存储的数据文件中的一段数据加载到DSP 的缓冲区中
20、。 在真实的系统中,read_signals 函数用于读取A/D 模块的数据并放到DSP 缓冲区中。在这里,代替A/D 模块完成这个工作的是Probe 断点。当执行到函数read_signals 时,Probe断点完成这个工作。在程序行read_signals(input);上单击鼠标右键,选择“Toggle breakpoint,设置软件断点。再在同一行上单击鼠标右键,选择“Toggle Probe Point,设置Probe 断点。 执行以下操作:图 8 设置探点此时,已经配置好了Probe 断点和与之关联的事件。进一步的结果在下面实验中显示。8、图形功能简介:下面我们使用CCS 的图形功
21、能检验上一节的结果。首先进行下面设置操作:-在弹出的图形窗口中单击鼠标右键,选择“Clear Display。-按F12 运行程序。观察Input 窗口的内容。9、选择菜单Fileworkspacesave workspacs As,输入文件名SY.wks 。10、退出CCS。五、实验报告要求1、实验报告中不能和实验内容中的文字雷同,用自己的话描述;2、总结CCS软件应用的体会;3、画图说明Input 和Output的图形为什么看到的不同,和断点有关吗?4、画出CCS的结果波形。六、思考题1、报告中阐述软件仿真和硬件仿真的区别、工作过程等;2、阐述配置和启动CCS的几个重要过程;3、阐述探点的
22、使用过程;4、看到的波形是连续的,那么程序中的数据是模拟信号吗?七、考前须知1、自己建立的工程和文件不要放置在C或D盘的目录下;2、运行CCS前,必须先配置SetupCCS;3、在观察波形的时候,注意变量地址的引用:&;4、加探点的时候须小心,确保探点设置成功。八、实验元器件、仪器、仪表1、电脑2、参考资料1/folders/print/tms320vc5509a.html2DSP教学实验箱使用说明书“,北京瑞泰创新实验二 C语言与汇编语言混合编程2学时一、实验目的1、学习用汇编语言编制程序;了解汇编语言程序与C 语言程序的区别和在设置上的不同。2、了解TMS320C55x 汇编语言程序结果和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP芯片原理及应用 DSP 芯片 原理 应用 课程
限制150内