I2C操作笔记——以 AT24C04为例

发布者:CaptivatingGaze最新更新时间:2018-04-28 来源: eefocus关键字:I2C操作  AT24C04 手机看文章 扫描二维码
随时随地手机看文章

1.前言

    对于大多数工程师而言,I2C永远是一个头疼的问题。相比UART和SPI而言,I2C的时序要复杂一些,I2C组合变化也丰富一些。在这里以AT24C04为例说明I2C使用过程中的一些注意点。

2.AT24C04操作示意图


图 AT24C04操作示意图

示意图说明:示意图分阐述了4种不同的操作方式,例如写单个存储单元,写多个存储单元,读单个存储单元和写单个存储单元。对于单个操作而言,上部为MCU通过I2C输出的相关指令,下部为I2C设备的响应。例如写单个存储单元操作时,MCU发出I2C启动,设备地址,写标志位等,而I2C设备输出多个ACK。
(勘误说明,图AT24C04操作示意图中,两处R标志位之后分别缺少一个A应答。由于可编辑的原始图片文件已经丢失,暂不能修正图片本身请各位读者原谅)

3.若干说明

3.1 基本操作方式

I2C设备的操作可分为写单个存储字节,写多个存储字节,读单个存储字节和读多个存储字节。相对于AT24C04而言,这些读写动作相对于内部的存储单元而言,对于其他的具备I2C接口的AD或传感器而言,存储单元变成了寄存器单元。虽然存在概念上的差别,但是其操作原理确实一样的。

3.2 无应答

在以上4种情况中,无应答为MCU发出,无应答意为MCU不需要从机输出数据,MCU将会停止本次I2C操作。需要说明的是,无应答并不是一种异常情况。

3.3 I2C设备并不只有一个设备地址

这一点往往被忽略,一般情况下认为在I2C启动信号之后的字节为I2C从机地址(7位)。对于AT24C04而言,内部具有4Kb存储位,合计512字节。若需要访问512字节内容,总共需要9根地址线(8位宽度),那么上图中的存储地址(8位长度)显然还差了一位,那么就需要从设备地址中“借”1位,这就使得AT24C04具有两个I2C地址,例如0x50和0x51。

3.4 存储地址

相对于AT24C04而言,存储地址占1个字节。若换成其他I2C设备,例如ADXL345,存储地址被寄存器地址替代即可,其他操作方式相似。但是像AT24C32或AT24C64这样的大容量EEPROM,则存储地址需要2字节描述,也就意味着需要连续发送两个字节地址信息且高字节在前。其他像BH1750这样的光照芯片,存储地址被具体的操作命令替代,使用I2C设备时需要因地制宜,切不可照搬教条。

3.5 连续读和连续写限制

AT24C04中存在页的概念,一页的大小为8字节,若果在单页的范围内,存储地址累加,若超过该页的最大地址,存储地址回到页开始处。所以对于连续读和连续写而言,最大的操作字节数为8。若需要操作的字节内容超过8字节,则需要进行翻页操作,即写入下一页的起始存储地址。

4 总结

    I2C设备有很多种,若掌握基本原理,便可见招拆招,那是I2C总线就不那么难了。


关键字:I2C操作  AT24C04 引用地址:I2C操作笔记——以 AT24C04为例

上一篇:前后台系统的低功耗编程思想——STM8平台
下一篇:MSP430F5438学习笔记 定时器TA1 比较匹配CCR0

推荐阅读最新更新时间:2024-03-16 16:00

基于STM32F103的GPIO模拟I2C操作AT24C02S-ST E2prom调试日志
基于STM32F103的GPIO模拟I2C操作E2prom芯片AT24C02S-ST: 1、硬件环境初始化:Stm32管脚配置,管脚操作 typedef struct _PIN_CFG { GPIO_TypeDef *Port; uint16_t Pin; } PIN_CFG; typedef struct _E2PROM_CFG { PIN_CFG SCL; PIN_CFG SDA; } E2PROM_CFG; E2PROM_CFG E2prom_Cfg; //初始化 void E2prom_Chip_Init(void) { GPIO_InitTypeDef GPIO_InitSt
[单片机]
基于STM32F103的GPIO模拟<font color='red'>I2C</font><font color='red'>操作</font>AT24C02S-ST E2prom调试日志
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved