《DSP原理与应用实验讲义(精).docx》由会员分享,可在线阅读,更多相关《DSP原理与应用实验讲义(精).docx(87页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、介J意改堂多涔-1 -Q通翁工彳呈2班刖百随着数字电子技术不断发展,人们对数字信号处理的要求也越来越高,传统意义 上的微处理器已不能满足现代数字电子技术发展的要求,而数字信号处理器(DSP)在近20多年的发展与普及后,应用领域几乎涵盖了所有的行业:通信、 信息处理、自动控制、雷达、航空航天、医疗、日常消费品等。目前大多数学校 都是理论结合实验进行教学,围绕该课程所开的实验课程皆为阶段性理论的验证 实验,实验设备也仅是为验证某些算法和理论所使用,实验的项目相对来说比较 单一和固定,实验设备的利用效率低下,其实验设备缺少研发和形成一个数字信-9-5.实验步骤:5.1 创建源文件.双击第ITS 2
2、C C5000)1 图标进入CCS环境。1 .打开 CCS 选择 File New Source File 命令.编写源代码并保存Elle Edit Ile Eroject Debug Piofller QBL Option Tools DSP/BIOS Undo* Help必纣 。(3 &曰日画dCPO HALTEDFor Help, press FlLn L Col 1(?X 冉*/ 膏.保存源程序名为math.c,选择File -Save制意改燹学落-10-5.创建其他源程序(如.cmd)可重复上述步骤。5.2创建工程文件1 .打开CCS,点击Project-New,创建一个新工程,其中
3、工程名及路径可任意指 定弹出如下对话框:弹出如下对话框:弹出如下对话框:Project Crent i onProjectLocation:Project largetExecutable (. out) |TMS320C67XX2.在Project中填入工程名,Location中输入工程路径;其余按照默认选项,点击兀创意改变多话Open. . 0032Ctrl+O| SaveCtrHSSave A$Save AllLoad Erograa.Load SymbolsReload Sy*bolsQnload SymbolsLoad ELDataWorkspaceElle I/O.Prinl.Ct
4、rUPPrint PrgvievRecent Source FilesRecent YorUpacesOpen. . 0032Ctrl+O| SaveCtrHSSave A$Save AllLoad Erograa.Load SymbolsReload Sy*bolsQnload SymbolsLoad ELDataWorkspaceElle I/O.Prinl.CtrUPPrint PrgvievRecent Source FilesRecent YorUpacesOpen. . 0032Ctrl+O| SaveCtrHSSave A$Save AllLoad Erograa.Load Sy
5、mbolsReload Sy*bolsQnload SymbolsLoad ELDataWorkspaceElle I/O.Prinl.CtrUPPrint PrgvievRecent Source FilesRecent YorUpaces.在弹出的对话框中的下拉菜单中分别选择.c点击打开,即可添加源程序math.c 添 加到工程中; /C54x skniiator (Texas Instr undents /C54x skniiator (Texas Instr undentsAdd Files to Project查找苞围(D:DTK-1ATH研(?-J Debug H)m拙文件名(K)
6、:|nath文件类型(工):札C Source Files (.c;.ccc)D File ViewC+ Source Files (.cpp;*.cc;*. cxx)As Source Files (.a*,*,s*)Object and Library Flies (. o*z*. 1)Configuration File (*. cdb)Linker Connand File (. cud)Visual Linker Recipe (.rep)AU Files (*.*)ZjFor Heip, press FlCPU HALTED.同样的万法可以添加文件math.cmd、rts.lib到
7、工程中;在下面窗口中可以看到 math.Cs math.cmd、rts.lib文件已经加到工程文件中。创意改燹专译5.3设置编译与连接选项.点击 Project 选择 Build Opitions ;.在弹出的对话框中设置相应的编译参数,一般情况下,按默认值就可以;General Coapller Linker | Link Order |1 .在弹出的对话框中设置相应的编译参数,一般情况下,按默认值就可以;General Coapller Linker | Link Order |General Coapller Linker | Link Order |General Coapller L
8、inker | Link Order |Prograa Level Opt. “None确定帮助?xBui Id Opt iunu for mnth. pj tBasicGenerate Debug ,Opt Level:Full Sywbolic Debug -g)I Bone二CPU HALTEDftip2 0的口雷幻adTh. pjt j 田纷agsCategory:BasicFiles LlCBL file .J Projects -4 t,-JDep 一|DSP Geru Inc-Lib r-Sua 囱 g nattAdvanced C54x Co*pat Feedback File
9、s Asseably Assembly (2 Parser Preprocessc Diagnostics三里涌二I 2J.在弹出的对话框中选择连接的参数设置,设置输出文件名(可执行文件与空间 分配文件),堆栈的大小以及初始化的方式。Build Opt ion亦 for nnth. pjtath. pjtath. pjtath. pjtCtetory:,Files 一|GEL file Projects -工 aath.-JDep-J DSP Gen _J Inc国 圆 早一LTJUCPU HALTEDB&$lcAdrancedBasic Suppress Banner (-q)v Exhau
10、stively Read Libraries (-x)Output lodule: Output Filename (-0): Vap Filename (): Autoinit lodel: Heap Size (-heap): Stack Size (-tack): Systea Stack Fill Value (-f): Code Entry Point -e):). Detugnath. out|. Debugnath. nap-.-:Ant inif 1 jKzj, |1000|500|500Library Search Path /八rInclude Libraries (-1)
11、:瑞定 取消 | 索助 | 2JGeneral I Coipiler Linker | Link Order |剌意改燹专%-13-5.4工程编译与调试1 .点击Project -Build all,对工程进行编译,如正确则生成out文件;若是修改 程序,可以使用Project-Build命令,进行编译连接,它只对修改部分做编译连接工 作。可节省编译与连接的时间。编译通过,生成.out文件;2 .点击File -load program,在弹出的对话框中载入debug文件夹下的.out可执行 文件;.装载完毕;创意改燹改落-14-.点击debug Go Main回到C程序的入口 ;Elle E
12、dit Vlev Eroject Debug Profiler Option Tools DSP/BIOS VlndovHelp国会。 亍,二 * a &中昌w|ath.pjt两藁三图曲es y a 3at a 0国同日回di FilesGEL files-Projects-aath. pjt I .J Dependen- l neD /VAC JdJIL7,void main()fixed_add(1556,40);fixed.sub(334,222,;fixed.mul(188,188);fixed_div(186r18);f id kl (?. Sr3.1.3);CPU HALTED|
13、Build 入 Stdout/ For Helo. Dress FlHU3 .打开File Workspace Save Workspace保存调试环境,以便下次调试时不需 要 重新进行设置。只要File Workspace Load Workspace即可恢复当前设置。4 .思考题LDSP软件开发与常规的软件开发(如:VC+等)有何区别?2.仿真器在DSP软件开发中的作用是什么?创愈改燹学话 基础实验2:简单应用程序的调试1.实验目的:1 .熟悉CCS集成开发环境,掌握工程的生成方法;.熟悉SEED-DEC5502实验环境;.掌握CCS集成开发环境的调试方法。2 .实验内容:1 .编译与链接
14、的设置,生成可执行的DSP文件;.进行DSP程序的调试与改错;.学习使用CCS集成开发工具的调试工具;.实验程序,包含文件:本实验中主要包括以下文件:l.math.c这个文件中包含了实验中关于DSP运算的主要函数。主要包含有: fixed_add(int x,int y):定点加法运算; fixed_sub(int x,int y):定点减法运算; fixed_mul(int x,int y):定点乘法运算;fixed_div(int x,int y):定点除法运算;float_add(double x,double y):浮点加法运算; float_sub(double x,double y
15、):浮点减法运算; float_mul(double x,double y):浮点乘法运算; float_div(double x,double y):浮点除法运算; float_fixed(double x):浮点转定点运算; fixed_float(int x):定点转浮点运算;math.cmd这是DSP的链接文件。它的主要功能是将DSP的每段的程序链接到 相应的DSP的存贮区中。2. rts55x.lib这是一个库文件,主要包含了有关C的运行环境与相应的函数的代 码。3. 实验准备:首先将光盘下03. Examples of Program 04. SEED-DTK5502实验程序目录下
16、的 3.1.5 Math文件夹拷贝到D :盘根目录下。1 .将DSP仿真器与计算机连接好;.将DSP仿真器的JTAG插头与SEED-DEC5502单元的J1相连接;.打开 SEED-DTK5502 的电源。观察 SEED-DTK_MBoard 单元的 + 5V, + 3.3V,号处理产品的能力。目前,我校的通信工程专业开设了数字信号处理、语 音信号处理、数字图像处理等信号处理相关课程,但尚缺乏一个动手实践 和灵活应用的实验平台。数字信号处理器由于其优异的运算能力和独特的硬件结 构,是一个理想的选择。结合当前的情况,本实验讲义从培养应用型人才的角度 出发,并充分借鉴各大高校的先进试验教学管理技术
17、,开发并设计了相应的DSP 实验项目。本实验讲义将实验分为三个模块,即基础实验、应用实验、扩展实验,以满足不 同能力和需求的学生的需要。本实验讲义在DSP原理及应用实验教学改革课 题支持下编写完成。不足之处,请广大师生指正。目录基础实验1 CCS软件的使用-4 -基础实验2 :简单应用程序的调试-16 -应用实验1 : DSP数据存取实验- 20-应用实验2: GPIO控制实验-23 -应用程序3 :定时器控制实验-26-应用实验4: DMA读写实验-30 -应用实验5 : UART控制实验-35-应用实验6: A/D采样实验-40 -应用实验7 :有限冲击响应滤波器(FIR)算法实验-43
18、-应用实验8 :快速傅立叶变换(FFT)算法实验-48 -扩展实验1 :语音回声实验-54-扩展实验2 :语音和声实验-56-扩展实验3:交通灯实验-59 -附录A-64 -附录B-73 -创意改堂多涔-3-基础实验1 CCS软件的使用1.实验目的:1 .熟悉CCS集成开发环境,掌握工程的生成方法;.熟悉SEED-DEC5502实验环境;.掌握CCS集成开发环境的调试方法。2 .实验内容:LDSP源文件的建立;+ 15V, -15V的电源指示灯以及SEED-DEC5502的电源指示灯D2、D4是否均 亮;若有不亮的,请断开电源,检查电源。-16-5.实验步骤.双击为CCS 2 c C5000)
19、.图标进入CCS环境。4 .点击Project -open命令,在弹出的对话框中添加math.pjt文件;Elle Edit Viev Eroject Debug Piofiler GEL Option Tools DSP/BIOS Ilndov HelpI 31 w ssSB S d| | Stdout A Messages | CPU HALTED Open an existing pro. K V5 .按照下图所示的方法添加GEL文件,即右键点击工程视窗中的GEL files,在弹 出的菜单中选择laod gel命令。liath. pjto 0 (A ?) (?BuM Stdout/ M
20、essages /CPU HALTEDQ For press Fl NUI.按照下图所示添加.out文件,即使用File一Load Program菜单命令。.out文件一 般存放在math文件下的debug文件夹中。创意改燹专话-17-8.使用projiectBulid命令编译当前程序。使用projiectBulid all命令编译整个 工程程序。汪悬.在这个实验中,为了加深对CCS的了解,分别在编译与链接过程中设置了的错误 行。这些错误行都是在程序调试中经常遇到的。源程序错误:在函数fixed_add ()中的Z的定义未加“;”号;函数float_add ()的号缺右边而未完整链接错误;DS
21、P的空间分配重叠;在进行此实验时,只有将上述的程序错误改正后才能正确的编译与链接。产生MATH.outo链接错误修改方法如下:链接错误存在于CMD文件中: MMR: origin = OOOOOOOh, length = OOOOOdOh修改为:MMR: origin 二 OOOOOOOh, length 二 OOOOOcOh9.点击debug Go Main回到C程序的入口 main()函数处。ElleJew Open. Ctrl*OLoad frocraa.Reload Program Load Syifcols Reload Symbols Unload SyBbolsLoad Data
22、 forkspace file I/O.Iges/Recent Source FilesRecent VorUpacesG Load & progra* onto ( JTUI-18-10.使用F5快捷键,运行程序,在Stdout观察窗中查看程序运行结果。Edit 21ev Eroject Qebug Profiler GEL Option Tools DSP/BIOS llndov Qelpths rasult offixsd.add was1596 Itha rvsu1t offxxad.sub was112 1ths rosult offixd_nul was2209 1the resu
23、lt offixed一div was167 the result offloat.add was3.700000403 1the result offloat.Bub was-1.000000e*02 1the result offloat_nul was6.000000e*04 1the result offloat_div was1.000000402 1the result offloat_fixed was 1557 1the result ofFixed float9.73】2508401 1I f J / Stdout A Messages/3J Elle Edit Xiev Er
24、oject Qebus Piofller GEL Option Tools DSP/BIOS Undov HelpI?3J Elle Edit Xiev Eroject Qebus Piofller GEL Option Tools DSP/BIOS Undov HelpI?谕修H一,c1it N, M 0匕|aath.pjt IcbuB,凹凸,0 0 al E3 B dX曲7i1 t f 11(V ?(pf Files -JGIL files-ProjectsB0BB4C4effAADDOOBB4E6c009c97CALL0BB524e01MDDP0BB544804RETIOOBB56_o
25、bort:!OOBB5620NOP*-l.SP_un】ink*USPCPU HALTED| Help, pre” Fl Ln 127, C:6 .思考题.当编译或链接过程中出现了错误或告警时,如何利用编译窗口提示的信息来修 改程序?创愈改燹主话f Elle Edit Jlew Eroject Debug Profiler GBL Option Tools DSP/BIOS iindov Helpath. pjtath. pjt |Debug(J 0 介 ft (Pf Files -JOEL files-Projects-. *ath. pj t 1 ,J Dependen* 口 DSP/BIO
26、S ,J Generatec Include Librarie: 1old main()(F:,d id “1556,40” ,b(3,222);fixd mal(188,188): f ix idt -dd(2.5e3,1.23);l s ib(2.0e2,3.Da2);fit -ii _mj: (2.0e2,3.02); f In-J iiv(2.0o4,2.0.2); flot_fixed(9.735l);111J_l2J| , h BudaStdoutXMessages/CPU HALTEDCPU HALTEDCPU HALTED For Help, press FlLn 127, C
27、c-19-应用实验1 : DSP数据存取实验1.实验目的:1 . 了解TMS320VC5502的内部存储器空间的分配及指令寻址方式;.学习用Code Composer Studio修改、填充DSP内存单元的方法;.学习操作TMS320VC5502内存空间的指令。2 .实验内容:1 .读写DSP内存单元数据;.复制内存单元的数据。2 .实验背景知识:TMS320VC55xx系列DSP基于增强的哈佛结构,可以通过三组并行总线访问多 个存储空间。它们分别是:程序地址总线(PAB)、数据读地址总线(DRAB) 和数据写地址总线(DWAB) o由于总线工作是独立的,所以可以同时访问程序 和数据空间。3
28、.实验程序功能与结构说明:1. Memory :这是实验的主程序,包含了系统初始化,读写、复制DSP内存单 元等;SEED_DEC5502.gel :系统初始化文件SEED_DEC5502.cmd:声明了系统的存储器配置与程序各段的连接关系。5.实 验准备首先将光盘下03. Examples of Program 04. SEED-DTK5502实验程序目录下的 3.2.1 DEC5502_Memory的文件夹拷贝到D :盘根目录下。1 .将DSP仿真器与计算机连接好;.将DSP仿真器的JTAG插头与SEED-DEC5502单元的J1相连接;.打开 SEED-DTK5502 的电源。观察 SE
29、ED-DTK_MBoard 单元的 + 5V, + 3.3V,+ 15V, -15V的电源指示灯以及SEED_DEC5502的电源指示灯D2、D4是否均 亮;若有不亮的,请断开电源,检查电源。6 .实验步骤1. 打开CCS,进入CCS的操作环境。装入Memory.pjt工程文件,添加SEED一DEC5502.gel文件。装载程序Memory.。* 进行调试。程序区的观察和 修改运行至ij main函数入口 :选择菜单Debug-Go Main,当程序运行并停止在main函数入口时,展开“Disassembly”反汇编窗口,发现main函数入口地址为 028CH,也就是说从此地址开始存放主函数的
30、程序代码。显示程序区:创意改燹益落-20-修改程序区的存储单元:程序区单元的内容由CCS的下载功能填充,但也能用手动方式修改;双击“Code” 窗口地址“0x028C : ”后的第一个数,显示“Edit Memory”窗口,在“Data”中输入 0x20,单击“Done”按钮,观察“Code”窗口中相应地址的数据被修改,同时在反汇 编窗口中的反汇编语句也发生了变化,当前语句被改成了“NOP”。将地址0x028C 上的数据改回0x4e,程序又恢复成原样。5.观察修改数据区显示片内数据存储区:同样打开窗口 Datal,起始地址在0x4100o修改数据单元:数据单元可以单个进行修改,只需双击想要改变
31、的数据单元即 可,与修改程序区单元的操作相同。填充数据单元:选择Edit-Memory-Fill.-21 -观察“Data”窗口中的变化。同样将0x4100开始的头16个单元的值用0填充。6 .运行程序观察结果在 Memory.c 程序的第 36 行”for (i=0, pz=py ; i16 ; i+, pz+ 在 第 38 行”for (i=0;i16;i+, px+, py+ f,第 42 行“处设置断点。运行程序,程序会停在断点处,此时可观察到Data窗口中前16个单元的值被写 入 0000 至 000Fo004080: 0000 0001 0002 0003 0004 0005 00
32、06 0007004088: 0008 0009 000A 000B 000C 000D 000E 000F继续运行程序,程序会停在第二个断点处,此时可观察到Datal窗口中前16个单 元的值被均被写入1234。004100: 1234 1234 1234 1234 1234 1234 1234 1234004108: 1234 1234 1234 1234 1234 1234 1234 1234继续运行程序,程序结束,此时0x4080前16个单元的值复制到0x4100的前16 个单元。004100: 0000 0001 0002 0003 0004 0005 0006 0007004108:
33、 0008 0009 000A 000B 000C 000D 000E 000F.思考题.查看指令与查看数据有何不同之处?1 .查看程序中的某个变量主要有哪些方法,试列举两种方法。创意改燹多话Setup Filling SeBoryAddress:|0x4080Length|0x0010Fill|0x00UMem oryDATA|欣 I Cancel I Help-22-应用实验2: GPIO控制实验.实验目的:1 .了解GPIO片上外设;.掌握延时程序应用;.用GPTO 口实现LED指示灯控制。2 .实验内容: LDSP的初始化; 2.延时程序;. GPIO引脚的配置。3 .实验背景知识:通
34、用目的输入输出(GPIO)片内外设提供了专用的通用目的引脚,可以配置位输 入或输出。当配置为一个输出时,用户可以写一个内部寄存器以控制输出引脚上 驱动的状态。当配置为输入引脚时,用户可以通过内部寄存器的状态检测到输入 的状态。另外,GPIO片内外设可以用不同的中断/事件产生CPU中断和EDMA 事件。一旦在GPIO使能寄存器(GPEN)被使能,GPIO引脚可以用作通用目的输入/输 出。用户可以使用GPIO方向寄存器(GPDIR)独立配置每条GPIO引脚为输入 或输出。当配置为输出(GPXDIR位=1) , GPIO值寄存器(GPVAL)的 GPXVAL位的值就被送到相应的GPn引脚。当配置为输
35、入(GPXDIR位=0) 时,输入状态可以从相应的GPXVAL读取TMS320VC5502有1-位通用输出引脚 XF和8-位通用I/O弓|脚GPIO7:0,其中GPIO3、GPIO5与McBSP2复用引脚。 SEED-DEC5502模板上这些引脚的使用情况如下:XF用于点亮LED指示灯 Dlo XF= 1,点亮;XF = 0,熄灭。GPIO2:0:经电平转换后连至外设扩展总线的备用引脚。GPIO3 :与McBSP2的CLKX2复用引脚,当配置为GPIO3时,用作C0M1的。GPI04 :经电平转换后连至外设扩展总线的备用弓|脚。GPI05 :与McBSP2的FSX2复用引脚,当配置为GPIO5
36、时,用作C0M1的。GPI06 :经电平转换后连至外设扩展总线的备用引脚。GPI07 :用于点亮LED指示灯D5。XF = 1,点亮;XF = 0,熄灭。通过本实验,要求掌握GPIO 口的应用;熟悉延时程序的应用。4 .实验程序功能与结构说明:1.5502_GPIO.c :这是实验的主程序,包含系统初始化,GPIO引脚点亮程序等;vectors.s55:包含5502的中断向量表;SEED_DEC5502.cmd:声明了系统的存储器配置与程序各段的连接关系。到意改堂当涔-23-.程序流程图.实验准备首先将光盘下03. Examples of Program 04. SEED-DTK5502实验程
37、序目录下的3.2.6 DEC5502_GPIOLED的文件夹拷贝到D :盘根目录下。1 .将DSP仿真器与计算机连接好;.将DSP仿真器的JTAG插头与SEED-DEC5502单元的J1相连接;.打开 SEED-DTK5502 的电源。观察 SEED-DTK_MBoard 单元的 + 5V, +3.3V,+ 15V, -15V的电源指示灯以及SEED_DEC5502的电源指示灯D2、D4是否均 亮;若有不亮的,请断开电源,检查电源。7.实验步骤4.打开CCS,进入CCS的操作环境。装入DEC5502_GPIO.pjt工程文件,添加 SEED_DEC5502.gel 文件。装载程序 DEC550
38、2_GPIO.out,进行调试。在 5502_LED.c 程序的第 69 行“delay。;”处,第 72 行“delay。;”处,第 75 行“delay。;” 处,第78行“delay。;处设置断点。for(;)CHIP_FSET(ST1_55,XF,O); / 关指示灯DI*/.delay();CHIP_FSET(ST 1_55,XF, 1);八 开指示灯DI/忖delay();IGPIODATA=0x80;/*开指示灯D5/Pdelay();IGPIODATA=0x00;/*关指示灯D5*/.delay();5. 运行程序,程序会停在第一个断点处,关闭指示灯D1 ;继续运行程序,程序
39、每次都会停在第二个断点处,点亮指示灯D1 ;继续运行程序,程序每次都会停 在第三个断点处,点亮指示灯D5 ;继续运行程序,程序每次都会停在第四个断 点处,关闭指示灯D5;也可直接执行程序,观察指示灯DI, D5的闪烁情况。CSL初始化GPIO7引脚使他GPIO操作创意改堂多涔-24-8 .思考题.GPIO是什么,在实际工程中如何应用GPIO?1 .CHIP_FSET()函数的作用是什么,如何使用?2 .如何控制指示灯D1或D5的闪烁频率?2 . DSP程序工程文件的建立;.学习使用CCS集成开发工具的调试工具。3 .实验背景知识:3.1 CCS简介CCS提供了配置、建立、调试、跟踪和分析程序的
40、工具,它便于实时、嵌入式信 号处理程序的编制和测试,它能够加速开发进程,提高工作效率。CCS提供了基 本的代码生成工具,它们具有一系列的调试、分析能力。CCS支持如下所示的开 发周期的所有阶段-4-CCS构成及接口见下图CCS窗口介绍:创意改爱当活-25-应用程序3 :定时器控制实验1.实验目的:1. 了解TMS320VC5502的定时器;熟悉定时器各寄存器的配置;掌握 TMS320VC5502的中断结构和对中断的处理流程;学会C语言中断程序设计, 以及运用中断程序控制程序流程2.实验内容:1 .系统初始化;.定时器中断初始化;.实验背景知识:TMS320VC5502有3个64-位可编程的定时
41、器,其中2个用作通用定时器(TIMO 和TIM1),第三个定时器可以配置为通用定时器或看门狗定时器,其功能取决 于看门狗全局定时控制寄存器1 (WDTGCTL1)中的TIMMODE位以及看门狗定 时器控制寄存器1 (WDTWCTL1)中的看门狗使能位(WDEN)的设置。在系统复位时,第3个定时器缺省配置为64-位的通用定时器。VC55O2的每一 个定时器均有一个外部引脚,该引脚可配置为输入或输出。“VC5502片上定时器 的功能框图如下图所示:TMS320VC5502 DSPTIN TimerOTOUTTIN TimerOTOUTTIN TimerOTOUTTINYA TimeriTOUTTI
42、N Watchdog Timer TOUTTIMO MODE-oTIM1 MODEWDT MODE因 TIMO2 TIM1NMI/WDTOUT下面简单的介绍一下TMS320VC5502中定时器的寄存器:EMU用来确定定时器竞争模式;CLK确定内在时钟分割比率;意改燹失落-26-GPINT确定定时器的中断模式;GPEN确定在GPIO模式中定时器引脚的操作模式;GPDIR确定在GPTO模式中定时器引脚的输入输出模式;GPDAT确定在GPIO模式中涉及定时器引脚的信号标准。GCTL描述定时器的操作模式:其中TDDR34位段为定时器分配比率位,TIMMOD位段为定时器模式位。其中CTL, PRD, C
43、NT寄存器如下表:缩写寄存器名称类别CTL定时器控制寄存器CT0CT1PRD定时器闷期寄存戕PRD0PRD1CNT定时器计数寄存器CNT0CNT1CTL中TIEN位段为定时器输入使能位;ENAMODE使能模式位;INVINP为 TINP反向控制位;CLKSRC定时器输入时钟源位;CP时钟/脉冲模式使能位; PWID脉冲宽度位;INVOUT位段为TOUT反向控制位。PRD中共32位为将要计数的定时器输入时钟周期数。CNT中共32位为主计数器的当前值。周期如何算:周期二周期寄存器/f (时钟源)具体的 Timer 操作参见 TMS320VC5501 / 5502 DSP Timers Refere
44、nce Guide (Rev.A).pdf通过本实验,熟悉中断的结构及用中断程序控制程序流程,掌握定时器的应用。2 .实验程序功能与结构说明:1.5502- LED.c :这是实验的主程序,包含了系统初始化,定时器中断初始化,定 时器中断程序等;vectors.s55:包含5502的中断向量表;SEED_DEC5502.cmd:声明了系统的存储器配置与程序各段的连接关系。创意改堂多落-27-.程序流程图; Main程序流程图中断程序流程图削意改燹益落-28-.实验准备首先将光盘下03. Examples of Program 04. SEED_DTK-EPD实验程序目录下的3.2.7 DEC5
45、502_TIMERLED的文件夹拷贝到D :盘根目录下。1 .将DSP仿真器与计算机连接好;.将DSP仿真器的JTAG插头与SEED-DEC5502单元的J1相连接;.打开 SEED-DTK5502 的电源。观察 SEED-DTK_MBoard 单元的 + 5V, +3.3V,+ 15V, -15V的电源指示灯以及SEED_DEC5502的电源指示灯D2、D4是否均 亮;若有不亮的,请断开电源,检查电源。7.实验步骤.打开CCS,进入CCS的操作环境。1 .装入 DEC5502_LED.pjt 工程文件,添加 SEED_DEC5502.gel 文件。2 .装载DEC5502LED.out文件,进行调试。3 .在 5502-LED.c 程序的第 136 行“LEDMARK = 1;、第 141 行“LEDMARK = 0; 和第 146 行“ CHIP_FSET(STl_55,XF,0);”处设置断点。intorrupt void