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

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

3天内不再提示

I2C子系统定义术语介绍

麦辣鸡腿堡 ? 来源:嵌入式Linux系统开发 ? 作者:嵌入式Linux系统开 ? 2023-07-25 09:36 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

定义术语

图片

1、数据有效性

在 SCL 高电平期间,SDA 必须稳定,所以一般情况下,SCL 高电平宽度小,SDA 高电平宽度大,用示波器看也是这样的。

图片

2、起始条件和停止条件

起始条件:SCL 高电平时,SDA 由高变低。

停止条件:SCL 高电平时,SDA 由低变高。

图片

一般每传输一个字节(8 bit),就会重新开始。SDA 在 SCL 是低电平期间变换数据,不可以在 SCL 高电平期间变换数据,否则会认为是起始和停止条件。

传输长度必须是一个字节(8 bit)

每次传输的字节不受限制

数据必须以 MSB 开头进行传输,也就是先传输最高位

从机可以将时钟线 SCL 保持在低位,迫使主机进入等待状态。

图片图片

3、ACK or NACK

每次传输完一个字节以后,从设备要进行一个回应,回应 ACK 或者 NACK。

ACK :在传输 8 bit 以后,在第九个 bit ,SCL 高电平,如果 SDA 是低电平,说明回应了 ACK。

NACK:在传输 8 bit 以后,在第九个 bit ,SCL 高电平,如果 SDA 是高电平,说明回应了 NACK。

图片

4、write data

图片

5、read data

图片

6、复合格式

图片

7、I2C Transfer Regulation

以 START 条件开始

以 STOP 条件结束

传输的第一个字节为 7bit 从机地址 + 1bit 读写位

每个总线上的设备都会比较 STRAT 信号后面的 7bit 地址与自己的地址是否匹配

每个 byte(8 bits) 后面都会有 ACK 或者 NACK

在 START 信号或者 repeated START 信号后,从机必须重置自己的总线逻辑

一个 START 后面紧跟着一个 STOP 信号,是非法格式

主机 master 可以不产生 STOP 信号,而是直接产生一个 repeated START信号+另外一个设备地址,直接开始访问另外一个设备

8、10-bit addressing

图片图片

解析如下:

图片

A9-A0 表示 10bits 地址

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

    关注

    28

    文章

    1541

    浏览量

    128177
  • SCL
    SCL
    +关注

    关注

    1

    文章

    243

    浏览量

    17579
  • 系统
    +关注

    关注

    1

    文章

    1032

    浏览量

    21854
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux内核中I2C系统的设计思路

    [ 导读] 本文通过阅读内核代码,来梳理一下I2C子系统的整体视图。在开发I2C设备驱动程序时,往往缺乏对于系统整体的认识,没有一个清晰的思路。所以从高层级来分析一下
    发表于 09-06 09:40 ?865次阅读
    Linux内核中<b class='flag-5'>I2C</b><b class='flag-5'>系统</b>的设计思路

    linux I2C子系统的相关资料分享

    文章目录linux I2C子系统框架在设备树中添加从设备信息,mpu5060I2C driver 程序的编写mpu6050 I2C程序具体实现linux
    发表于 02-10 06:06

    i2c总线介绍

    I2C介绍   I2C总线是两线式串行总线。    I2C总线最主要的优点是其简单性和有效性,支持多主控(multimastering)。&nb
    发表于 08-13 17:29 ?0次下载

    i2c总线ppt(I2C总线器件应用)

    I2C总线器件应用第一节 I2C总线器件应用概述I2C总线工作原理I2C总线系统结构I2C总线
    发表于 08-13 17:34 ?0次下载

    I2C总线的结构介绍

    内容摘要:介绍I2C总线的结构、工作原理、数据传输方式,讨论了基于I2C总线的多机通信软硬件设计,实现了程控交换多机通信调度指挥系统
    发表于 02-29 15:44 ?6次下载

    Linux内核中I2C子系统的整体视图

    本文通过阅读内核代码,来梳理一下I2C子系统的整体视图。在开发I2C设备驱动程序时,往往缺乏对于系统整体的认识,没有一个清晰的思路。所以从高层级来分析一下
    的头像 发表于 12-31 10:40 ?2453次阅读
    Linux内核中<b class='flag-5'>I2C</b><b class='flag-5'>子系统</b>的整体视图

    linux I2C子系统(及相关程序设计MPU6050)

    文章目录linux I2C子系统框架在设备树中添加从设备信息,mpu5060I2C driver 程序的编写mpu6050 I2C程序具体实现linux
    发表于 12-06 13:36 ?9次下载
    linux <b class='flag-5'>I2C</b><b class='flag-5'>子系统</b>(及相关程序设计MPU6050)

    嵌入式内核及驱动开发-09IIC子系统框架使用(I2C协议和时序,I2C驱动框架,I2C从设备驱动开发,MPU6050硬件连接

    文章目录I2c协议和时序I2c介绍I2c硬件连接I2c总线的信号I2c总线写时序
    发表于 12-06 14:06 ?17次下载
    嵌入式内核及驱动开发-09IIC<b class='flag-5'>子系统</b>框架使用(<b class='flag-5'>I2C</b>协议和时序,<b class='flag-5'>I2C</b>驱动框架,<b class='flag-5'>I2C</b>从设备驱动开发,MPU6050硬件连接

    硬件I2C与模拟I2C

    硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的,因而效率要远高于软件模拟的I2C;一般也较为稳定,但
    发表于 12-28 19:14 ?81次下载
    硬件<b class='flag-5'>I2C</b>与模拟<b class='flag-5'>I2C</b>

    I2C子系统ACK error

    在应该收到 ACK 信号的时候没有收到 ACK 信号,i2c controller 就会产生一个 ACK error 的中断,告诉 i2cdriver 发生了 ACK error。通常
    的头像 发表于 07-22 14:39 ?2841次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>子系统</b>ACK error

    I2C子系统debug的常见问题

    常见问题 1、同一条 i2c bus 上所有的外设的 i2c addr 要不同 1)相同 address 注册时冲突 [ 2.059184 ][xxx]i2c i2c- 1 :Fail
    的头像 发表于 07-22 14:52 ?1619次阅读

    I2C子系统SW Architecture

    I2C SW Architecture 【driver 驱动层】由普通驱动工程师负责,【i2c 核心层】由 Linux 提供,【i2c 核心层】以下由芯片原厂负责。 I2C
    的头像 发表于 07-22 16:01 ?1252次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>子系统</b>SW Architecture

    I2C子系统几个主要的结构体

    I2C Data Structure 我们要搞懂一个 Linux 子系统,必须研究它的数据结构,搞懂每个结构体存储了什么东西,才能梳理清楚该子系统的架构。 I2C
    的头像 发表于 07-22 16:04 ?1202次阅读
    <b class='flag-5'>I2C</b><b class='flag-5'>子系统</b>几个主要的结构体

    I2C转UART子系统设计

    电子发烧友网站提供《I2C转UART子系统设计.pdf》资料免费下载
    发表于 08-28 10:27 ?2次下载
    <b class='flag-5'>I2C</b>转UART<b class='flag-5'>子系统</b>设计

    I2C总线的工作模式介绍

    在现代电子系统中,I2C总线作为一种多主机、多从机的串行通信协议,扮演着至关重要的角色。它允许多个设备共享同一总线,进行数据传输,从而简化了系统设计并降低了成本。 I2C总线的基本特性
    的头像 发表于 01-17 15:32 ?1087次阅读