AT24C02(I2C总线)通信的学习

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

文章目录

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


前言

学习AT24C02(I2C总线)芯片

一、存储器介绍

在这里插入图片描述
RAM()存储速度较快,但容易丢失数据。ROM(Read Only Memory)存储速度较慢,但掉电不丢失数据。在使用时需要两者结合先存入RAM再转存到ROM中。
在这里插入图片描述

二、AT24C02芯片

AT24C02是一种可以实现掉电不丢失的存储器,可以用于保护单片机运行时想要永久保存的数据信息。
存储介质:E2PROM
通讯接口:I2C总线
容量:256字节
在这里插入图片描述
在这里插入图片描述
注:高电平为写保护。

在这里插入图片描述

二、I2C总线

多设备通信协议

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

I2C电路规范

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

I2C时序结构

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

  • 终止条件:SCL高电平期间,SDA从低电平切换到高电平
    在这里插入图片描述

  • 发送一个字节:SCL低电平期间,主机将数据位依次放到SDA线上(高位在前),然后拉高SCL,从机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可发送一个字节。
    在这里插入图片描述

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

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

  • 接受应答:在发送完一个字节之后,主机在下一个时钟接受一位数据,判断从机是否应答,数据0表示应答,数据1表示非应答(主机在接收之前,需要释放SDA)
    -在这里插入图片描述
    ACK-Acknowledge character

I2C数据帧

在这里插入图片描述
发送数据给从机,从机接收到了就要返回应答给主机,所以主机是接收应答RA

  • 先发送再接收数据帧(复合格式)
    在这里插入图片描述

AT24C02数据帧

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

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

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


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

  • 字节写:再”字地址“处写入”数据“
    在这里插入图片描述
    -随机读:读出再”字地址“出的”数据“
    在这里插入图片描述

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/397212.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

应急响应实战笔记03权限维持篇(1)

第1篇:Windows权限维持--隐藏篇 0x00 前言 攻击者在获取服务器权限后,通常会用一些后门来维持权限,如果你想让你的后门保持的更久些,那么请隐藏好它,使之不易被管理员发现。 0x01 隐藏文件 1、利用文件属性 最简单…

C++右值引用和移动语义

C右值引用和移动语义 在C中,我们经常会遇到左值和右值的概念。左值是可以获取地址的表达式,只要是一个变量,那他就一定是个左值。而右值则是临时的,不能赋值,也没有持久的内存地址。 int&& a 10; //a是右指…

前端首屏、白屏与卡顿性能优化?你想要的都在这里!

您好, 如果喜欢我的文章或者想上岸大厂,可以关注公众号「量子前端」,将不定期关注推送前端好文、分享就业资料秘籍,也希望有机会一对一帮助你实现梦想 首屏秒开 首屏秒开主要可以分为 4 个方法——懒加载,缓存&#…

备战蓝桥杯---动态规划(入门3之子串问题)

本专题再介绍几种经典的字串问题。 这是一个两个不重叠字串和的问题,我们只要去枚举分界点c即可,我们不妨让c作为右区间的左边界,然后求[1,c)上的单个字串和并用max数组维护。对于右边,我们只要反向求单个字串和然后选左边界为c的…

day03-股票数据报表与导出

day03-股票数据表报与导出 目标 理解涨幅榜业务需求;理解涨停跌停概念,并涨停跌停基本实现;理解涨停跌停SQL分析流程,并根据接口文档自定义实现;理解echarts基本使用;掌握easyExcel基本使用,并实现涨幅榜数据导出功能; 第一章 股票涨幅统计 1、涨幅榜…

获取 OpenAI Sora 访问权限:立即申请!

OpenAI的Sora是一种尖端的文本到视频的人工智能模型,它能够根据文本描述创建高清、详细的视频,这让人相当兴奋。这项技术代表了人工智能驱动的内容创作的重大飞跃,通过实现更动态、更吸引人的故事讲述和信息共享,为各个行业带来了…

Linux下多核CPU指定程序运行的核

设置程序在指定CPU核心运行 一、如何查看程序运行的CPU信息 1.1 查看当前系统CPU有几个核心 查看CPU核心数量:lscpu 1.2 查看程序的PID ps aux|grep cpu_test1.3 查看程序可运行的CPU taskset -c -p pid1.4 设置程序在指定核心上运行 1.4.1 通过运行时的参数设…

Linux系统——http协议介绍

目录 引言——Internet起源 一、http协议——超文本传输协议 1.http相关概念 2.访问浏览器的过程 3.http协议通信过程 4.http相关技术 4.1WEB开发语言 4.2html 4.3CSS 4.4JS 5.MIME——Multipurpose Internet Mail Extensions 多用途互联网邮件扩展 6.URI URN URL的…

【CentOS】Linux 文件与目录管理

目录 1、目录的切换、新增和删除 (1)cd (change directory,切换目录) (2)pwd (显示目前所在的目录) (3)mkdir (make directory,建立新目录 ) (4)rmdir (…

leetcode:494.目标和

解题思路:1.因为每个数字都有正负两种选择,所以可以采用回溯算法。(会超时) 2.分成两个集合,分别为正数集合(left)和负数(right)集合。 left right Sum ---> righ…

阿里云服务器操作系统有哪些?如何选择?

阿里云服务器镜像怎么选择?云服务器操作系统镜像分为Linux和Windows两大类,Linux可以选择Alibaba Cloud Linux,Windows可以选择Windows Server 2022数据中心版64位中文版,阿里云服务器网aliyunfuwuqi.com来详细说下阿里云服务器操…

力扣OJ题——相交链表

题目:160. 相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 思路一(暴力求解): A链表的每个节点依次跟B链表中节点进行…

芯课堂 | 华芯微特系列芯片CAN中断配置

​今天小编给大家带来的是华芯微特全系列芯片如何配置CAN中断模块的详细介绍,包括CAN各自中断以及错误处理方式,大家一起来看看吧。 Part 1:CANRX中断 CAN接受和发送模块各有64位深的FIFO用于缓存,如果像上图一样打开了RX非空中断…

java面试题之redis篇

1.redis 中的数据类型有哪些 随着 Redis 版本的更新,后面又支持了四种数据类型: BitMap(2.2 版新增)、HyperLogLog(2.8 版新增)、GEO(3.2 版新增)、Stream(5.0 版新增&am…

C#||应用框体设计计算器

题目: 设计一个简单计算器 思路: 首先在应用框体中设计自己喜欢的计算器格式,接着编辑其中的函数。抽取一个Call函数用来显示从键盘输入的数字,cleanall()函数进行清屏操作,mode()函数进行四…

Android EditText关于imeOptions的设置和响应

日常开发中,最绕不开的一个控件就是EditText,随之避免不了的则是对其软键盘事件的监听,随着需求的不同对用户输入的软键盘要求也不同,有的场景需要用户输入完毕后,有一个确认按钮,有的场景需要的是回车&…

ChatGPT如何提供实用且高质量的建议和指导,提高编程效率和准确性

ChatGPT4.0的功能包括: 无限制ChatGPT模型使用 GPT-4模型使用 GPT-4图像分析功能 GPT-4联网功能 GPT-4高级数据分析功能 GPT-4高级插件功能 DALLE-3高级AI绘图功能 如何能高效地处理文本、文献查阅、PPT编辑、编程、绘图和论文写作已经成为您成功的关键。而 …

代码随想录算法训练营第二十三天|669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

669. 修剪二叉搜索树 刷题https://leetcode.cn/problems/trim-a-binary-search-tree/description/文章讲解https://programmercarl.com/0669.%E4%BF%AE%E5%89%AA%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91.html视频讲解https://www.bilibili.com/video/BV17P41177ud/?sh…

【Java EE初阶十五】网络编程TCP/IP协议(二)

1. 关于TCP 1.1 TCP 的socket api tcp的socket api和U大片的socket api差异很大,但是和前面所讲的文件操作很密切的联系 下面主要讲解两个关键的类: 1、ServerSocket:给服务器使用的类,使用这个类来绑定端口号 2、Socket&#xf…

【高阶数据结构】B+树

文章目录 1. B树的概念2. B树的查找3. B-树 VS B树4. B 树的插入分析 1. B树的概念 B树是B树的变形,是在B树基础上优化的多路平衡搜索树,B树的规则跟B树基本类似,但是又在B树的基础上做了一些改进优化。 一棵m阶的B树需满足下列条件&#x…