I2C_EEPROM详解.pdf

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
I2C_EEPROM详解

7.12 IIC_EEPROM读写测试实验 1 7.12.1 意义与作用1 7.12.2 I2C介绍1 7.12.3 STM32 的IIC介绍 3 7.12.4 EEPROM的介绍4 7.12.5 实验原理7 7.12.6 硬件设计7 7.12.7 软件设计8 7.12.8 实验现象16 7.12 IIC_EEPROM读写测试实验 7.12.1 意义与作用 在本章节,我们以最常见的I2C (I2C也叫IIC )接口的EEPROM芯片AT24C02为例进行 学习研究。它采用PHILIPS公司开发的两线式串行总线(I2C总线)。通过本章节实验,我们将 对I2C总线有一个深入的了解,对常用的存储设备进行初步的了解,掌握如何读写访问 AT24CXX这一系列I2C接口的EEPROM。 7.12.2 I2C介绍 I2C 总线的定义 I2C(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线,用 于连接微控制器及其外围设备。它是由数据线 SDA 和时钟 SCL 构成的串行总线,可发送和 接收数据,读写访问简单。在 CPU 与被控 IC 之间、IC 与 IC 之间进行双向传送,高速 I2C 总线一般可达 400kbps 以上。 I2C 总线特点 I2C 总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此 I2C 总线 占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。 1) 个连接到总线的设备都可以通过唯一的设备地址单独访问 2) 串行的8 位双向数据传输,位速率在标准模式下可达到 100kb/s,快速模式下可以 达到 400kb/s,高速模式下可以达到 3.4Mb/s 3) 总线长度最长 7.6m 左右 4) 片上滤波器可以增加抗干扰能力,保证数据的完成传输 5) 连接到一条 IIC 总线上的设备数量只受到最大电容 400pF 的限制。IIC 总线是 7 位 的地址,2 的 7 次方是 128。实现应用中由于电容等方面的限制,总线上面连接的 IIC 设备,不会太多。 6) 它是一个多主机系统,在一条总线上可以同时有多个主机存在,通过冲突检测方式 和延时等待防止数据不被破坏。同一时间只能有一个主机占用总线 I2C 总线工作状态 I2C 总线在传送数据过程中共有三种特殊类型信号,它们分别是:开始信号、结束信号 和应答信号。 开始信号:SCL为高电平期间,SDA 由高电平向低电平跳变,开始传送数据。 结束信号:SCL为高电平期间,SDA 由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲, 表示已收到数据。CPU 向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU 接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判 断为受控单元出现故障。 I2C 总线三种特殊类型信号时序图为: 7.12.3 STM32的IIC介绍 STM32 的芯片,它们的外设是大同小异的。具体的芯片的资源,以ST公司提供的相关 资料为准(比如芯片的数据手册、参考手册)。神舟IV号开发板使用的芯片是STM32F107VCT 它的I2C接口特性如下: 1) 芯片均有2个的I2C总线接口,I2C1、I2C2。 2) 能够工作于多主模式或从模式。 3) 支持标准模式100Kbit/s和快速模式400Kbit/s,不支持高速模式。 4) 支持7位或10位寻址。 5) 内置了硬件CRC发生器/ 校验器。 6) 它的接收和发送都可以使用DMA操作。 7) 支持系统管理总线(SMBus)总线2.0版。 I2C 框图: 我们可以看到,I2C的所有硬件架构就是根据SCL线和SDA线展开的(其中的SMBALERT 线用于SMBUS)。 SCL线的时序即为I2C协议中的时钟信号,它由I2C接口根据时钟控制寄存器(CCR)控制, 控制的参数主要为时钟频率。 而 SDA 的信号则通过一系列数据控制架构,在将要发送的数据的基础上,根据协议添 加

文档评论(0)

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

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

1亿VIP精品文档

相关文档