0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何更好地去掌握I2C通信?

FPGA之家 来源:最后一个bug 作者:bug菌 2021-06-26 10:13 次阅读

1

I2C通信理解

很多朋友在进行IIC通信协议开发的时候比较迷茫,可能长时间没有用了,就有所忘却,也算正常,不过如果重新围着通信时序图看来看去,那还是比较麻烦的,比如IIC的起始电平条件、停止电平条件、以及数据保持即更新条件等等:

pYYBAGDWjiqAS32cAACEH8DUvpI273.jpg

虽然每个器件对IIC通信的波形要求不是太相同,但IIC的通信时序容忍度非常高,基本上相关参数和驱动都是通用的。 IIC数据的传输过程,在SCL通信同步时钟节拍的控制下,主机发送数据主动使得总线电平发生变化,供从机检测接收,而当从机接收到数据以后接着主动的拉低SDA来作为应答信号通知主机,如果没有拉低则表示非应答。

之前很多朋友都不太理解IIC的主机是怎么检测到从机应答的,似乎从SDA线上的波形看都好像是主机发送出来的,所以在进行通信波形解析的时候注意一下。

2

IIC数据帧

对于通信的应用,重要的并不是所谓的电平变化,而更多的是要了解如何传递数据帧,掌握好数据帧的传递过程和方式。

而不同厂商的数据帧稍微有所差异,比如7位地址、8位地址和10位地址,但总体上大同小异,大家可以参考对应的芯片手册进行学习,这里以最常用的7地址位跟大家介绍:

IIC是一种主从通信方式,通信发起者为主机,主要熟悉三种数据帧传递过程:

1、单次或连续向从机写数据

poYBAGDWjjGAb8TFAACepW_ZgAI156.jpg

至于通信数据域内的数据含义,由通信双方共同约定即可,也就是协议的制定。

2、单次或连续向从机读数据

pYYBAGDWjjiAfe1cAACfPqtDGa8051.jpg

读数据的过程主机发送的读写标志位发生变化,在数据部分从机主动控制总线发送数据给主机,然后主机来进行应答,刚好与IIC写数据相反。

3、通讯过程读写切换

poYBAGDWjj6ASQCPAADART5ualo608.jpg

在通信过程中需要进行读写切换时不需要发送停止,而是应答以后重新发一次起始和从机地址及读写状态,接着进行下面的数据处理即可。

最后再啰嗦一下 : 对于IIC总线不要忘记通信IO上拉,同时注意电平上的匹配,不然可能会损坏芯片~

责任编辑:lq6

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • I2C通信
    +关注

    关注

    0

    文章

    22

    浏览量

    8756

原文标题:玩转I2C通信把握好这两点~

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用两片ADU360进行I2C通信,当与从机进行通信时,从机无法进入I2C中断是为什么?

    问题说明:使用两片ADU360进行I2C通信,主机使用IO口模拟方式,从机使用内部外设 主机IO口模拟方式,确认是可行,当与从机进行通信时,从机无法进入I2C中断 以下为
    发表于 01-15 06:47

    全面掌握面试必考题I2C协议 - 第13节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:08:34

    全面掌握面试必考题I2C协议 - 第12节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:07:43

    全面掌握面试必考题I2C协议 - 第11节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:06:53

    全面掌握面试必考题I2C协议 - 第10节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:06:03

    全面掌握面试必考题I2C协议 - 第9节 #硬声创作季

    I2C协议
    充八万
    发布于 :2023年09月01日 19:05:13

    全面掌握面试必考题I2C协议 - 第8节 #硬声创作季

    I2C协议
    充八万
    发布于 :2023年09月01日 19:04:22

    全面掌握面试必考题I2C协议 - 第7节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:03:32

    全面掌握面试必考题I2C协议 - 第6节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:02:42

    全面掌握面试必考题I2C协议 - 第5节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:01:51

    全面掌握面试必考题I2C协议 - 第4节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:01:01

    全面掌握面试必考题I2C协议 - 第3节 #硬声创作季

    I2C协议
    充八万
    发布于 :2023年09月01日 19:00:11

    全面掌握面试必考题I2C协议 - 第2节 #硬声创作季

    I2C协议
    充八万
    发布于 :2023年09月01日 18:59:21

    全面掌握面试必考题I2C协议 - 第1节

    I2C协议
    充八万
    发布于 :2023年09月01日 18:58:30

    I2C通信影响串口中断怎么解决?

    使用新唐ML51PCOAE的硬件i2c通信时(发送起始位用语句set_I2C0CON_STA; ),影响串口中断,请高手指导一下。
    发表于 06-19 06:30