MOS管电平转换电路学习

MOS管电平转换电路学习一个MOSFET电平转换电路引发的问题

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

Jetbrains全系列IDE稳定放心使用

最近在设计中遇到一个简单,但是稍不注意就出错的问题,在此分享一下。

在电路开发过程中,我们经常遇到两个系统电平不一致的情况,比如IIC和UART通信等。使用MOSFET搭建双向电平转换电路,是比较常见的做法,电路如图1中虚线框所示,MOS管的部分参数如图2所示。
在这里插入图片描述
图1
在这里插入图片描述
图2
电路原理很简单,分两种情况:

1.从A到B

A为高电平时,MOS管关断,B端通过上拉,输出高电平;

A为低电平时,MOS管内的体二极管导通,使MOS管的S极被拉低,从而使Vgs=3.3V>Vgs(th)=1.6V,MOS管导通,B端被拉低,输出低电平;

A为高阻态时,MOS管关断,B端通过上拉,输出高电平。

2.从B到A

B为高电平时,MOS管关断,A端通过上拉,输出高电平;

B为低电平时,MOS管不导通,但是它有体二极管!MOS管里的体二极管把A端拉低到低电平,此时Vgs约等于3.3V>Vgs(th)=1.6V,MOS管导通,A端被彻底拉低,输出低电平;

B为高阻态时,MOS管关断,A端通过上拉,输出高电平。

一直以来使用这个电路没有出现过问题,所以这次也是不假思索的照搬过来,但结果是上电后,模块B无法正常启动工作。

出现该问题的原因也很简单,就是模块B的通信引脚除了通信之外,还有其他作用,如图1所示,其在上电时需要通过10K电阻R3下拉到GND实现低电平,并维持一段时间,以确保模块B能正常启动。但如果直接使用该转换电路,示波器测量到的模块B引脚电平,在上电瞬间的波形如图3所示,可以看到幅值在2.3V左右,已经达到了模块B的高电平标准,因此,模块B启动失败,之后该引脚一直输出为低电平。
在这里插入图片描述
图3
分析下工作过程,上电瞬间,B点电压是3.3V通过R2和R3分压后得到,理论值等于2.2V,与实测波形接近。在该电路中,信号流是从B到A单向传输的,因此想到可以去掉电阻R2,那样B点在上电瞬间就不会有上拉电压,但是实际去掉R2后,模块B依旧无法启动。进一步分析,在上电瞬间B点电压确实为0,但是也因此导致Vgs=3.3V,MOS管导通,R3又和上拉电阻R1形成了分压关系,导致B点无法拉到低电平。

因此,如果想要继续使用该电平转换电路的话,必须加大上拉电阻R1和R2的值,使分压后的B点电位达到低电平标准,但是上拉电阻改的太大的话,A端高电平可能会有问题,所以最终选择使用两个三极管组成的电平转换电路,如图4所示,问题解决。
在这里插入图片描述

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/180077.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

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