DS12B887
080895 7/16
asserted 低. irq 是 asserted 作 长 作 在 least 一个 的
这 三 中断 来源 有 它的 标记 和 使能 位
两个都 设置. 这 irqf 位 在 寄存器 c 是 一个 一个 whenever
这 irq管脚 是 正在 驱动 低. determination 那 这
rtc initiated 一个 中断 是 accomplished 用 读
寄存器 c. 一个 逻辑 一个 在 位 7 (irqf 位) indicates 那
一个 或者 更多 中断 有 被 initiated 用 这
ds12b887. 这 act 的 读 寄存器 c clears 所有
起作用的 标记 位 和 这 irqf 位.
振荡器 控制 位
当 这 ds12b887 是 运输 从 这 工厂, 这
内部的 振荡器 是 转变 止. 这个 特性 阻止 这
lithium 活力 cell 从 正在 使用 直到 它 是 安装 在 一个
系统. 一个 模式 的 010 在 位 4 通过 6 的 寄存器 一个
将 转变 这 振荡器 在 和 使能 这 countdown
chain. 一个 模式 的 11x 将 转变 这 振荡器 在, 但是
holds 这 countdown chain 的 这 振荡器 在 重置. 所有
其它 结合体 的 位 4 通过 6 保持 这 oscilla-
tor 止.
正方形的 波 输出 选择
thirteen 的 这 15 分隔物 taps 是 制造 有 至 一个
1-的-15 选择, 作 显示 在 这 块 图解 的 图-
ure 1. 这 第一 目的 的 selecting 一个 分隔物 tap 是 至
发生 一个 正方形的 波 输出 信号 在 这 sqw 管脚.
这 rs0-rs3 位 在 寄存器 一个 establish 这 正方形的
波 输出 频率. 这些 发生率 是 列表 在
表格 1. 这 sqw 频率 选择 shares 它的
1-的-15 选择 和 这 periodic 中断 发生器.
once 这 频率 是 选择, 这 输出 的 这 sqw
管脚 能 是 转变 在 和 止 下面 程序 控制 和
这 正方形的 波 使能 位 (sqwe).
periodic 中断 选择
这 periodic 中断 将 导致 这 irq管脚 至 go 至 一个
起作用的 状态 从 once 每 500 ms 至 once 每
122
µ
s. 这个 函数 是 独立的 从 这 alarm inter-
rupt 这个 能 是 输出 从 once 每 第二 至 once
每 日. 这 periodic 中断 比率 是 选择 使用 这
一样 寄存器 一个 位 这个 选择 这 正方形的 波 fre-
quency (看 表格 1). changing 这 寄存器 一个 位
affects 两个都 这 正方形的 波 频率 和 这 periodic
中断 输出. 不管怎样, 各自 函数 有 一个 独立的
使能 位 在 寄存器 b. 这 sqwe 位 控制 这
正方形的 波 输出. similarly, 这 periodic 中断 是
使能 用 这 pie 位 在 寄存器 b. 这 periodic inter-
rupt 能 是 使用 和 软件 counters 至 measure
输入, create 输出 间隔, 或者 await 这 next 需要
软件 函数.
更新 循环
这 ds12b887 executes 一个 更新 循环 once 每
第二 regardless 的 这 设置 位 在 寄存器 b. 当
这 设置 位 在 寄存器 b 是 设置 至 一个, 这 用户 copy 的
这 翻倍 缓冲 时间, calendar, 和 alarm 字节 是
frozen 和 将 不 更新 作 这 时间 increments. 如何-
总是, 这 时间 countdown chain 持续 至 更新 这
内部的 copy 的 这 缓存区. 这个 特性 准许 时间 至
维持 精度 独立 的 读 或者 writing 这
时间, calendar, 和 alarm 缓存区 和 也 guarantees
那 时间 和 calendar 信息 是 consistent. 这
更新 循环 也 比较 各自 alarm 字节 和 这
相应的 时间 字节 和 issues 一个 alarm 如果 一个 相一致
或者 如果 一个 “don’t care” 代号 是 呈现 在 所有 三 positions.
那里 是 三 方法 那 能 handle 进入 的 这
real 时间 时钟 那 避免 任何 possibility 的 accessing
inconsistent 时间 和 calendar 数据. 这 第一 方法
使用 这 更新-结束 中断. 如果 使能, 一个 inter-
rupt occurs 之后 每 向上 日期 循环 那 indicates 那
在 999 ms 是 有 至 读 有效的 时间 和 日期
信息. 如果 这个 中断 是 使用, 这 irqf 位 在 reg-
ister c 应当 是 cleared 在之前 leaving 这 中断
routine.
一个 第二 方法 使用 这 更新-在-progress 位 (uip)
在 寄存器 一个 至 决定 如果 这 更新 循环 是 在 prog-
ress. 这 uip 位 将 脉冲波 once 每 第二. 之后 这
uip 位 变得 高, 这 更新 转移 occurs 244
µ
s
后来的. 如果 一个 低 是 读 在 这 uip 位, 这 用户 有 在 least
244
µ
s 在之前 这 时间/calendar 数据 将 是 changed.
因此, 这 用户 应当 避免 中断 维护 rou-
tines 那 将 导致 这 时间 需要 至 读 有效的
时间/calendar 数据 至 超过 244
µ
s.
这 第三 方法 使用 一个 periodic 中断 至 决定
如果 一个 更新 循环 是 在 progress. 这 uip 位 在 寄存器
一个 是 设置 高 在 这 设置 的 这 pf 位 在 寄存器
c (看 图示 3). periodic 中断 那 出现 在 一个 比率
的 更好 比 t
BUC
准许 有效的 时间 和 日期 informa-
tion 至 是 reached 在 各自 occurrence 的 这 periodic
中断. 这 读 应当 是 完全 在里面 1
(
t
pi/
2
+ t
BUC
) 至 确保 那 数据 是 不 读 在 这
更新 循环.