浅谈iic时序

news/2024/10/23 5:39:07/

一、iic通信核心要点

8c726b4e8c1144f9b69dfa048161af2c.png

在iic通信中,进行数据传输的时候,遵循在scl时钟线高的时候保持sda电平稳定,这个电平值就是要写入的值,然后,在scl时钟线拉低的时候去改变sda上的值,达到自己想要输出的值

所以说,一般scl高电平的时候,sda都是稳定的电平

但是,起始信号、结束信号、重开信号(SR)不同,他们可以也必须是在scl高电平的时候改变,以此来彰显不同

二、读写寄存器的时序

1、写寄存器

866d1439491d4560add0c23e5aa21092.png

2、读寄存器

db91606c673e48aca5aa06eb63b65513.png

三、过程中各种信号解释

首先,不管是读还是写寄存器,开始都是需要走下面这一步流程,目的是为了确定从机地址,然后要操作从机哪个地址的寄存器

start信号,7位从机地址+写,(从机ACK),要操作的寄存器地址,(从机ACK)

(1) start信号:scl高电平的时候,SDA输出一个下降沿

(2) stop信号:scl高电平的时候,SDA输出一个上升沿

(3) restart信号

restart信号被用于主机向从机读取的时候,因为这其中存在一次传输方向的变换,所以需要进行一次方向的变换。前面我也提到了,不管是想给从机写还是想从从机读取,最开始都是一个写入方向,写入从机地址,写入要通信的寄存器地址。因此,如果是要往从机写数据,那好,方向不变,已然是写这一个方向,就用不到restart信号,但如果需要读,那么方向就变了,从原来的写变成读,就需要用到restart信号。

start 和 restart 信号的区别:restart需要占据一个时序,也就是一个上升一个下降这样一个时序周期,而start不需要,它只要是scl时钟线是高电平就行

(4) ack和nack信号

ack也占一个时序,nack也占一个时序

ack和nack的区别:ack表示不再需要后续,nack表示已经结束,在连续读取寄存器的时候需要,另外,nack只有主机主动发送这一种情况,从机发送的都是ack

(5) 其他需要注意的点:

iic两条总线也就是数据线和时钟线,都是需要上拉的,就像下面这样

45a7a49aa8f644c8980bf7e181296331.png

如果之前是低电平,直接配置成输出模式,因为有上拉电阻的存在,他就会直接输出1,但我们可能傻傻的认为,它还没输出1呢,用的时候要小心,另外,这种变化操作都在scl低电平的时候去做,切记,切记!


http://www.ppmy.cn/news/312985.html

相关文章

python面向对象操作3(速通版)

目录 一、多态和类名 1.标准多态 2.实例属性和实例方法 3.类对象和类属性 4.对象保存 二、方法 1.类方法 3.四种方法的区别 三、模块 1.导入模块 2.自动模块导入 3.模块导入的几种形式 3.1模块导入的两种方式和别名 3.2 from 模块 import 成员 4.两种方法的区别…

【博客654】prometheus配置抓取保护以防止压力过载

prometheus抓取保护配置以防止压力过载 场景 担心您的应用程序指标可能突然激增,以及指标突然激增导致prometheus压力过载 就像生活中的许多事情一样,标签要有节制。当带有用户 ID 或电子邮件地址的标签被添加到指标时,虽然它不太可能结束…

UniApp响应式布局

前言 UniApp 是一款基于 Vue.js 开发的跨平台应用开发框架,可以同时构建 iOS、Android、H5 等多个平台的应用。在 UniApp 中,单位(Unit)是一个非常重要的概念,它决定了应用在不同设备上的布局和样式,要适应…

【进程间通信:管道】

目录 1 进程间通信介绍 1.1 进程间通信目的 1.2 进程间通信发展 1.3 进程间通信分类 2 管道 2.1 什么是管道 2.2 匿名管道 2.2.1 匿名管道的使用 2.2.2 使用匿名管道创建进程池 2.3 管道读写规则 2.4 匿名管道特点 2.5 命名管道 2.5.1 概念 2.5.2 使用 1 进程间通…

【收藏】通信知识分类整理

5G专题 有史以来最强的5G入门科普! 超简单!学习5G的正确姿势! 深度解析:5G与未来天线技术(转载) 5G核心网,到底长啥样?从2G到5G,核心网,你到底经历了什么&am…

元宇宙系统全面学习线路

问题导读 1.元宇宙已经发展了多少年? 2.元宇宙是什么? 3.元宇宙有哪些概念? 4.元宇宙支持技术有哪些? 5.元宇宙和VR有什么区别? 6.元宇宙有哪些机会? 7.元宇宙如何开发,有哪些赛道? 元宇宙的发…

云计算与大数据技术应用 第二章

大数据技术概述 大数据技术的产生 大数据的基本概念 1、什么是大数据?大数据(Big data或Megadata):大数据,或称巨量数据、海量数据、大资料,指的是所涉及的数据量规模巨大到无法通过人工,在合…

我在华为做外包的真实经历!

1 写在前面 我将用系列文章,回顾十年程序生涯,一方面是对职场生涯的阶段性总结,另一方面希望这些经历,对大家往后职场生涯有所启发。 我很庆幸一路走来皆是自己的选择,虽然也走了不少弯路,但那是我选择的生…