I2C总线操作原理.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
I2C 总线操作原理 任何 I2C 器件都可以连接到 I2C 总线上,而每一个总线上的器件也能和任何一个主控端沟通互相传送信息,在总线上至少必须有一个主控端,如微控器或 DSP,每个主控端拥有相同的优先权,且在 I2C 总线上加入或移除器件都非常简便。 总线的电容总和必须低于 400 pF,大约 20 到 30 个器件或 10 m 的传输长度,以符合上升与下降时间的要求,每个器件必须驱动 3mA 形成逻辑低位准,并在开漏极总线内置大约 2 K 到 10 K ohms 的提升电阻与 0.4 mA 的电流,同时并具有双向 I2C 总线缓冲器可以用来隔离总线上不同接线的电容,以带来更大 (2000pF) 与更长 (2000 m) 的总线结构。 每个 I2C 器件都拥有一个独一无二的 7-bit I2C 地址,让主控端知道通信传输的对象是谁,通常 7-bit 中四个较重要的位 (MSB) 为固定的,并依器件本身性质的分类区分,如 1010 即代表串行 EEPROM,而其他三个较不重要的位 (LSB),即 A2、A1 与 A0 则可以通过硬件电子引脚设定,并取得高达 8 个不同的 I2C 地址组合,因此在同一个 I2C 总线上可以有 8 个相同形式的器件运作,这些引脚固定在 VCC 高电压代表逻辑 1,固定在接地低电压则代表逻辑 0,7-bit 的定址方式可以带来总线上 128 个器件的组合,但由于部份地址设定保留给特殊指令应用,因此实际上最高器件数大约为 120 个。 I2C 总线术语 发送端 - 发送数据到总线的器件。当发送端器件可以主动将数据放到总线,我们称为主控发送端,若可以回应主控端的要求,即称为从属发送端。 接收端 - 接收来自总线传输数据的器件。当接收端器件可以主动接收数据时,我们称为主控接收端,若依照主控端要求而接收,称为从属接收端。 主控端 - 为启动数据传送 (START 指令)、产生时钟 (SCL) 信号并中止数据传送 (STOP指令) 的器件,主控端必须是传送端或接收端。 从属端 - 由主控端定址的器件。从属端可以扮演接收端或发送端的角色。 多重主控端 - 在总线上可同时存一个以上的主控端,并且不会造成冲突或数据遗失。通常来说运用 bit-banged 软件的主控端并不具有多重主控端能力,I2C 总线控制器提供了一个将多重主控端硬件 I2C 连接端口加入到 DSP 或 ASIC 的简单方法。 仲裁机制 - 预先定义在特定时间内只有一个主控端能够取得总线控制权。 同步 - 预先将二个或二个以上的主控端时钟信号予以同步化的定义程序。 SDA - 串行数据信号线 (Serial Data) SCL - 串行时钟信号线 (Serial Clock) 目标器件的 I2C 地址在第一个位组中送出,而这个起始位组中最不重要位 (LSB) 则用来表明主控端将进行发送 (写入) 数据或由接收端接收 (读取) 数据,称为从属器件,每笔数据交换必须以 START 指令开头,并以 STOP 或 RESTART 情况结束。如果同一个 I2C 总线上有两个主控端,且同时发出 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 串行时钟线则维持在高电位,一但数据传送结束后,总线会在自动回复到可用状态。 电位转换 I2C 由于新的 I2C 器件以各种不同的电压运作,因此飞利浦半导体开发出一个解决方案,几乎不需要任何额外的动作或成本就能使不同电源电压的 I2C 器件拥有完整的双向数据传输电路,只要在 I2C 总线的不同电压位准间

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档