前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >I2C电平转换电路_双向电平转换电路工作原理

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

作者头像
全栈程序员站长
发布2022-09-22 09:58:18
1.2K0
发布2022-09-22 09:58:18
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

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

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

I2C电平转换电路_双向电平转换电路工作原理
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电平转换电路_双向电平转换电路工作原理
I2C电平转换电路_双向电平转换电路工作原理

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档