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

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

3天内不再提示

I2C通信理解与三种IIC数据帧传递过程

FPGA之家 来源:CSDN博客最后一个bug 作者:CSDN博客最后一个 2022-03-15 10:29 次阅读

正文

大家好,我是bug菌!

1I2C通信理解

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

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

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

2IIC数据帧

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

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

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

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

b250ba0a-9645-11ec-952b-dac502259ad0.png

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

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

b2652e36-9645-11ec-952b-dac502259ad0.png

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

3、通讯过程读写切换

b2757a48-9645-11ec-952b-dac502259ad0.png

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

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

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

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

审核编辑:汤梓红

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

    关注

    8

    文章

    6511

    浏览量

    87590
  • 通信
    +关注

    关注

    18

    文章

    5703

    浏览量

    134374
  • IIC总线
    +关注

    关注

    1

    文章

    65

    浏览量

    20152

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

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

收藏 人收藏

    评论

    相关推荐

    I2C和SPI通信方式的讲解。

    的单片机引脚)I2C 总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送
    发表于 01-07 20:37

    I2C 总线协议图解

    : 4I2C总线操作 对I2C总线的操作实际就是主从设备之间的读写操作。大致可分为以下三种操作情况: 主设备往从设备中写数据数据传输格式如
    发表于 08-01 16:12

    学习经验分享:我是如何在ARM裸机学习I2C通信

    ,白色bit位为主设备发送,灰色bit位为从设备发送。.S5PV210的I2C控制器IIC控制器的作用:通过硬件的控制器来产生通信的时序,软件只需要控制对应
    发表于 04-15 07:00

    什么是IIC通信I2C

    IIC通信I2CIIC,Inter-Integrated Circuit),两线式串行总线,由PHILIPS公司开发用于连接微控制器及外围设备。它是由
    发表于 08-03 07:46

    STM32F767+STM32CubeMX I2C通信读写EEPROM数据(采用轮询、DMA、中断三种方式)精选资料推荐

    STM32F767+STM32CubeMX I2C通信读写EEPROM数据(采用轮询、DMA、中断三种方式)摘要-前言作为一名STM32的初学者,在学习
    发表于 08-23 09:08

    怎样更好地去理解I2C通讯呢

    I2C是一双向2线制同步串行通讯接口,是一类非常经典的串行总线通讯,理解I2C通讯会帮助理解
    发表于 12-14 07:03

    I2C的定义及其类型简介

    构成的串行总线,可发送和接收数据。 在 CPU 与被控 IC 之间、IC 与 IC 之间进行双向传送,高速 IIC 总线一般可达 400kbps 以上;2I2C 总线在传送
    发表于 01-05 07:30

    I2C的相关资料推荐

    文章目录背景I2C特点IIC的物理层IIC的协议层a.数据的有效性b.起始和结束条件d.数据
    发表于 01-11 08:11

    I2C通信协议简介

    的设备都有一个独立的地址,主机利用地址进行不同设备的访问多个主机同时使用总线时,为防止数据冲突会通过仲裁的方式决定哪个设备占用总线具有三种传输模式:标准模式(100k/s)、快速模式(400k/s)、高速模式(3.4M/s)总线通过上拉电阻接到电源,当
    发表于 01-13 07:20

    I2C通信协议的原理是什么

    I2C通信协议I2C通信原理I2C通信原理:I2C
    发表于 02-17 07:16

    I2C的发送过程分享

    序本文将以51单片机的I2C通信协议为例,将涉及到I2C的基本过程以及其中我认为比较重要的点。I2C的基本
    发表于 02-23 06:11

    新手关于I2C理解

    新手关于I2C理解1- 关于I2CI2C是一个通信协议就如同UART一样都是实现数据传递,
    发表于 02-24 06:57

    I2C通信详解

    关于蓝桥杯嵌入式板子的I2C,如果你以前没有接触过I2C通信。重点:懂得通过电路图判断出I2C设备的地址会看I2C读写时序图。底层驱动,考试
    发表于 02-28 11:24

    I2C总线的通信时序详解

    。一根是数据线 SDA,另一根是时钟线 SCL。0x02:iic通信时序在一个标准I2C时序中,下面所介绍的通信时序中,一般以SCL为低电平
    发表于 07-04 11:23

    spi通信i2c通信数据有什么不同呢?

    在串口通信中,spi通信i2c通信数据有什么不同呢?
    发表于 04-23 10:26