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

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

3天内不再提示

i2c采样是上升沿吗?

工程师邓生 来源:未知 作者:刘芹 2023-09-19 17:16 次阅读

i2c采样是上升沿吗?

I2C采样是指在I2C总线上对数据进行采样。在I2C总线上,数据的传输是通过2条线传递。一条是时钟线(SCL),另一条是数据线(SDA)。采样的目的是为了准确地读取或写入数据。在本文中,我们将详细讨论I2C采样的工作原理,采样时机以及如何进行I2C采样。

I2C采样的原理

I2C采样是基于I2C通讯协议的,该协议是由Philips公司于1982年开发的。它是一种用于在微控制器和周边设备之间进行通信的串行通信协议。I2C采样可用于读取和写入I2C总线上的数据。I2C总线中的数据传输是通过时钟信号(SCL)和数据信号(SDA)实现的。在I2C通讯中,SCL信号是作为主设备(例如微控制器)控制总线时使用的,而SDA信号则用于数据传输。

I2C采样时机

I2C采样需要知道以下几个时机:
- 起始信号:起始信号同步了设备上的SDA和SCL,并将SDA从高电平拉到低电平,以启动数据传输。
- 地址传输:主设备发送一些位来传输从设备的地址。如果从设备的地址被识别,则进行读取或写入操作。
- 数据传输:数据传输是通过在时钟信号下跟随数据线进行的。
- 结束传输:当主设备停止发送数据时,传输结束并释放总线。

I2C采样的过程

I2C采样可以分为3个步骤:同步,采样和存储。

1. 同步

I2C采样从I2C总线的同步开始,这意味着有一个起始信号。起始信号由主设备发送,作为启动I2C总线通信的信号。起始信号发送时采样器应该识别当前I2C总线上的状态,以便相应地采样和存储。

2. 采样

一旦同步信号被识别和处理,I2C采样通常会按照以下顺序进行:

a) 采样起始位

起始位是I2C通讯协议中一个重要的位。它是起始信号的一部分,用于识别总线上的状态。在I2C总线中,起始位表示SDA线路从高电平拉到低电平。在采样起始位时,I2C采样器通常会搜索总线以确定SDA和SCL的状态,并确定起始位的位置。

b) 采样地址位

地址位是I2C通讯协议中的另一个重要位。I2C采样器可以采样地址位以确定传输是读取还是写入。在数据传输之前,主设备会将设备地址传输到总线上。从设备将根据地址来响应,并发送数据回主设备。在采样地址位时,I2C采样器通常会搜索总线以确定SDA和SCL的状态,并确定数据是读取还是写入。

c) 采样数据位

一旦识别了传输类型(读取/写入),就需要从总线上读取或写入数据。在数据传输期间,主设备将一些数据写入从设备,或者从设备将一些数据传输回主设备。

在采样数据位时,I2C采样器通常会搜索总线以确定SDA和SCL的状态,并确定数据的值。对于每个设备,数据传输的位数都不同。

d) 采样停止位

当主设备停止发送数据时,传输结束并释放总线。停止位是I2C通讯协议中一个重要的位,它是总线传输过程中的最后两个位。I2C采样器将使用停止位来识别总线是否空闲并准备接受下一个传输。

3. 存储

一旦I2C采样器完成了所有必要的采样操作,数据将被存储在内存中,以便进行后续处理。

总结

I2C采样是一种用于读取或写入I2C总线上的数据的方式。I2C采样器通过同步I2C总线、采样起始位、地址位、数据位和停止位等步骤来采集数据。I2C采样的过程需要在适当的时机进行,以确保获得准确的数据。对于I2C采样器的工作原理和采样时机的深入了解,可以帮助用户更好地使用I2C采样器进行数据采集。

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

    关注

    48

    文章

    6812

    浏览量

    147648
  • I2C总线
    +关注

    关注

    8

    文章

    357

    浏览量

    60409
  • SCL
    SCL
    +关注

    关注

    1

    文章

    239

    浏览量

    16884
收藏 人收藏

    评论

    相关推荐

    STM32H750如何采集2MHZ的波形是上升沿,并且在采集到上升沿的时候进行AD采样

    STM32H750,如何采集2MHZ的波形是上升沿,并且在采集到上升沿的时候进行AD采样 ET
    发表于 03-20 07:55

    请问LTC2944 I2C信号是不是随着电压的上升或者下降变化的?

    请问LTC2944 I2C信号是不是随着电压的上升或者下降变化的? 假如我用四颗LED灯去显示电量的话,I2C应该外接什么电路?
    发表于 01-05 06:26

    最简单的总线通讯!I2C通讯总线的原理原来这么好懂

    通讯I2C
    安泰仪器维修
    发布于 :2024年01月02日 11:16:31

    AD7764启动采样的时钟是MCLK还是SCO,如果是SCO,是上升沿启动还是下降沿启动?

    最近在使用AD7764,有几个不懂的地方想请教一下: 1.AD7764启动采样的时钟是MCLK还是SCO,如果是SCO,是上升沿启动还是下降沿启动?
    发表于 12-15 07:05

    全面掌握面试必考题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协议 - 第6节

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

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第7节 #硬声创作季

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:07:44

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第3节 #硬声创作季

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:04:23

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第2

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:03:33

    如何从ISR的上升沿读取GPIO?

    : 代码:全选I (32183) i2c-tools: GPIO[5] intr, val: 0 I (32183) i2c-tools: GPIO[5] intr, val: 0
    发表于 05-30 10:37

    请问verilog可以对同一个时钟进行上升沿和下降沿采样吗?

    请问verilog可以对同一个时钟进行上升沿和下降沿采样吗?
    发表于 05-10 11:11

    在时序电路里如何利用一个信号的上升沿和下降沿采样数据呢?

    外部输入一个周期信号和一个数据,我要利用这个周期信号的上升沿和下降沿采样数据。除了利用高频时钟去检测周期信号的上升
    发表于 05-10 10:36

    在时序电路里如何利用一个信号的上升沿和下降沿采样数据呢?

    外部输入一个周期信号和一个数据,我要利用这个周期信号的上升沿和下降沿采样数据。除了利用高频时钟去检测周期信号的上升
    发表于 05-10 10:35