I2C电平转换电路_双向电平转换电路工作原理

I2C电平转换电路_双向电平转换电路工作原理本文分享下I2C双向电平转换电路的设计原理,以及需要注意的事项。在I2C主从设备对接时,需要考虑主从设备的电平情况,常规的主要有3种:5V,3.3V,1.8V。如果电平相同,比如都是3.3V,那么可以直接对接。如果电平不同,一个高电平是3.3V,另外一个是1.8V,那么就需要接入其它的器件来做一下电平转换,通常是接入NMOS管。如上图,此图来源于I2C官方协议,协议标准文件里…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本文分享下I2C双向电平转换电路的设计原理,以及需要注意的事项。

在I2C主从设备对接时,需要考虑主从设备的电平情况,常规的主要有3种:5V,3.3V,1.8V。如果电平相同,比如都是3.3V,那么可以直接对接。如果电平不同,一个高电平是3.3V ,另外一个是1.8V,那么就需要接入其它的器件来做一下电平转换,通常是接入NMOS管。
 

I2C电平转换电路_双向电平转换电路工作原理

如上图,此图来源于I2C官方协议,协议标准文件里面已对此作了一些说明。扫描下方二维码,回复“I2C”,可以获取I2C协议的英文版源文件和中文版本。

下面解释下这个电平是如何双向工作的,即不论是低压那边还是高压那边主动发生电平变化,都是可以正常通信的。

工作原理:
—当总线上没有数据发送时,两边都没有主动去拉低总线,因此MOS管也不导通,都因为各自的上拉电阻存在,左边为高电平3.3V,右边为高电平5V。
—当左边需要发送数据1到右边时,即SDA1/SCL1为高电平3.3V,MOS管的Vgs=0,不导通,右边因为上拉电阻的存在,SDA2/SCL2电平保持为5V。即可看作左边正常将数据1发送到右边。
—当左边需要发送数据0到右边时,即SDA1/SCL1为低电平0V,Vgs=3.3V,MOS管导通,右边电压就跟左边电平一样了,SDA2/SCL2为低电平0V。即可看作左边正常将数据0发送到右边。
—当右边需要发送数据1到左边时,即SDA2/SCL2为高电平5V,左边SDA1/SCL1因为没有主动拉低总线,所以MOS管不导通,左边保持上拉电平3.3V。即可看作右边将数据1正常发送到左边。
—当右边需要发送数据0到左边时 ,即SDA2/SCL2为低电平0V时,因为MOS管体二极管的存在,体二极管导通,MOS管的S极被拉低,Vgs接近3.3V,MOS管导通,进一步导致左边和右边电平一样,为0V。即可看作右边正常将数据0发送到左边。

由上可知,不论I2C的主设备(Master)接在上面电路的左边(低压电源)还是右边(高压电压),都是能够正常通信的。

以上是电路的工作说明,实际应用中,有以下两点需要注意:
注意事项:
–MOS管的接入方法—MOS管的S极要接到低电源那边,不能接反
–MOS管的选型—MOS管的导通电压需要注意。MOS管导通电压门限(Vgsth里面的最大值)需要小于低电源电压
 

I2C电平转换电路_双向电平转换电路工作原理

如上图是2N7002K的MOS管,1V<Vgs<2.5V。如果5V和3.3V之间的互转,那么可以用这个管子。但如果是3.3V和1.8V之间的互转,那么是不能用的。因为导通门限电压是1-2.5V,因为可能会用到导通电压大于1.8V的器件,那么MOS管就可能永远无法导通了。这个需要特别注意,因为一旦没注意选用了,可能就是有的板子功能OK,有的板子NG。

获得硬件资料,欢迎关注微信公众号:硬件工程师炼成之路
 I2C电平转换电路_双向电平转换电路工作原理

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169442.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PMF 培训[通俗易懂]

    PMF 培训[通俗易懂]IBM有一些很有名的培训,也很有效,真的是有立竿见影的效果.过去很长时间之后,可能不记得培训的那些细节,但是培训中传达的工作方式,能给你很大的影响.进公司后3个月的时候接受了第一个,有关customerfacing的,其实是为你提供了一个商务沟通的基本模式,现在培训的内容忘记了,但是这个模式还记得:调查-承诺-执行-反馈.一个有效的商务沟通,哪怕是和客户的一个电话,都需要艺…

    2022年6月22日
    37
  • xampp环境配置下出现的问题解决 — mysqli_real_connect(): (HY000/1045): Access denied for user ‘root‘@‘localhost‘

    xampp环境配置下出现的问题解决 — mysqli_real_connect(): (HY000/1045): Access denied for user ‘root‘@‘localhost‘XAMPP环境配置下出现的问题版本:xampp7.3.1    今天,柳妹在虚拟机上面又一次搭建xampp的环境的时候,在mysql的管理界面对于root@localhost管理用户进行密码设定的时候,修改了密码,当再一次点击进入的时候,报错如下:MySQL返回:无法连接:无效的设置。mysqli_real_connect():(HY000/1045):Accessde…

    2022年7月12日
    22
  • window.getcomputedstyle(get position)

    获取元素CSS值之getComputedStyle方法熟悉一、碎碎念~前言我们都用过jQuery的CSS()方法,其底层运作就应用了getComputedStyle以及getPropertyValue方法。对于那些只想混口饭吃的人来讲,晓得CSS()如何使用就足够了。对于希望在JS道路上越走越远的来人说,简单了解一些JS库底层实现对自己的学习很有帮助。可能谈不上信手拈来的使用,至少对创…

    2022年4月11日
    35
  • matlab 矩阵除法求方程组的解,线性方程组求解矩阵除法.PPT

    matlab 矩阵除法求方程组的解,线性方程组求解矩阵除法.PPT线性方程组求解矩阵除法第二章MATLAB编程与作图MATLAB数学实验第三章矩阵代数第三章矩阵代数3.1预备知识:线性代数3.2矩阵代数的MATLAB指令3.3计算实验:线性方程组求解3.4建模实验:投入产出分析和基因遗传3.1预备知识:线性代数线性方程组记为Ax=b3.1预备知识:线性代数线性方程组若秩(A)?秩(A,b),则…

    2022年6月17日
    35
  • mysql数据库创建表_eclipse怎么导入jdbc驱动

    mysql数据库创建表_eclipse怎么导入jdbc驱动承接上一篇,MySQL我们已经安装OK了,那么怎么可以不去玩玩它呢!!学习重点:一:CMD登入退出命令:二:MySQL数据库服务器、数据库和表的关系三:数据库的指令操作四:表的常用指令操作

    2022年8月2日
    7
  • 接口测试用例模板

    接口测试用例模板接口测试用例模板 用例标识 标题 模块 优先级 描述 前置条件 请求类型 请求参数 类型 操作步骤 预期结果 API001 请求使用正确的用户名和密码可以正确登录 用户登录 P1 测试当向登录接口使用正确用户名和密码进行请求可以正确得到登录成功的响应 无 get username string 1打开测试工具 2发送请求信息 3查看反馈信息 状态码:200

    2022年7月17日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号