分简单,仅由3个电阻加一个MOS管构成,电路图如下:

此电路来自于飞利浦的一篇设计指导文档,是I2C总线官方推荐使用的电平转换电路。在实际使用过程中,需要尤其注意NMOS管的选型以及上拉电阻阻值的选取。由于该电路基于上拉电阻,NMOS管的电容特性可能会导致波形劣化。为了保证输出的上升速度,使得输出波形维持较好的形状以保证数据正确,通常选择Qg较小的NMOS管。

上图中,SDA1/SCL1,SDA2/SCL2为I2C的两个信号端,VDD1和VDD2为这两个信号的高电平电压。电路应用限制条件为:

1,VDD1 ≤ VDD2;

2,SDA1/SCL1的低电平门限大于0.7V左右(视NMOS内的二极管压降而定);

3,Vgs ≤ VDD1;

4,Vds ≤ VDD2 。

电路分析如下:

1、没有器件下拉总线线路。
        3.3V部分的总线线路通过上拉电阻Rp上拉至3.3V。 NMOS管的栅极和源极都是3.3V, 所以它的Vgs 低于阀值电压,NMOS管不导通。这就允许5V部分的总线线路通过它的上拉电阻Rp上拉到5V。此时两部分的总线线路都是高电平,只是电压电平不同。

2 、一个3.3V 器件下拉总线线路到低电平。
        NMOS管的源极也变成低电平,而栅极是3.3V,Vgs上升高于阀值,NMOS 管开始导通。然后5V部分的总线线路通过导通的NMOS管被3.3V 器件下拉到低电平。此时,两部分的总线线路都是低电平,而且电压电平相同。

3、一个5V 的器件下拉总线线路到低电平。
        NMOS管的漏极基底二极管导通,源极电压为基底二极管导通0.7V,3.3V部分被下拉直到Vgs 超过阀值,NMOS管开始导通。3.3V部分的总线线路通过导通的NMOS管被5V 的器件进一步下拉到低电平。此时,两部分的总线线路都是低电平,而且电压电平相同。

优点:
1、适用于低频信号电平转换,价格低廉。
2、导通后,压降比三极管小。
3、正反向双向导通,相当于机械开关。
4、电压型驱动,当然也需要一定的驱动电流,而且有的应用也许比三极管大。

从此看的出几个关键点:
1、MOS管一定要选内嵌DS反向二极管的,没有就要外加低导通压降的管子。
2、高端侧拉低的低电平一定要够低,因为电平转换电路已经有了上拉电阻,就 不要在重复增加上拉电阻了。尤其是对于存在若下拉状态的接口。
3、线路串联电阻不要随意放,很简单串联分压,串联电阻后,主控端拉低后,接收端的电平会不够低,尤其这种状态出在3.3V一侧你就Game over了

4、通常选择Qg较小的NMOS管。

3.3向5V转换测试:

对这个电路测试了下,MOS管采用的是2N7002小信号NMOS,输入电容很小的,大概几十pF。下面是电路及实物

  

115KHz波形,这个是频率是常用串口较高的波特率

分析:5V电路上升沿缓是因为依靠上拉电阻上升至5V,时间常数决定,上拉电阻越小上升时间越小;5V电路下降沿陡是因为NMOS导通,直接由3.3V电路驱动低电平。

400KHz,高速IIC通信的时钟频率

1MHz,波形上升太慢了

4MHz,已经不能输出5V的电平了

分析:5V电路还没来得及上升至5V就被拉下来了。

---------------------
作者:硬件菜鸟备忘录
来源:CSDN
原文:https://blog.csdn.net/impossible1224/article/details/80618703

转:3.3V和5V电平双向转换——NMOS管的更多相关文章

  1. 3.3V与5V电平双向转换

    http://www.amobbs.com/thread-5541344-1-2.html 3.3V转5V:S3输入为0V时,NMOS管导通,S5=S3=0V:S3输入为3.3V时,NMOS管截止,S ...

  2. FATFS外置UNICODE GBK双向转换码表(转)

    源:FATFS外置UNICODE GBK双向转换码表 将UtoG,GtoU双向码表放到存储卡里面实现长文件名,因为FATFS长文件名需要unicode支持, 首先将UtoG.sys,GtoU.sys两 ...

  3. 1.8V转5V电平转换芯片,1.8V转5V的电源芯片

    1.8V是一个比较低的电压,在电压供电电压中,1.8V电压的过于小了,在一些电子模块或者MCU中,无法达到供电电压,和稳压作用,PW5100就是可以在1.8V转5V的电平转换电路和芯片,最大可提供50 ...

  4. Java基础(36):String与基本数据类型之间的双向转换(Wrapper类)

    Java 中基本类型和字符串之间的转换 在程序开发中,我们经常需要在基本数据类型和字符串之间进行转换. 其中,基本类型转换为字符串有三种方法: 1. 使用包装类的 toString() 方法 2. 使 ...

  5. 3.3v转5v开关电源芯片LM2731

    方案一 输入3.3(可为2.7~14v):输出5v,700ma.已经过实际验证. 其中:C1,C2为贴片陶瓷电容,Cf也为贴片陶瓷电容,L1为6.8uH 电感 输出值只和R1,R2的值有关,但手册中又 ...

  6. 3.3V转5V原理图

  7. BubbleGum96 开箱杂谈与软件资源

    前言 原创文章,转载引用务必注明链接. 拿到有一段时间了,一直在想写哪些内容.96boards发布以来,吸引了很多眼球.这里我就慢慢随便聊聊,希望能让大家对96boards有更多了解. 开箱 [开箱图 ...

  8. 5V与3.3V器件电平转换

    源:5V与3.3V器件电平转换 当你使用3.3V的单片机的时候,电平转换就在所难免了,经常会遇到3.3转5V或者5V转3.3V的情况,这里介绍一个简单的电路,他可以实现两个电平的相互转换(注意是相互哦 ...

  9. 5V系统和3.3V系统电平转换

    在设计一个带MCU或者ARM系统电路时候,经常遇见MCU的VCC是3.3V,但是外围电路需要5V.有时候是反过来.虽然现在MCU的IO都声称支持TTL电平,但是我们谁也不想将MCU的IO口直接接上5V ...

随机推荐

  1. Python实现knn

    #coding:utf-8 import numpy as np import operator import os def classify0(inX, dataSet, labels, k): d ...

  2. .NET返回上一页

    原文发布时间为:2010-05-25 -- 来源于本人的百度文章 [由搬家工具导入] if (Request.UrlReferrer != null)                {         ...

  3. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---2

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本 ...

  4. 模块(python的标准库)

    在python中叫做模块,其他语言中叫做类库.python中的模块有三种:内置模块,第三方模块,自定义模块. 模块的使用: 先导入,import+模块名,再使用,模块名+函数名() .py文件与.py ...

  5. hdu 4990(数学,等比数列求和)

    Reading comprehension Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  6. 常用公共DNS服务器地址

    DNS,全称Domain Name System,即域名解析系统,帮助用户在互联网上寻找路径,它在互联网的作用是把域名转换成为网络可以识别的IP地址.目前国内电信运营商通过使用DNS劫持和DNS污染的 ...

  7. mac 安装 redis

    安装命令 brew install redis 开机启动redis命令 $ ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents 使用 ...

  8. vue2.0中怎么获取元素

    在元素上添加 v-el:food-wrapper (不用驼峰的写法) vue1版本 报错: vue2版本 (vue2把vue1中的 v-el 改为了 ref vue1 v-el:foods-wrapp ...

  9. GlusterFS分布式文件系统高速管理

    TaoCloud XDFS基于GlusterFS开源分布式文件系统,进行了系统优化.project化.定制化和产品化工作,五年以上的实践积累了大量实践经验,包含客户案例.最佳实践.定制开发.咨询服务和 ...

  10. 导出excel(利用工具类导出excel)

    /** * 添加导出功能 * @param creditPageResult * @param request * @param response */ @RequestMapping(value = ...