I2C总线操作原理 I²C 总线操作原理 [pic] 任何 I²C 器件都可以连接到 I²C 总线上,而每一个总线上的器件也能和任何一个主控端沟通互相传送信息,在总线上至 少必须有一个主控端,如微控器或 DSP,每个主控端拥有相同的优先权,且在 I²C 总线上加入或移除器件都非常简便。 [pic] 总线的电容总和必须低于 400 pF,大约 20 到 30 个器件或 10 m 的传输长度,以符合上升与下降时间的要求,每个器件必须驱动 3mA 形成逻辑低位准,并在开漏极总线内置大约 2 K 到 10 K ohms 的提升电阻与 0.4 mA 的电流,同时并具有双向 I²C 总线缓冲器可以用来隔离总线上不同接线的电容,以带来更大 (2000pF) 与更长 (2000 m) 的总线结构。 [pic] 每个 I²C 器件都拥有一个独一无二的 7-bit I²C 地址,让主控端知道通信传输的对象是谁,通常 7-bit 中四个较重要的位 (MSB) 为固定的,并依器件本身性质的分类区分,如 1010 即代表串行 EEPROM,而其他三个较不重要的位 (LSB),即 A2、A1 与 A0 则可以通过硬件电子引脚设定,并取得高达 8 个不同的 I²C 地址组合,因此在同一个 I²C 总线上可以有 8 个相同形式的器件运作,这些引脚固定在 VCC 高电压代表逻辑 1,固定在接地低电压则代表逻辑 0,7-bit 的定址方式可以带来总线上 128 个器件的组合,但由于部份地址设定保留给特殊指令应用,因此实际上最高器件数大约 为 120 个。 I²C 总线术语 [pic] 发送端 - 发送数据到总线的器件。当发送端器件可以主动将数据放到总线,我们称为主控发送端 ,若可以回应主控端的要求,即称为从属发送端。 接收端 - 接收来自总线传输数据的器件……