实验二 时钟中断实验实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《时钟中断实验》实验报告

姓名: 赵广元

学号: 1428403058

学院: 电子信息学院

班级: 电子信息工程

时钟中断实验

一实验目的

1.熟悉定时器初始化的步骤

2.熟悉定时器控制寄存器(TCR)的含义和使用

3.熟悉定时器中断的原理和使用

二实验设备

本实验设备包括:PC机、CCS2.1和5416DSK开发板

三实验内容

本实验要求编一个简单的定时器中断程序,设置一定的周期控制XF引脚输出电平周期性变化。当定时器中断产生时可以观察到XF引脚输出电平周期性变化。

四实验原理

中断处理:

接受中断请求→应答中断→执行中断服务程序ISR

定时器中断:19号中断

当发生时钟中断时,PC值将指向时钟中断的中断向量地址

中断向量地址的计算方法:

(1)取PMST寄存器的IPTR的值(中断向量指针,9位);

(2)查DSP的中断表得到时钟中断向量序号19;

(3)将中断向量序号19左移2位

(4)将IPTR值左移7位(占高9位)与(3)相加,得到中断向量地址。

中断向量表程序设计:

(1)TI54系列DSP最大支持序号0~31的32个中断(存在复用)

(2)根据中断向量表地址计算方法,每四个中断向量占四个字(序号左移两位),整个中断向量表共占128个字

(3)硬件复位后,其中断向量表首地址为0xFF80(0号中断地址)

(4)软件设置IPTR后,其中断向量表地址发生变化,为使高速响应中断,应在片内RAM中运行定时器:

C54X系列的DSP都具有一个或者两个预定标的片内定时器,这种定时器是一个倒数定时器,它可以被特殊的状态位实现停止,重启动,重设置或者静止。定时器在复位后就处于运行状态,为了降低功耗可以禁止定时器工作。应用中可以用定时器来产生周期性的CPU中断或者脉冲输出。定时器的功能方框图如5.1所示,其中有一个主计数器(TIM)和一个预定标计数器(PSC)。TIM用于重装载周期寄存器(PRD)的值,PSC用来重装载周期寄存器(TDDR)的值。

图5.1 定时器的功能方框图

图5.1是定时器的功能方框图, SRESET 是在器件复位时,DSP 向外围电路(包括定时器)发送的一个信号,此信号将在定时器上产生以下效果:寄存器TIM 和PRD 装载最大值(0FFFFH );TCR 的所有位清0;结果是分频值为0,定时器启动,TCR 的FREE 和SOFT 为0。定时器实际上是有 20bit 的周期寄存器。它对 CLKOUT 信号计数,先将 PSC (TCR 中的 D6~D9 位)减 1,知道 PSC 为 0,然后把 TDDR (TCR 中的低 4 位)重新装载入 PSC ,同时将 TIM 减 1,直到 TIM 减为 0。这是 CPU 发出 TINT 中断,同时在 TOUT 引脚输出一个脉冲信号,脉冲宽度与 CLKOUT 一致,然后将 PRD 重新装入 TIM ,重复下去直到系统或定时器复位。 定时器产生中断的计算公式如下:

)tc (1111tc 1的周期为其中的频率CLIKOUT PRD TDDR TINT +⨯+⨯=

定时器有三个寄存器组成:TIM 、PRD 、TCR 。

TIM :定时器寄存器,用于装载周期寄存器数值并自减1。 PRD :周期寄存器,用于装载定时器寄存器。

TCR :定时器控制寄存器,包含定时器的控制状态位。

定时器是一个在片内减计数器,用于周期地产生CPU 中断。定时器被预订标器驱动,后者每个CPU 时钟周期减1,每当计数器减至0时,会产生一个定时器中断,同时在下一周期计数器被定时周期值重新装载。

在正常操作模式下,当TIM 自减至0时,TIM 将被PRD 内的数值重装载。在硬件复位或定时器单独复位(TCR 中TRB 位置1)的情况下,TIM 也会装载PRD 值。TIM 被预定标模块定时。每个来自预定标模块的输出时钟都将使TIM 自减1,主定时器模块的输出是定时器中断(TINT )信号。该中断被发送至CPU ,同时由TOUT 引脚输出。TOUT 脉冲的宽度等于CLKOUT 的时钟宽度。

预定标模块由两个类似TIM 和PRD 的单元构成。它们是预定标计数器(PSC )和定时器分频寄存器(TDDR )。PSC 、TDDR 是TCR 寄存器的字段。在正常操作时PSC 自减为0,TDDR 值装入PSC ,同样在硬件复位或定时器单独复位的情况下,TDDR 也被装入PSC 。PSC 被CPU 时钟定时,即每个CPU 时钟使PSC 自减1。PSC 可被TCR 读取,但不能直接写入。

当TSS 置位时,定时器停止工作。若不需要定时器,终止定时器操作,可是芯片工作与低功耗模式,并且可以使用与定时器相关的两个寄存器(TIM 和PRD )作为通用的存储器单元,可以在如意周期对它们进行读或写操作。

TIM 的当前值可被读取,PSC 也可以通过TCR 。因为读取这两个寄存器需要花两个指令,而在两次读取之间因为自减,数值可能改变,因此,PSC 两次读的结果可能有差别,不够准确。若要准确测量时序,在读这两个寄存器值之前可先中止定时器,对TSS 置1,清0后,可重新开始定时。

通过TOUT 信号或中断,定时器可以用于产生周边设备的采样时钟,如模拟接口。对于有多个定时器的DSP ,在寄存器GPIOCR 中的第15位控制使用哪一个定时器产生的TOUT 信号。 定时器初始化定时器初始化步骤如下: (1)TCR 的TSS 位写1以停止定时器 (2)装载PRD

(3)初始化TCR 中的TDDR ,并对TCR 中的TSS 置0,对TRB 置1来重装载定时器周期 设置定时器中断方法(INTM=1)如下:

(1)FIR 中的TINT 写1,以清除挂起的定时器中断。 (2)IMR 中的TINT 值1,启动定时器中断。

相关文档
最新文档