分简单,仅由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. Codeforces Round #363 (Div. 2) B 暴力

    Description You are given a description of a depot. It is a rectangular checkered field of n × m siz ...

  2. FFT与NTT

    讲解:http://www.cnblogs.com/poorpool/p/8760748.html 递归版FFT #include <iostream> #include <cstd ...

  3. .net3.5下使用LINQ递归算法实现简洁代码

    原文发布时间为:2011-04-24 -- 来源于本人的百度文章 [由搬家工具导入] http://www.cnblogs.com/wintersun/archive/2009/03/29/14243 ...

  4. sgu 275 To xor or not to xor 线性基 最大异或和

    题目链接 题意 给定\(n\)个数,取其中的一个子集,使得异或和最大,求该最大的异或和. 思路 先求得线性基. 则求原\(n\)个数的所有子集的最大异或和便可转化成求其线性基的子集的最大异或和. 因为 ...

  5. hdu 4525(数学)

    威威猫系列故事——吃鸡腿 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tota ...

  6. 爬虫学习笔记(三)requests模块使用

    前面在说爬虫原理的时候说了,就写代码自动化的获取数据,保存下来数据,那怎么写代码来请求一个网址,获取结果呢,就得用requests模块了. 这篇博客说一下requests模块的使用,requests模 ...

  7. python对象的复制问题

    list 的拷贝问题: 1, >>> a [1, 2] >>> b=a[:] >>> b [1, 2] >>> b[0]=20 ...

  8. Codeforces 731B Coupons and Discounts(贪心)

    题目链接 Coupons and Discounts 逐步贪心即可. 若当前位为奇数则当前位的下一位减一,否则不动. #include <bits/stdc++.h> using name ...

  9. git常用命令,制作缩写命令

    目录 基础命令 常用命令列表 查看状态 添加到本地仓库 推送到远程仓库 创建分支 更新分支, 合并分支 查看分支的差异 回滚 其它 缩写命令 基础命令 # 生成SSH key ssh-keygen - ...

  10. [原创]Getting Started with Skywalking

    Getting Started with Skywalking Pre JDK 1.8+ Skywalking(v3.2.6) (All packages can be download from G ...