I2C-EEPROM 实验

I2C 简介

        I2C为两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的 一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单, 器件封装形式小,通信速率较高等优点。

        I2C 总线只有两根双向信号线。一根是双向串行数据线 SDA,另一根是串行时钟线 SCL。广泛应用于各大集成芯片内。

I2C 物理层

        I2C 通信设备常用的连接方式如下图所示:

         如图所示,I2C的物理层有以下特点:

  • “总线”指多个设备共用的信号线,支持多个I2C 通讯设备的连接,支持多个通讯主机及多个通讯从机;
  • 一个 I2C 总线只使用两条总线线路,SDA:表示数据,SCL:用于数据收发同步;
  • 每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址对不同设备进行访问;
  • 总线通过上拉电阻接到电源。当 I2C 设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高阻态时,由上拉电阻把总线拉成高电平;
  • 多个主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定由哪个设备占用总线;
  • 具有三种传输模式:标准模式传输速率为 100kbit/s,快速模式为 400kbit/s,高速模式下可达3.4Mbit/s, 但目前大多 I2C 设备尚不支持高速模式。
  • 连接到相同总线的 IC 数量受到总线的最大电容 400pF 限制。
I2C 总线常用的一些术语
名称 说明
主机 启动数据传送,并产生时钟信号的设备
从机 被主机寻址的器件
多主机 同时有多于一个主机尝试控制总线但不破坏传输
主模式 用 I2CNDAT 支持自动字节计数的模式; 位 I2CRM,I2CSTT,I2CSTP 控制数据的接收和发送
从模式 发送和接收操作都是由 I2C 模块自动控制的
仲裁 一个在有多个主机同时尝试控制总线,但只允许其中一个控制总线,并使传输不被破坏的过程
同步 两个或多个器件同步时钟信号的过程
发送器 发送数据到总线的器件
接收器 从总线接收数据的器件

I2C 协议层

         I2C 的协议定义了通信的起始和停止信号、数据有效性、响应、仲裁、时钟同步和地址广播等环节。

数据有效性

         I2C 总线进行数据传送时,时钟信号为高电平时,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平时,数据线上的高或低电平状态才允许变化。如下图:

          每次数据传输都以字节为单位,每次传输的字节数不受限制。

起始和停止信号

          SCL 线为高电平期间,SDA 线由高电平向低电平的变化表示起始信号,SDA 线由低电平向高电平的变化表示终止信号。如下图:

            起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态;在终止信号产生后,总线就处于空闲状态。

应答响应

          每当发送器件传输完一个字节的数据后,后面必须紧跟一个校验位,这个校验位是接收端通过控制数据线SDA来实现的,其实就是数据或地址传输过程中的响应,表明发送端数据已经接收完成,数据传送可以继续进行。

          响应包括“应答

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值