查看: 4888|回复: 26

#每日一练2.25#你知道I2C通信的原理吗?

  [复制链接]

该用户从未签到

发表于 2020-2-25 09:47:50 | 显示全部楼层 |阅读模式
分享到:
为鼓励大家动手动脑,早日成为技术大牛。电路城论坛现在推出#每日一练#栏目,由版块版主出题及提供答案,内容涉及电源,射频,单片机等各种技术话题。我们会在周一至周五的早上10:30更新问题和前天问题的解题思路及答案。欢迎大家参与。






本期内容来源于:



模拟狂人,电子信息工程专业,全国大学生电子竞赛省二等奖获得者,对模拟电子技术、数字电子技术、单片机技术学习有丰富经验。现主要从事ARM开发工作,有丰富项目经验。

I2C总线是PHLIPS公司在20世纪80年代推出的一种串行总线。具有引脚少,硬件实现简单,可扩展性强的优点。I2C总线的另一优点是支持多主控,总线上任何能够进行发送/接收数据的设备都可以占领总线。当然,任意时间点上只能存在一个主控。在硬件上,I2C 总线是由时钟总线 SCL 和数据总线 SDA 两条线构成,连接到总线上的所有器件的 SCL 都连到一起,所有 SDA 都连到一起。I2C 总线是开漏引脚并联的结构,因此我们外部要添加上拉电阻。对于开漏电路外部加上拉电阻,就组成了线“与”的关系。总线上线“与”的关系就是说,所有接入的器件保持高电平,这条线才是高电平,而任何一个器件输出一个低电平,那这条线就会保持低电平,因此可以做到任何一个器件都可以拉低电平,也就是任何一个器件都可以作为主机。

I2C 时序流程图.png
I2C时序流程图
我们在学习 UART 串行通信的时候,知道了通信流程分为起始位、数据位、停止位这三部分,同理在 I2C中也有起始信号、数据传输和停止信号。从图上可以看出来,I2C 和 UART 时序流程有相似性,也有一定的区别。UART 每个字节中,都有一个起始位、8 个数据位、1 位停止位。而 I2C分为起始信号、数据传输部分、停止信号。其中数据传输部分,可以一次通信过程传输很多个字节,字节数是不受限制的,而每个字节的数据最后也跟了一位,这一位叫做应答位,通常用 ACK 表示,有点类似于 UART的停止位。
下面大家就一起把 I2C通信时序进行剖析。


答案:
游客,如果您要查看本帖隐藏内容请回复
[/hide]

参与讨论,即可快速获取以下几本电源书籍(电子版)

想成为论坛版主?想在#每日一练#展现你的技术才华?请联系工程师小助手Q:2740521371


回复

使用道具 举报

  • TA的每日心情
    开心
    2020-6-8 11:41
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2020-2-26 21:55:51 | 显示全部楼层
    顶顶顶,想看下后面的时序分析
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2020-3-4 09:02:42 来自手机 | 显示全部楼层
    顶,每日一练
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2020-3-11 09:53:35 | 显示全部楼层
    学习学习啦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-7-27 17:24
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2020-3-16 17:00:05 | 显示全部楼层

    顶顶顶,看答案
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2020-3-19 17:09:55 来自手机 | 显示全部楼层
    学习学习学习
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 16:53 , Processed in 0.206951 second(s), 34 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.