再上一篇:5.3.2 中断控制器
上一篇:5.3.3 实时时钟
主页
下一篇:5.3.5 脉冲宽度调制
再下一篇:5.4 DMA 控制器
文章列表

5.3.4 操作系统(OS)定时器

嵌入式系统(修订本)——Intel XScale 结构与开发 陈章龙 著

一、简介
应用处理机有一个 32 位操作系统定时器,它的时钟来自 3.6864MHZ 振荡器。OS 计数 器寄存器(OSCR)为 32 位自由运行加 1 计数器,另有四个 32 位可读/写的符合寄存器
(OSMR3~0)。在 OSCR 与任一个 OSMR 的值相同且允许中断时,则置位 OSSR 中的标志 位。这些标志位也连通中断控制器,可产生中断。OSMR3 也用作 Watchdog 符合寄存器, 在允许时,它的符合操作可复位应用处理机。
二、寄存器

OS 定时器共有8 个寄存器,见表5-10。

表 5-10 OS 定时器寄存器

物理地址

名称

描述

0x40A0_0000

OSMR0

OS 定时器符合寄存器0

0x40A0_0004

OSMR1

OS 定时器符合寄存器1

0x40A0_0008

OSMR2

OS 定时器符合寄存器2

0x40A0_000C

OSMR3

OS 定时器符合寄存器3

0x40A0_0010

OSCR

OS 定时器计数寄存器

0x40A0_0014

OSSR

OS 定时器状态寄存器

0x40A0_0018

OWER

OS 定时器看门狗允许寄存器

0x40A0_001C

OIER

OS 定时器中断允许寄存器

1、OS 定时器计数寄存器(OSCR)

它是 32 位自由运行计数器,由 3.6864MHZ 上跳加 1。可任意读出或写入,推荐使用

MMU 保护机构来保护对它的写入。

2、OS 定时器符合寄存器(OSMR0~3)

这些寄存器为 32 位,可读出、写入。它们与 OSCR 相比较,如任一个寄存器与计数器 符合,则置位OSSR 的相应位。

3、OS 定时器Watchdog 符合允许寄存器(CWER)

它只有一位(位0),用于允许Watchdog 功能。它可写入1,但仅可由复位所清0。它等 于1 时,允许OSMR3 符合条件复位应用处理机;等于0 时,允许OSMR3 符合条件产生中 断请求。

4、OS 定时器状态寄存器(OSSR)

它仅有四位(位 0~位 3),分别对应于 OSMR0~3。在相应 OSMR 发生符合时置位,向 相应位写入1 时清0,写入0 无影响。复位值不变。

5、OS 定时器中断允许寄存器(OIER)

它包含四个允许位(位0~位3),分别对应于OSMR0~3。它等于1 时,允许对应寄存器 符合置位 OSSR 的对应状态位(可产生中断)。在状态位为 1 时,清 0 允许位,并不同清 0 相应的中断状态位。
三、Watchdog 定时器操作
在允许 OSMR3 的 Watchdog 功能时,软件应定时读出 OSCR 的值,加上下一次产生 Watchdog 复位的时间值,再写回 OSMR3 中。以后应在该时间到前,再进行以上操作,从 而防止发生Watchdog 复位