I2C总线协议学习笔记.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.I2C 协议 2 条双向串行线,一条数据线 SDA ,一条时钟线 SCL。 SDA 传输数据是大端传输,每次传输 8bit ,即一字节。 支持多主控 (multimastering) ,任何时间点只能有一个主控。 总线上每个设备都有自己的一个 addr ,共 7 个 bit ,广播地址全 0. 系统中可能有多个同种芯片,为此 addr 分为固定部分和可编程部份,细节视芯片而定,看 datasheet 。 1.1 I2C 位传输 数据传输: SCL 为高电平时, SDA 线若保持稳定,那么 SDA 上是在传输数据 bit ; 若 SDA 发生跳变,则用来表示一个会话的开始或结束(后面讲) 数据改变: SCL 为低电平时, SDA 线才能改变传输的 bit 1.2 I2C 开始和结束信号 开始信号: SCL 为高电平时, SDA 由高电平向低电平跳变,开始传送数据。 结束信号: SCL 为高电平时, SDA 由低电平向高电平跳变,结束传送数据。 1.3 I2C 应答信号 Master 每发送完 8bit 数据后等待 Slave 的 ACK 。 即在第 9 个 clock ,若从 IC 发 ACK ,SDA 会被拉低。 若没有 ACK ,SDA 会被置高,这会引起 Master 发生 RESTART 或 STOP 流程,如下所示: 1.4 I2C 写流程 写寄存器的标准流程为: 1. Master 发起 START 2. Master 发送 I2C addr (7bit )和 w 操作 0 (1bit ),等待 ACK 3. Slave 发送 ACK 4. Master 发送 reg addr (8bit ),等待 ACK 5. Slave 发送 ACK 6. Master 发送 data (8bit ),即要写入寄存器中的数据,等待 ACK 7. Slave 发送 ACK 8. 第 6 步和第 7 步可以重复多次,即顺序写多个寄存器 9. Master 发起 STOP 写一个寄存器 写多个寄存器 1.5 I2C 读流程 读寄存器的标准流程为: 1. Master 发送 I2C addr (7bit )和 w 操作 1 (1bit ),等待 ACK 2. Slave 发送 ACK 3. Master 发送 reg addr (8bit ),等待 ACK 4. Slave 发送 ACK 5. Master 发起 START 6. Master 发送 I2C addr (7bit )和 r 操作 1 (1bit ),等待 ACK 7. Slave 发送 ACK 8. Slave 发送 data (8bit ),即寄存器里的值 9. Master 发送 ACK 10. 第 8 步和第 9 步可以重复多次,即顺序读多个寄存器 读一个寄存器 读多个寄存器 2. PowerPC 的 I2C 实现 Mpc8560 的 CCSR 中控制 I2C 的寄存器共有 6 个。 2.1 I2CADR 地址寄存器 CPU 也可以是 I2C 的 Slave ,CPU 的 I2C 地址有 I2CADR 指定 2.2 I2CFDR 频率设置寄存器 The serial bit clock frequency of SCL is equal to the CCB clock divided by the divider. 用来设置 I2C 总线频率 2.3 I2CCR 控制寄存器 MEN : Module Enable. 置 1 时, I2C 模块使能 MIEN :Module Interrupt Enable. 置 1 时, I2C 中断使能。 MSTA :Master/slave mode. 1 Master

文档评论(0)

lh2468lh + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档