硬件-协议|I2C总线结构的EEPROM
常用芯片AT24C02
AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节。AT24C02有一个8字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能
文章图片
文章图片
引脚
SCL 串行时钟
AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。
SDA 串行数据/地址
AT24C02 双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA 是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。
A0、A1、A2 器件地址输入端
这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。当使用AT24C02 时最大可级联8个器件。如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2 )可悬空或连接到Vss,如果只有一个AT24C01被总线寻址这三个地址输入脚(A0、A1、A2 )必须连接到Vss。
WP 写保护
如果WP管脚连接到Vcc,所有的内容都被写保护只能读。当WP管脚连接到Vss 或悬空允许器件进行正常的读/写操作
结构与寻址
AT24C02的存储容量为2Kb,内容分成32页,每页8B,共256B,操作时有两种寻址方式:芯片寻址和片内子地址寻址。
(1)芯片寻址:AT24C02的芯片地址为1010,其地址控制字格式为1010A2A1A0R/W。其中A2,A1,A0可编程地址选择位。A2,A1,A0引脚接高、低电平后得到确定的三位编码,与1010形成7位编码,即为该器件的地址码。R/W为芯片读写控制位,该位为0,表示芯片进行写操作。
(2)片内子地址寻址:芯片寻址可对内部256B中的任一个进行读/写操作,其寻址范围为00~FF,共256个寻址单位。
I2C总线接口电路图如下图
文章图片
I2C总线的器件分为主器件和从器件。主器件的功能是启动在总线上传送数据,并产生时钟脉冲,以允许与被寻址的器件进行数据传送。被寻址的器件,称为从器件。一般来讲,任何器件均可以成为从器件,只有微控制器才能称为主器件。主、从器件对偶出现,工作在接收还是发送数据方式,由器件的功能和数据传送方向所决定。
I2C总线允许连接多个微控制器,显然不能同时存在两个主器件,先控制总线的器件成为主器件,这就是总线竞争。在竞争过程中数据不会被破坏、丢失。数据只能在主、从器件中传送,结束后,主、从器件将释放总线,退出主、从器件角色。
I2C总线接口特性
传统的单片机串行接口的发送和接收一般都分别各用一条线,如MCS-51系列的TXD和RXD,而I2C总线则根据器件的功能通过软件程序使其工作于发送或接收方式。当某个器件向总线上发送信息时,它就是发送器(也叫主器件),而当其从总线上接收信息时,又成为接收器(也叫从器件)。主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。I2C总线的控制完全由挂在总线上的主器件送出的地址和数据决定,在总线上,既没有中心机也没有优先级。
总线上主和从(即发送和接收)的关系取决于此时数据传送的方向。SDA 和SCL 都是双向线路,都通过一个电流源或上拉电阻连接到电源端。连接总线器件的输出级必须是集电极或漏极开路,以具有线“与”功能,当总线空闲时,两根线都是高电平。
【硬件-协议|I2C总线结构的EEPROM】下图是AT24C02与51单片机的一个连接示意图
文章图片
其各种状态的时序图就不在这里介绍,各位可查询相关书籍与资料
推荐阅读
- (八)签协议
- 计算机网络|计算机网络——DHCP协议详解
- javaEmail一(传输协议简介)
- SDP协议
- FTP创建
- Android|Android 清单文件的硬件加速android:hardwareAccelerated 慎重
- Scheme跳转协议
- GD32VF103|GD32VF103 I2C 通讯
- 杭州视频会议硬件终端和四海云视频会议软件系统解决方案
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)