主控端
-
为启动数据传送
(START
指令
)
、产生时钟
(SCL)
信号并中止数据传
送
(STOP
指令
)
的器件,主控端必须是传送端或接收端。
从属端
-
由主控端定址的器件。从属端可以扮演接收端或发送端的角色。
多重主控端
-
在总线上可同时存一个以上的主控端,并且不会造成冲突或数据
遗失。通常来说运用
"bit-banged"
软件的主控端并不具有多重主控端能力,
I
²
C
总线控制器提供了一个将多重主控端硬件
I
²
C
连接端口加入到
DSP
或
ASIC
的简单方法。
仲裁机制
-
预先定义在特定时间内只有一个主控端能够取得总线控制权。
同步
-
预先将二个或二个以上的主控端时钟信号予以同步化的定义程序。
SDA
-
串行数据信号线
(
S
erial
DA
ta)
SCL
-
串行时钟信号线
(
S
erial
CL
ock)
目标器件的
I
²
C
地址在第一个位组中送出,
而这个起始位组中最不重要位
(LSB)
则用来表明主控端将进行发送
(
写入
)
数据或由接收端接收
(
读取
)
数据,
称为
从属器件,
每笔数据交换必须以
START
指令开头,
并以
STOP
或
RESTART
情况
结束。
如果同一个
I
²
C
总线上有两个主控端,
且同时发出
START
指令要控制总
线时,那么就会以仲裁机制处理。当主控端,如微控器,已经控制总线时,其他
的主控端必须等到第一个主控端送出
STOP
指令,并且将总线回复闲置状态时,
才能控制总线。
总线数据传送术语
F (FREE)
-
总线为可用或闲置状态,这时
SDA
串行数据线与
SCL
串行时钟均
为高电位状态。
S (START)
或
R (RESTART)
-
数据传送是以
START
情况开始,这时
SDA
串行
数据线的电压位准会从高电位转变为低电位,
而
SCL
串行时钟则保持在高电位,
当这个情况发生时,代表了总线进入忙碌
(BUSY)
状态。
C
(CHANGE)
-
当
SCL
串行时钟数据线为低电位时,数据位就可以由发送端放置
到
SDA
串行数据在线,
在这段时间内,
只要
SCL
串行时钟一直维持在低电位状
态,
SDA
可以改变它的状态。
D
(DATA)
-
SDA
串行数据在线高或低电位的数据在
SCL
串行时钟线处于高位准
时,在整个传输过程中时钟必须稳定维持在高电位以避免错误判读为
START
或
STOP
情况。
P
(STOP)
-
数据传输在收到
STOP
指令时结束,这时候
SDA
串行数据线的位准
由低电位回复到高电位,而
SCL
串行时钟线则维持在高电位,一但数据传送结
束后,总线会在自动回复到可用状态。
电位转换
I
²
C
由于新的
I
²
C
器件以各种不同的电压运作,因此飞利浦半导体开发出一个解决
方案,几乎不需要任何额外的动作或成本就能使不同电源电压的
I
²
C
器件拥有
完整的双向数据传输电路,只要在
I
²
C
总线的不同电压位准间加上两颗低成本