AT24C02(I2C总线)通信的学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、存储器介绍
  • 二、AT24C02芯片
  • 二、I2C总线
    • I2C电路规范
      • I2C时序结构
      • I2C数据帧
      • AT24C02数据帧
  • 总结


前言

学习AT24C02(I2C总线)芯片

一、存储器介绍

AT24C02(I2C总线)通信的学习_第1张图片
RAM()存储速度较快,但容易丢失数据。ROM(Read Only Memory)存储速度较慢,但掉电不丢失数据。在使用时需要两者结合先存入RAM再转存到ROM中。
AT24C02(I2C总线)通信的学习_第2张图片

二、AT24C02芯片

AT24C02是一种可以实现掉电不丢失的存储器,可以用于保护单片机运行时想要永久保存的数据信息。
存储介质:E2PROM
通讯接口:I2C总线
容量:256字节
AT24C02(I2C总线)通信的学习_第3张图片
AT24C02(I2C总线)通信的学习_第4张图片
注:高电平为写保护。

AT24C02(I2C总线)通信的学习_第5张图片

二、I2C总线

多设备通信协议

  • I2C总线(inter IC BUS)是由Philips公司开发的一种通用数据总线
  • 两根通信线:SCL(Serial Clock)、SDA(Serial Data)
  • 同步、半双工、带数据应答
  • 通用的I2C总线,可以使各种设备的通信标准同一,对于厂家来说,使用成熟的方案可以缩短芯片设计周期、提高稳定性、对于应用者来说,使用通用的协议可以避免学习各种各样的自定义协议,降低了学习和应用的难度。
    AT24C02(I2C总线)通信的学习_第6张图片

I2C电路规范

  • 所有I2C设备的SCL连接在一起,SDA链接在一起
  • 设备的SCL和SDA均要配置成开漏输出模式
  • SCL和SDA各添加一个上拉电阻,阻值一般为4.7KΩ左右
  • 开漏输出和上位电阻的共同作用实现了”线与“的功能,此设计主要是为了解决多机通信互相干扰的问题
    AT24C02(I2C总线)通信的学习_第7张图片
    AT24C02(I2C总线)通信的学习_第8张图片

I2C时序结构

  • 起始条件:SCL高电平期间,SDA从高电平切换到低电平

  • 终止条件:SCL高电平期间,SDA从低电平切换到高电平
    AT24C02(I2C总线)通信的学习_第9张图片

  • 发送一个字节:SCL低电平期间,主机将数据位依次放到SDA线上(高位在前),然后拉高SCL,从机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可发送一个字节。
    AT24C02(I2C总线)通信的学习_第10张图片

  • 接收一个字节:SCL低电平期间,从机将数据位依次放到SDA线上(高位在前),然后拉高SCL,主机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可接收一个字节(主机在接受之前,需要释放SDA)
    AT24C02(I2C总线)通信的学习_第11张图片
    如果主机不释放SDA,那么从机就没办法获得SDA的控制权,也就是没办法将数据放到SDA上。

  • 发送应答:在接收完一个字节之后,主机在下一个时钟发送一位数据,数据0表示应答,数据1表示非应答。

  • 接受应答:在发送完一个字节之后,主机在下一个时钟接受一位数据,判断从机是否应答,数据0表示应答,数据1表示非应答(主机在接收之前,需要释放SDA)
    -AT24C02(I2C总线)通信的学习_第12张图片
    ACK-Acknowledge character

I2C数据帧

AT24C02(I2C总线)通信的学习_第13张图片
发送数据给从机,从机接收到了就要返回应答给主机,所以主机是接收应答RA

  • 先发送再接收数据帧(复合格式)
    AT24C02(I2C总线)通信的学习_第14张图片

AT24C02数据帧

  • 字节写:在WORD ADDRESS处写入数据DATA
    在这里插入图片描述

  • 随机读:读出在WORD ADDRESS处的数据DATA
    在这里插入图片描述

  • AT24C02的固定地址为1010,可配置地址本开发板上位000
    所以SLAVE ADDRESS+W位0xA0,SLAVE ADDRESS+R为0xA1


每个设备也是有地址的,就跟电脑的外设一样知道地址才能找到外设,找到设备后再确定存储设备内部的地址。

  • 字节写:再”字地址“处写入”数据“
    AT24C02(I2C总线)通信的学习_第15张图片
    -随机读:读出再”字地址“出的”数据“
    AT24C02(I2C总线)通信的学习_第16张图片

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

你可能感兴趣的:(学习)