dsp实验报告4_第1页
dsp实验报告4_第2页
dsp实验报告4_第3页
dsp实验报告4_第4页
dsp实验报告4_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验2.4 外中断一实验目的1通过实验熟悉VC5509A的中断响应过程。2学会C语言中断程序设计,以及运用中断程序控制程序流程。二实验设备计算机,ICETEK-VC5509-A实验箱及电源。三实验原理1中断及中断处理过程:中断简介:中断是一种由硬件或软件驱动的信号,DSP在接到此信号时,将当前程序悬挂起来,转去执行另外一个任务,这个任务我们称为中断服务程序(ISR)。TMS320C55x DSP可支持32个ISR,可由硬件或软件触发。DSP处理中断的步骤:接收中断请求:由软件或硬件发出。响应中断请求:对于可屏蔽中断,需要满足若干条件,才发生响应;而对于不可屏蔽中断,则立即响应。准备执行中断服务

2、程序。- 完成当前正在执行的指令;将进入流水线但还未解码的指令清除。- 自动保存若干寄存器的值到数据堆栈和系统堆栈。- 取得用户定义的中断向量表中当前中断向量,中断向量指向中断服务程序入口。执行中断服务程序。中断服务程序包含中断返回指令,这样返回时可以出栈以前保存的关键寄存器数据,从而恢复中断服务程序执行前的现场。中断向量表:中断向量表的构成请参见TI的文档sprs295d.pdf之3.11节。中断向量表的地址可以由用户指定。外中断:TMS320C5509可以响应INT0-INT4五个外中断。2ICETEK-CTR板的键盘接口:显示/控制模块ICETEK-CTR通过接口P8连接小键盘,接收小键

3、盘传送的扫描码,并在每个扫描码结束后保存,同时向DSP的INT2发送中断信号;当DSP读键盘时将扫描码送到数据总线上。小键盘上每次按下一个键将产生2个扫描码,2次中断。3程序编制由一个不含中断处理程序的工程通过改写加入中断处理程序部分大致需要如下操作(假设使用INT2): 编制中断服务程序:参见实验程序,编写单独的一个函数XINT,此函数使用interrupt修饰,没有参数和返回值。 构造中断向量表:可以用汇编语言构造,编写一个汇编语言模块程序vector.asm。 修改链接命令文件:在MEMORY小节中开辟单独的地址段用以存放中断向量表;在SECTIONS小节中指定.vectors段到前步开

4、设的内存段中。 主程序中进行初始化设置:定位中断向量表、使能中断、清中断等。4实验程序流程图:四实验内容1实验准备: 连接实验设备:请参看本书第二部分,第一章、二。 连接实验箱附带的键盘的PS2插头到ICETEK-CTR的“键盘接口”P8。 将ICETEK-CTR板的供电电源开关拨动到“开”的位置。(4)设置Code Composer Studio 3.3在硬件仿真(Emulator)方式下运行:(5)启动Code Composer Studio 3.3,选择菜单DebugReset CPU。2打开工程文件:C:ICETEKVC5509AES60VC5509AELab0304-XINTv60X

5、INT.pjt。实验要求:(1)下载运行该程序,观察结果:运行程序,按一下小键盘上任意一个键,注意观察ICETEK-CTR板上指示灯闪烁的情况。可发现:每次按下键盘均会发生 2 次中断,当按下键不放时会产生连续的中断。(2)观察中断函数的执行:选择“Debug”菜单中“Halt”暂停运行程序,在XINT程序中的语句上加软件断点,重新运行程序(选择Debug-Run),何时程序停留在断点上?产生外中断实验2.5 :单路/多路模数转换(AD)一实验目的1熟悉VC5509A的定时器。2掌握VC5509A片内A/D的控制编程方法。二实验设备计算机,ICETEK-VC5509-A实验箱及电源。三实验原理

6、1TMS320VC5509A模数转换模块特性:- 带内置采样和保持的10位模数转换模块ADC,最小转换时间为500ns,最大采样率为21.5kHz。- 2个模拟输入通道(AIN0AIN1)。- 采样和保持获取时间窗口有单独的预定标控制。2模数转换工作过程:- 模数转换模块接到启动转换信号后,开始转换第一个通道的数据。- 经过一个采样时间的延迟后,将采样结果放入转换结果寄存器保存。- 转换结束,设置标志。- 等待下一个启动信号。3模数转换的程序控制:模数转换相对于计算机来说是一个较为缓慢的过程,一般采用中断方式启动转换或保存结果,这样在CPU忙于其他工作时可以少占用处理时间。设计转换程序应首先考

7、虑处理过程如何与模数转换的时间相匹配,根据实际需要选择适当的触发转换的手段,也要能及时地保存结果。由于TMS320VC5509A DSP芯片内的A/D转换精度是10位的,转换结果的低10位为所需数值,所以在保留时应注意将结果的高6位去除,取出低10位有效数字。关于TMS320VC5509A DSP芯片内的A/D转换器的详细结构和控制方法,请参见文档spru568.pdf。4实验程序流程图:四实验内容1实验准备: 连接实验设备:请参看本书第二部分、第一章、二。 准备信号源进行AD输入。取出2根实验箱附带的信号线(如下图,两端均为单声道语音插头)。用1根信号线连接实验箱左侧信号源的波形输出A端口和

8、“A/D输入”模块的“ADCIN2”插座注意插头要插牢、到底。则信号源波形输出A的输出波形即可送到ICETEK-VC5416-AR板的AD输入通道0。用1根信号线连接实验箱左侧信号源的波形输出B端口和“A/D输入”模块的“ADCIN3”。则信号源波形输出B的输出波形即可送到ICETEK-VC5416-AR板的AD输入通道1。设置波形输出A:(如下图)- 向内侧按波形频率选择旋钮,直到标有正弦波的指示灯点亮。- 上下调节波形频率选择旋钮,直到标有100-1KHz的指示灯点亮。- 调节幅值调整旋钮,将波形输出A的幅值调到最大。设置波形输出B:- 向内侧按波形频率选择旋钮,直到标有正弦波的指示灯点亮

9、。- 上下调节波形频率选择旋钮,直到标有1K-10KHz的指示灯点亮。- 调节幅值调整旋钮,将波形输出B的幅值调到最大。-设置CodeComposer Studio 3.3在硬件仿真(Emulator)方式下运行:-启动Code Composer Studio 3.3:选择菜单DebugReset CPU。2.打开工程文件:C:ICETEKVC5509AEVC5509AELab0305-ADAD.pjt。/主程序 main.c 中AD转换的关键语句:while ( 1 )for ( i=0;i<256;i+ ) /采样256个值ADCCTL=0x8000;/ 启动AD转换,通道0douW

10、ork=ADCDATA; while ( uWork&0x8000 );/等待直到ADC数据可用时,uWork=ADCDATA(将采样数据存入uWork)nADC0i=uWork&0x0fff;/屏蔽无效位,将有效位的采样数据存入缓冲区nADC0for ( i=0;i<256;i+ )ADCCTL=0x9000;/ 启动A/D转换,选通道1 douWork=ADCDATA; while ( uWork&0x8000 );nADC1i=uWork&0x0fff;/ 屏蔽无效位,保留采样数据 asm( " nop");/ 方便在此设定断点

11、实验要求:(1)下载、运行该程序,在空格处填入注释。(2)观察图形窗口:选择View->Graph->Time/Frequency进行如下设置:设置软件断点:在main.c中有“break point”注释的语句上加软件断点,按“F5”键运行到断点。显示AD转换产生的波形:(示例)(3)按“Alt+F5”键连续运行,并调整信号源A为方波(频率范围不变),信号源B为三角波(频率范围改为100-1KHz),显示实时AD采样波形:(4)选择Fileworkspacesave workspacs As,输入文件名SY1.wks,保存该工程文件。三DSP实现外部控制实验实验3.1 :通用输入

12、输出管脚应用一. 实验目的通过实验学习使用5509A DSP的通用输入/输出管脚直接控制外围设备的方法,了解发光二极管的控制编程方法。二实验设备计算机,ICETEK-VC5509-A实验箱三实验原理1TMS320C5509的通用输入/输出管脚:TMS320C5509DSP有7个专门的通用输入输出管脚,还有1个通用输出管脚XF。这些通用输入输出管脚通过专用寄存器可以由软件控制,比如指定输入或输出值等。另外,TMS320C5509DSP的许多其他管脚,在不使用于特定功能时也能配置成通用输入/输出管脚。2ICETEK-CTR指示灯的控制:GPIO与被控指示灯的连接:通过ICETEK-VC5509-A

13、板的扩展插座,通用输出/控制模块ICETEK-CTR板直接连接了板上的一个指示灯和DSP的一个通用输入/输出管脚。这个管脚属于McBSP1,可以设置成通用输入/输出管脚使用。扩展原理如图:GPIO控制指示灯:如图,如果要点亮发光二极管,需要在GPIO1上输出低电平,如果输出高电平则指示灯熄灭。若定时使GPIO1上的输出改变,指示灯将会闪烁。受控指示灯: ICETEK-CTR板上只有一个指示灯可单独受DSP的GPIO控制,它是交通灯模块“北”侧的红色指示灯。3实验程序流程图四实验内容1实验准备:连接实验设备:请参看本书第二部分、第一章、二。将ICETEK-CTR板的供电电源开关拨动到“开”的位置。开关位置请参见第二部分、第一章、三、“扩展模块电源开关及其指示灯”。2设置Code Composer Studio 3.3在硬件仿真(Emulator)方式下运行:3启动Code Composer Studio 3.3:选择菜单DebugReset CPU。4打开工程文件:C:ICETEKVC5509AeVC5509AeLab0401-GPIOV60IOPin.pjt。/源程序main.c中的关键语句:main()PLL_Init(20); / 初始化DSP时钟 SDRAM_init(); /

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论