为什么IIC需要使用漏极开路输出和上拉电阻?

最近,我正在使用IIC通信协议来调整ICM20602模块(六轴陀螺仪和加速度计),并且遇到了困扰我很长时间的问题。 IIC协议是正确的,但读取始终失败。
最后,发现GPIO未配置为漏极开路输出。推挽输出和漏极开路输出推挽输出:输出逻辑0,然后激活N-MOS;输出逻辑1,然后激活P-MOS。
开漏输出:当未连接上拉电阻时,输出逻辑0,然后激活N-MOS;输出逻辑1,P-MOS不会激活,也不会输出高电平。连接上拉电阻后,输出逻辑为0,N-MOS被激活;反之,则为0。
输出逻辑1,P-MOS被激活,并且可以输出高电平。也就是说,如果漏极开路输出未连接至上拉电阻,则无法输出高电平。
如果需要漏极开路输出以具有输出高电平的能力,则需要连接一个上拉电阻。目前,许多单芯片GPIO可以通过软件配置上拉电阻。
左图是开漏输出(连接到上拉电阻),右图是推挽输出开漏输出的功能可以防止短路:在某些情况下(例如总线),多个GPIO端口可能连接到同一条线上,并且存在一个GPIO输出高电平而另一个GPIO输出低电平的情况。如果使用推挽输出,您会发现此GPIO的VCC和另一个GPIO的GND连接在一起,这是短路的(冷却器)。
如果切换到漏极开路输出怎么办? VCC和GND有一个额外的电阻,因此电路是安全的。因此,总线通常使用漏极开路输出。
连线和:漏极开路输出还可以实现连线和(自百度),减少“与”门,简化电路。为什么IIC使用开漏输出并在其上?上拉电阻IIC协议在同一总线上支持多个主设备和多个从设备。
如果使用推挽输出而不是漏极开路输出,则主设备之间将发生短路。至于为什么需要上拉电阻,这是因为IIC通信需要具有输出高电平的能力。
为了在多个主机占用总线时实现仲裁。 IIC只有两条线(SCL和SDA),如何确定哪个主设备占用总线(当然,先到先得)。
假设主设备A需要启动IIC。当SCL为高电平时,它需要将SDA从高电平转换为低电平作为起始信号。
主机A将SDA拉高后,需要再次检查SDA电平。为什么?因为行和。
如果主设备A将SDA拉高,则其他主设备将SDA拉低。自1& amp; 0 = 0,当检查SDA级别时,主设备A将发现SDA级别不高。
这是低水平。这意味着其他主设备要比总线设备抢占先机,而主设备A只能放弃占用总线。
如果级别较高,则可以将其占用。这是IIC通信中漏极开路输出的另一功能。
SDA为高电平,表明主设备A可以占用总线,然后主设备A将SDA拉低以开始通信。 SDA为低,表明有人已经先登录,并且主设备A无法占用总线并结束通信。
因此,要模拟IIC,必须将GPIO端口设置为漏极开路输出,并添加一个上拉电阻。 (硬件IIC将自动配置为漏极开路输出)。
来源:CSDN,链接:梅学尚免责声明:本文内容经21ic授权后发表,版权归原作者所有。该平台仅提供信息存储服务。
本文仅代表作者的个人观点,并不代表该平台的立场。如有任何疑问,请与我们联系,谢谢!

公司: 深圳市捷比信实业有限公司

电话: 0755-29796190

邮箱: momo@jepsun.com

产品经理: 李经理

QQ: 2215069954

地址: 深圳市宝安区翻身路富源大厦1栋7楼

微信二维码

更多资讯

获取最新公司新闻和行业资料。

  • double sum = 0.0; for(int i = 0; i < n; i++) { if(resistors[i] > 0) { sum += 1.0 / resistors[i]; 在C语言中计算并联电阻的总电阻是一个常见的应用问题,它涉及到基本的物理知识与编程技巧的结合。并联电路中的总电阻可以通过所有并联电阻倒数的和的倒数来计算。首先,我们需要定义一个函数来处理这一计算过程。例如...
  • 放大器为什么输入电阻大输出电阻小 放大电路一般是放大电信号用的,输入电阻大也就是输入信号带的负载小,可防止输入信号产生奇变;而输出相当于一个信号源,其输出电阻小则在接较大负载输出电流大时也可保持电压不降即输出信号不产生奇变。当输入电阻...
  • 在什么情况下需要使用半导体放电管? 半导体放电管适用于需要快速响应、高可靠性和高浪涌吸收能力的场景,例如在网络通讯、电源保护、信号保护等方面。它可以用于防止电压过高、电流过大等情况,保护电路和设备免受损坏。...
  • 和使用下拉电阻的栅极电路 在这个项目中,下拉电阻连接到逻辑芯片电路。这些电路是测试下拉电阻的最佳电路。逻辑芯片电路根据低或高信号工作。本项目以与门作为逻辑芯片为例。与门的主要作用是,当与门的两个输入端都为高电平时,输出信号为高...
  • 什么是上拉电阻 上拉电阻上拉电阻是简单的固定值电阻,连接在电源和特定引脚之间。这些电阻器用于数字逻辑电路以确保引脚上的逻辑电平,从而导致输入/输出电压为不存在驱动信号的状态。数字逻辑电路由三种状态组成,如高、低和浮动或...
  • 数码管需要上拉电阻吗 数码管不需要上拉电阻,而是限流电阻,一般为1k左右。...
  • 选择贴片电感和贴片磁珠时需要考虑什么 在电路设计中,贴片电感和贴片磁珠都是常用的被动元器件。它们在电子设备中起到滤波、隔离、匹配等作用。下面将从特性、应用范围、成本等方面介绍如何在贴片电感和贴片磁珠中进行选择。  特性  (1)贴片电感:具有...
  • 上拉和下拉电阻的应用 上拉和下拉电阻的应用上拉和下拉电阻经常用于连接设备,例如将开关连接到微控制器。大多数微控制器都有内置的可编程上拉/下拉电阻器。因此可以直接将开关与微控制器连接起来。一般来说,上拉电阻比下拉电阻更常用,尽...
  • 铝壳电阻器的主要特点是什么?和普通电阻器有什么区别? 铝壳电阻器的主要物理特征是将电能转化为热能,可以说是电流通过时产生内部能量的耗能部件。外壳由铝合金制成(金色铝壳),表面有散热槽,体积小、功率大、耐高温,过载能力强,耐候性强,精度高,标准低感应电阻,...
  • 为什么开路电阻无穷大 1、与零对应,表示大到无数值可标之意;2、一般指的电阻的内部开路,可以说就是无穷大了;3、用指针表10K档测小容量电容,表针从小的阻值一直到∞(无穷大),表明该电容不漏电或者漏电很小,可以忽略不计。电阻是描述...
  • 为什么行车要用到电阻器 电阻多了的话可以减小短路的可能,在汽车电路板上,其他的器件都是单纯的容性或感性,里面导线电阻非常小,电阻一般的都腰加入来调整电路的。一般是在电路中起到限流和分流作用,也有的是起到降压和分压(就是把24V的...
  • 为什么半导体放电管在电路中被广泛使用? 半导体放电管在电路中被广泛使用是因为它们有许多优点,包括:快速响应时间: 半导体放电管可以在纳秒级别或更短的时间内响应浪涌电流,从而可以保护敏感电子设备免受损坏。高浪涌电流承载能力: 半导体放电管可以承受高...
  • 使用上拉电阻的与非门电路 使用上拉电阻的与非门电路在这个项目中,上拉电阻连接到逻辑芯片电路。这些电路是测试上拉电阻的最佳电路。逻辑芯片电路基于低信号或高信号工作。在这个项目中,与非门被作为一个逻辑芯片的例子。与非门的主要功能是...
  • 测绝缘电阻为什么要屏蔽端子 测绝缘电阻为什么要屏蔽端子?为了消除电力电缆绝缘测量过程中影响测量结果准确性的表面泄漏和外部电磁干扰或外部电磁场干扰,绝缘电阻测试仪在实际测量过程中使用仪器的屏蔽端来消除泄漏电流和屏蔽干扰。对于两个或...
  • 保险丝为什么要用高电阻率,低熔点的材料制成 保险丝为什么要用高电阻率,低熔点的材料制成?简单而言是因为高电阻,产热多;熔点低,易熔化。保险丝不能由低电阻材料制成,也不能用铁丝和铝合金代替。当导线短路或电流过大时,铝合金和铁丝产生的高温无法熔合(...
  • 高频电解电容需要注意什么 &nbsp; 高频电解电容器是一种重要的电容器,具有频率响应好、ESR低、体积和重量小、温度漂移小、使用寿命长等优点。它们在高频电路中起着重要作用。随着电子技术的不断发展和进步,高频电解电容器的应用前景将更加广阔...
  • 上拉电阻和下拉电阻的区别 任何嵌入式系统中的微控制器都&nbsp;利用 I/O 信号与外部设备进行通信。最简单的 I/O 形式通常被称为 GPIO(通用输入/输出)。当GPIO电压电平低时,则处于高阻态或高阻态,然后通过上拉和下拉电阻来保证GPIO始终处于有效状态...
  • 采样电阻TA-I合金电阻RLM25FEER001 2512 2W 1mΩ 加工定制否品牌TA-I/大毅型号RLM25FEER001种类合金电阻性能高功率材料合金制作工艺合金贴片工艺外形平面片状允许偏差±1%温度系数100PPM/℃额定功率2(W)功率特性大功率频率特性高频产品性质取样电流电阻 采样检测电阻货号W5025...
  • 二极管的正向电阻和反向电阻有什么关系 &nbsp; 二极管是一种常见的电子元件,具有两个特性:正向电阻和反向电阻。正向电阻是指二极管正向工作时的电阻值,而反向电阻是指反向工作时二极管的电阻值。二极管的正向电阻和反向电阻之间存在一定的关系。&nbsp;...
  • 为什么在零状态条件下,电容在t=0+时可视为短路? 在电路分析中,特别是在讨论暂态响应时,我们会遇到零状态条件下的电容。所谓零状态,是指初始时刻电容两端的电压为零。当考虑电路在施加输入信号的瞬间(即t=0+时),电容由于其存储电荷的能力,在这一时刻可以被视为...