第4章-定时器及硬件中断(C55x-DSP)_第1页
第4章-定时器及硬件中断(C55x-DSP)_第2页
第4章-定时器及硬件中断(C55x-DSP)_第3页
第4章-定时器及硬件中断(C55x-DSP)_第4页
第4章-定时器及硬件中断(C55x-DSP)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

第4章定时器及硬件中断4.1定时器硬件结构原理

4.2定时器及硬件中断实验

TMS320VC5509DSP有两个独立的20bit软件可编程通用减数计数定时器,它们可用于向CPU提供周期性的中断信号,或给DMA控制器发送周期同步事件,也可以用于给外部设备提供周期信号,还可以用于外部事件计数。

20bit的通用定时器是减数计数器,它由两部分组成:4位预分频计数器(PSC)和16位主计数器(TIM)。定时器结构框图如图4-1所示。4.1定时器硬件结构原理

图4-1TMS320C5509DSP通用定时器结构框图

预分频计数器PSC由时钟驱动,这个时钟可以是内部CPU时钟或外部时钟(当FUNC=11b时使用外部时钟,从TIN/TOUT引脚输入,当FUNC为其他值时使用内部CPU时钟)。每输入一个时钟,PSC减1。

每当PSC减到0,主计数器TIM减1,每当TIM减到0,定时器给CPU发出一个中断请求TINT,同时又发送一个同步事件TEVT给DMA控制器,还可以产生一个输出到定时器引脚(如果FUNC=01b)。定时器输出速率为

式中>4预分频寄存器PRSC由预分频周期寄存器TDDR和预分频器PSC两部分组成,当定时器设定为自动装载模式时(ARB=1),预分频器PSC减到0,并再有一个输入时钟输入时,预分频器PSC从预分频周期寄存器TDDR重新装载数据。周期寄存器PRD和计数器TIM都为16位寄存器。若定时器设定为自动装载模式(ARB=1),当计数器TIM减到0时,就会从PRD重新装载数据。定时器控制寄存器TCR如图4-2所示,使用它的特定位可以实现对定时器进行配置、启动、停止、装载和重新装载等,表4-1是对定时器控制寄存器TCR的每位进行说明。

图4-2定时器控制寄存器TCR表4-1定时器控制寄存器TCR说明

定时器引脚功能模式合法转换如图4-3所示,FUNC位的某些改变会产生一个错误并反映在ERRTIM位,例如:从FUNC=01b转换到FUNC=00b或11b;从FUNC=10b转换到FUNC=00b或11b,以及从FUNC=11b转换到任意值,这几种情况都会产生一个错误,使ERRTIM位置1。当ERRTIM=1时,复位DSP并重新初始化定时器。更多信息请参阅参考文献[4][5]。图4-3引脚功能模式合法转换图定时器初始化步骤如下:

(1)停止定时器(TSS=1),定时器装载使能(TLB=1),定时器控制寄存器TCR的其他位设置成对应数值。

(2)装载预分频计数周期寄存器PRSC。

(3)装载主周期寄存器PRD。

(4)关闭定时器装载(TLB=0),启动定时器(TSS=0)。4.2.1实验目的

■了解C55xDSP定时器结构。

■学习C5509定时器初始化。

■了解C55xDSP中断。

■学习中断处理。4.2定时器及硬件中断实验4.2.2实验设备

■PC兼容机一台;操作系统为Windows2000(或WindowsNT4.0、Windows98、WindowsXP);计算机已经安装CCSv3.1集成环境软件。

■DSP仿真器ICETEK-5100USBV2.0A一个;DSP目标板ICETEK-VC5509-A一块。4.2.3实验要求

使用CCS集成仿真环境,完成建立工程、源文件、命令文件,保存和添加文件到工程,进行编译、链接、运行和调试等操作。使用观察窗口观察寄存器和存储器空间的内容等。4.2.4实验步骤

1.实验准备

参照第2章(若使用的仿真器不同,请参照其他相关资料)对CCS硬件仿真进行设置;在断电情况下将仿真器和目标板相连,再将仿真器和计算机相连,给目标板接通电源,启动CCS。2.新建立工程

新建工程文件、两个汇编源文件和一个命令文件(文件名请读者自己命名),在其中一个汇编源文件中输入本章4.2.5小节程序清单参考中的定时器汇编源程序,在另一个汇编源文件中输入第2章中2.2.5小节中的SDRAM初始化程序,在命令文件中输入本章4.2.5小节命令文件的内容。保存之后把这些文件添加到工程。3.编译工程

在编译和链接工程文件过程中,如果有错误则先修改错误,直到无错误提示为止。编译成功后,装载可执行的输出文件。详细情况请参见第1章1.2.6小节。

4.观察定时器寄存器窗口

(1)打开CPU寄存器视窗,再打开定时器寄存器视窗,如图4-4所示。图4-4定时器寄存器观察窗口(2)单步运行程序,观察CPU寄存器和定时器寄存器变化。

(3)在定时器中断服务程序处设置断点,在主菜单中选择Project→Animate或按图标动画运行程序。4.2.5参考程序清单

1.定时器汇编源程序

.mmregs

.def _c_int00

.ref sdram_init

;引用外部变量,SDRAM初始化子程序入口

led.set 400001h

;led数据地址

tim0.set 0x1000

;定时器寄存器TIM0prd0 .set 0x1001;定时器周期寄存器PRD0

tcr0 .set 0x1002;定时器控制寄存器TCR0

prsc0 .set 0x1003;定时器预定标寄存器

sysr .set 0x07fd

clkmd .set 0x1c00 ;时钟模块寄存器地址

pdp_timer0 .set tim0/128

STACK .usect ".stack", 200h

SYSSTACK .usect ".sysstack", 200h

.dataled_i .word 1,2,4,8,4,2

.sect “.vectors”

rsv:;resetvector

b _c_int00 ;branchtoCentrypoint

NOP

.align8

nmi: .loop8

nop

.endloopint0: .loop8

nop

.endloop

int2: .loop8

nop

.endloop

tint0: b _Timer0

nop

.align8

.textc_int00: amov #0,xdp

amov #STACK+200h,xsp

amov #SYSSTACK+200h,xssp

;initinterupt(中断初始化)

bset intm ;禁止全局中断

mov #1,@ivpd ;初始化DSP中断矢量指

针ivpd=1

mov #1,@ivph ;初始化DSP中断矢量指

针ivph=1mov #10h,@ier0 ;初始化中断屏蔽寄存器ier0,

tint0=1

mov #10h,@dbier0;调试中断使能寄存器dbier0=10h

mov #0,@ier1 ;清中断使能寄存器ier0

mov #0ffffh,@ifr0;清中断标志寄存器ifr0

mov #0ffffh,@ifr1;清中断标志寄存器ifr1

call sdram_init ;调用初始化SDRAM子程序;定时器初始化

mov #pdp_timer0,pdp

;置外围I/O数据页指针

mov #04f0h,port(tcr0) ;*tcr0=0x04f0

mov #0h,port(tim0)

;*tim0=0

mov #0ffffh,port(prd0)

;*prd0=0x0ffff

mov #15h,port(prsc0) ;*prsc0=0x15=21mov #0e0h,port(tcr0) ;*tcr0=0x00e0

bclr intm ;全局中断使能

bset AR3LC ;置位AR3LC,AR3循环寻址

amov #led,xar2 ;xar2指向led

mov #6,bk03 ;循环寻址长度为6

amov #led_i,xar3 ;初始化xar3

mov #led_i,bsa23 ;初始化bsa23,循环寻址首地址

为led_imov #0,ar3 ;清ar3

loop: NOP

b loop ;等待中断

_Timer0:mov *ar3+,*ar2 ;定时器Timer0中

断服务程序

reti ;中断返回

.end

2.命令文件

-stack200h

-sysstack200h

MEMORY

{

PAGE0:MMR: origin=0000000h, length=00000c0h

SPRAM:origin=00000c0h, length=0000040h

VECS: origin=0000100h, length=0000100h

DARAM0: origin=0000200h, length=0001E00h

DARAM1: origin=0002000h, length=0002000h

DARAM2: origin=0004000h, length=0002000h

DARAM3: origin=0006000h, length=0002000h

}SECTIONS

{

.vectors:

温馨提示

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

评论

0/150

提交评论