【协议】IIC总线协议学习

一、IIC基本介绍

设计I2C的初衷是减少电视机等复杂电子系统内部的布线数量,同时也降低制造成本。通过使用只有两根线的通信总线,它有效地减少了器件间连接的复杂性。
IIC总线

IIC总线是两线制总线,仅有串行数据线SDA和串行时钟线SCL进行通信。减少了接口数量。
有可变的时钟速率:标准模式(100kbps)、快速模式(400kbps)和高速模式(3.4Mbps)。

二、工作原理

1、开始和停止

开始和停止标志
I2C总线上的数据必须在时钟高电平时保持稳定,数据线只有在SCL线为低电平时才能改变。而当SCL为高电平时,SDA发生变化则表示的开始或停止。SDA线从高电平向低电平切换表示起始条件,SDA线由低电平向高电平切换表示停止条件。

2、数据格式

SDA线上的每个字节必须是8bit,每个字节后必须跟一个相应位。
(1)先传输IIC设备地址,传输的8bit连续数据中,只有7bit是地址,最后一位表示写(0)或读(1),最先传输的是数据的高位。
(2)再传输内部寄存器地址,传输的8bit连续数据中,全部表示内部寄存器地址,结束后返回ack信号。
(3)最后传输内部寄存器需要写入或读出的数据,8bit一个字节数据,最后返回ack响应信号后,stop结束传输。
数据格式

在这里插入图片描述

3、数据等待

如果传输了8bit后,从机处于busy状态不能接收或传输另外一个完整的字节数据,它可以保持时钟线SCL拉低,使得主机进入等待状态,当从机准备好接收另一个字节数据时再释放时钟总线SCL,继续传输数据。
如下图即:SCL第9拍时,SDA为低电平,表示不能应答。此时下一拍SCL保持拉低,进入等待状态,等待状态时SDA数据线必须拉高。当准备好接收后,会释放时钟总线SCL,开始下一个字节数据的传输。
在这里插入图片描述

4、重复启动

在这里插入图片描述

5、运用:

主机写的步骤:
发{dev_addr,0} —> 发reg_addr —>发write_data---->主机发ack,结束。

主机读:
发{dev_addr,0} —> 发reg_addr ---->restart —> 发{dev_addr,1} —>接收read_data ---->主机发ack,结束通信。

感谢帮助~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/882661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python实例】Python读取并绘制tif数据

【Python实例】Python读取并绘制tiff数据 Python实例-以全球不透水面积数据为例数据准备:全球不透水面积数据基于gdal库绘制tif图基于Rasterio库绘制tif图 参考 GeoTIff 是一个标准的.tif 文件或是一个图像文件格式,它包含了一些额外的空间信息&#xff…

prompt learning

prompt learning 对于CLIP(如上图所示)而言,对其prompt构造的更改就是在zero shot应用到下游任务的时候对其输入的label text进行一定的更改,比如将“A photo of a{obj}”改为“[V1][V2]…[Vn][Class]”这样可学习的V1-Vn的token…

业务开发常见问题-并发工具类

hello,大家好,本讲我们一起聊一下常见的几个并发工具类的使用和坑! 在日常工作中,我们经常会遇到多线程并发问题,比如ThreadLocal、锁、ConcurrentHashMap、CopyOnWriteArrayList等。那么如何正常的使用呢?…

【最新通知】2024年Cisco思科认证CCNA详解

CCNA现在涵盖安全性、自动化和可编程性。该计划拥有一项涵盖IT职业基础知识的认证,包括一门考试和一门培训课程,助您做好准备。 CCNA培训课程和考试最近面向最新技术和工作岗位进行了重新调整,为您提供了向任何方向发展事业所需的基础。CCNA认…

blender分离含有多个动作的模型,并导出含有材质的fbx模型

问题背景 笔者是模型小白,需要将网络上下载的fbx模型中的动作,分离成单独的动作模型,经过3天摸爬滚打,先后使用了blender,3d max,unity,最终用blender完成,期间参考了众多网络上大佬…

【Ansiable】ansible的模块和主机清单

目录 一、介绍一些运维自动化工具 二、Ansible 概述/简介 三、Ansible 工作机制 3.1 内部工作机制 3.2 外部工作机制 四、Ansible 执行流程 五、Ansblie 安装以及日常操作模块***** 5.1 ansible 环境安装部署 5.2 ansible 命令行模块 5.2.1 command 模块 5.2.2 shel…

明源云ERP报表服务GetErpConfig.aspx接口存在敏感信息泄露

一、漏洞简介 在访问 /service/Mysoft.Report.Web.Service.Base/GetErpConfig.aspx?erpKeyerp60 路径时,返回了包含敏感信息的响应。这些信息包括但不限于数据库连接字符串、用户名、密码、加密密钥等。这些敏感信息的暴露可能导致以下风险:数据库访问…

【IPv6】IPv6 NAT66介绍

参考链接 IPv6-to-IPv6 Network Address Translation (NAT66) (ietf.org)https://datatracker.ietf.org/doc/id/draft-mrw-nat66-00.html IPv6 NAT66 NAT66,全称为Network Address Translation for IPv6 to IPv6,是一种用于IPv6网络的地址转换技术。在…

Tkinter -- python GUI学习与使用

前言 python GUI 目前pythonGUI有很多,哪一个最好? 先说说我选择的思路,我的目的是开发一个易用的软件,最重要的是稳定,并且碰到问题能够解决,因此,我的目标很明确,有比较大的用户群…

基于Python的自然语言处理系列(39):Huggingface中的解码策略

在自然语言生成任务中,如何选择下一步的单词或者词语对生成的文本质量影响巨大。Huggingface 提供了多种解码策略,可以在不同的场景下平衡流畅度、创造力以及生成效率。在这篇文章中,我们将逐步介绍 Huggingface 中的几种常见解码策略&#x…

web API基础

作用和分类 作用: 就是使用 JS 去操作 html 和浏览器 分类: DOM (文档对象模型)、 BOM (浏览器对象模型) 什么是DOM DOM (Document Object Model) 译为文档对象模型,是 HTML 和 XML 文档的编程接口。 HTML DOM 定义了访问和操作 …

mingw64的Windows安装及配置教程gcc、g++等

mingw64.rar 链接:https://pan.baidu.com/s/18YrDRyi5NHtqnTwhJG6PuA 提取码:pbli (免费永久有效,免安装,解压后配置环境变量即可使用) 1 下载 解压后随便放到一个地方: 复制“bin”路径&am…

重磅:中国首个SVG技术标准发布,计育韬老师主笔起草

编辑搜图 中华人民共和国《融媒体 SVG 交互设计技术规范》是由复旦大学奇点新媒体研究中心等单位牵头,学科带头人计育韬等人主要起草,并于 2024 年 8 月起面向全社会行业从业者发布的最高技术标准。该标准前身为 2016 年计育韬与微信团队合作拟定的《SV…

置分辨率设置多显示器的时候提示, 某些设置由系统管理员进行管理

遇到的问题 设置分辨率设置多显示器的时候提示(如下图所示): 某些设置由系统管理员进行管理 解决方法 先试试这个方法: https://answers.microsoft.com/zh-hans/windows/forum/all/%E6%9B%B4%E6%94%B9%E5%88%86%E8%BE%A8%E7%8…

强大的Python必备库,你知道几个?建议收藏!

在Python的世界里,库的丰富性让开发者的工作变得轻松而高效。那么,你知道哪些强大的Python必备库吗? 面对众多的Python库,如何选择适合自己的工具来提升开发效率和代码质量?,丰富多样的库如同一个个强大的…

AnaTraf | 提升网络性能:深入解析网络关键指标监控、TCP重传与TCP握手时间

AnaTraf 网络性能监控系统NPM | 全流量回溯分析 | 网络故障排除工具 在当今的数字化时代,网络的稳定性和性能对企业的运营效率至关重要。无论是内部通信、应用程序的运行,还是对外提供服务,网络都发挥着关键作用。对于网络工程师或IT运维人员…

EasyX图形库的安装

前言 EasyX是一个图形库,可以用来做一些c/c小游戏,帮助学习。 一、进入EasyX官网 https://easyx.cn/ 二、点击下载EasyX 三、下载好后以管理员身份运行它 四、点击下一步 五、然后它会自动检测你的编辑器,用哪个就在哪个点安装 六、安装成功…

【linux问题】Linux命令行终端窗口的输出,显示不全问题

Linux命令行终端窗口的输出,显示不全问题 问题: 图中显示的是一个Linux命令行终端窗口, nmcli dev wifi 是一个命令——列出所有能用的Wi-Fi。 执行命令后,窗口输出了显示了所有能用的Wi-Fi网络列表。 但是在每一行末尾有一个“…

KPaaS:基于微服务架构的低代码平台

基于微服务架构的低代码平台是当前企业数字化转型的重要工具。通过将微服务架构与低代码平台结合,可以实现高效、灵活且可扩展的应用开发。在当今数字化转型的浪潮中,企业面临着诸多挑战,其中IT资源有限以及对高效开发的需求尤为突出。KPaaS业…

AI一键生成钢铁是怎样炼成的ppt!用这2个工具轻松拿捏ppt制作!

钢铁是怎样炼成的,是中小学语文新课标必读书目,它是由前苏联作家尼古拉奥斯特洛夫斯基于1930年至1934年写成的半自传体长篇小说,全书详细记叙了保尔柯察金于20世纪初期的成长历程。 对于每个接受过九年义务教育的大小朋友来说,这…