CAT34RC02
5
doc 非. 1052, rev. k
I
2
c 总线 协议
这 i
2
c 总线 组成 的 二
‘
线
’
, scl 和 sda. 这
二
‘
线
’
是 连接 至 这 供应 (v
CC
) 通过 拉-向上
电阻器. 主控 和 从动装置 设备 连接 至 这 总线
通过 它们的 各自的 scl 和 sda 管脚. 这 transmitting
设备 pulls 向下 这 sda 线条 至
‘
transmit
’
一个
‘
0
’
和
releases 它 至
‘
transmit
’
一个
‘
1
’
.
(1) 数据 转移 将 是 initiated 仅有的 当 这 总线 是
不 busy (看 一个.c. 特性).
(2) 在 一个 数据 转移, 这 数据 线条 必须 仍然是
稳固的 whenever 这 scl 线条 是 高. 一个 sda
转变 当 scl 是 高 将 是 interpreted 作 一个
开始 或者 停止 情况.
开始 情况
这 开始 情况 precedes 所有 commands. 它 组成
的 一个 高 至 低 转变 在 sda 当 scl 是 高.
这 开始 情况 acts 作 一个
‘
wake-向上
’
call 为 这
从动装置 设备. 一个 从动装置 将 不 respond 至 commands
除非 这 主控 发生 一个 开始 情况.
停止 情况
这 停止 情况 完成 所有 commands. 它 组成
的 一个 低 至 高 转变 在 sda 当 scl 是 高.
这 停止 情况 开始 这 内部的 写 循环, 当
下列的 一个 写 command 和 发送 这 从动装置 在
备用物品 模式, 当 下列的 一个 读 command.
设备 寻址
这 主控 initiates 一个 数据 转移 用 creating 一个 开始
情况 在 这 总线. 这 主控 然后 broadcasts 一个 8-
位 串行 从动装置 地址. 这 四 大多数 重大的 位 的
这 从动装置 地址 (这
‘
preamble
’
) 是 fixed 至 1010
(ah), 为 正常的 读/写 行动 和 0110 (6h) 为
软件 写 保护 (swp) 行动 (图. 5). 这
next 三 位, 一个
2
, 一个
1
和 一个
0
, 选择 一个 的 第八 可能
从动装置 设备. 这 last 位, r/
W
, specifies whether 一个
读 (1) 或者 写 (0) 运作 是 至 是 执行.
Acknowledge
之后 处理 这 从动装置 地址, 这 从动装置 responds
和 一个 acknowledge (ack) 用 拉 向下 这 sda
线条 在 这 9
th
时钟 循环. 这 从动装置 将 aslo
acknowledge 这 8-位 字节 地址 和 每 数据 字节
提交 在 写 模式. 在 读 模式 这 从动装置
shifts 输出 第八 位 的 数据, 和 然后
‘
releases
’
这 sda
线条 durng 这 9
th
时钟 循环. 如果 这 主控 acknowledges
在 这 9
th
时钟 循环 (用 拉 向下 这 sda 线条), 然后
这 从动装置 持续 transmitting. 当 数据 转移 是
完全, 这 主控 responds 和 一个 noack (它 做
不 acknowledge 这 last 数据 字节) 和 这 从动装置 stops
transmitting 和 waits 为 一个 停止 情况.
图示 4. acknowledge 定时
图示 5. 从动装置 地址 位
ACKNOWLEDGE
1
开始
scl 从
主控
89
数据 输出
从 传输者
数据 输出
从 接受者
1
设备 地址
010A
2
一个
1
一个
0
r/w
0 110A
2
一个
1
一个
0
r/w
正常的 读 和 写
程序编制 这 写
保护 寄存器