基于NMOSFET的电平转换电路设计

news2024/10/1 5:40:58

一、概述:

  在单片机系统中,5V、3.3V是芯片常用的电平。而在传输协议中(如IIC、SPI等协议),存在芯片与芯片的高电平和低电平定义的范围不一样,所以需要存在一个电平转换电路,来使芯片与芯片之间顺利的传输。
 

二、前置知识

  该电路是通过N沟道MOSFET管的开关来实现的。所以先让我们探讨NMOSFET是怎样工作的?

在这里插入图片描述

图2.1 增强型NMOSFET的符号
 

  ①当 U G S U_{GS} UGS > U G S ( t h ) U_{GS}(th) UGS(th)时,D和S的N沟道导通,这时在D和S间加上电压,电流将会在从D流向S。
  (不同型号的NMOS管,他们的 U G S ( t h ) U_{GS}(th) UGS(th)不同,即开启电压不一样。详情请参考他们的数据手册)
 
  ②当 U G S U_{GS} UGS < U G S ( t h ) U_{GS}(th) UGS(th)时,D和S的N沟道不导通,NMOSFET将截止,DS间则无电流流过。
 
  注:本文着重于电平转换电路,如还是无法明白NMOS管的导通原理,建议去看一下模电书本,再进行下面阅读。
 

三、电路实现

Alt

图3.1 电平转换电路

 

四、电路仿真(multisim)

在这里插入图片描述

图4.1.1 5V转3.3V仿真电路
 

在这里插入图片描述

图4.1.2 5V转3.3V仿真电路
 

在这里插入图片描述

图4.2.1 3.3V转5V仿真电路
 

在这里插入图片描述

图4.2.2 3.3V转5V仿真电路
 

五、电路实现原理

5.1 5V转3.3V

  ①当左边输入5V时, U G S U_{GS} UGS = 0V( U G = 3.3 V U_G = 3.3V UG=3.3V U S U_S US = 3.3V),所以NMOSFET截止,DS不导通,所以右边电平被拉到了3.3V。
  如下图5.1.1.1所示。
在这里插入图片描述

图5.1.1.1 5V转3.3V电路
 

  ②当左边输入0V时,右边为3.3V。这时NMOS管下面的二极管导通,右边电位被钳位在0.7V左右。如下图5.1.2.1所示。
在这里插入图片描述

图5.1.2.1 5V转3.3V电路
 

  这时的 U G S U_{GS} UGS = 2.6V,NMOS管被导通,DS可以流过电流。由于D和S间的电压比二极管的电压小,所以二极管被短路了,右边电压变成了0V。如下图5.1.2.2所示。(AO3402的 U G S ( t h ) U_{GS}(th) UGS(th)大约在1.5V左右。右边电压不是准确的0V,由于 R D S R_{DS} RDS电阻的存在,右边大概几百mV到几十mV。)

在这里插入图片描述

图5.1.2.2 5V转3.3V电路
 

5.2 3.3V转5V

  ①当右边电压为3.3V, U G S = 0 V U_{GS}=0V UGS=0V,NMOS管被截止,左边电平就会被拉到5V。如下图5.2.1.1所示。

在这里插入图片描述

图5.2.1.1 3.3V转5V电路
 

  ②当右边电压为0V时, U G S = 3.3 V U_{GS}=3.3V UGS=3.3V,这时NMOS管导通,左边电压为0V。如下图5.2.2.1所示。
在这里插入图片描述

图5.2.2.1 3.3V转5V电路
 

六、注意事项

  ①左边电压一定要比右边高,否则NMOS下面的二极管一直处于导通状态,导致无法进行电平转换。错误电路如下图6.1.1所示。
在这里插入图片描述

图6.1.1 电平转换的错误电路
 

  ②上拉电阻10K没有明确的值,具体要看电路设计中需要多大阻值,通常选3.3K、10K等电阻。当千万取阻值过小,
  否则有可能导致电阻上下两端电压接近,从而无法电平转换。

  ③NMOS的开启电压,有高压的MOS管和低压的MOS管,要根据器件的数据手册和具体电路要求进行选取,
  千万不要当NMOS管是有恒定的开启电压。

  ④除了5V转3.3V,还可以1.26V转5V,要根据具体的情况选取合适的电压。如下图6.4.1所示.
在这里插入图片描述

图6.4.1 1.26V转5V
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/398177.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JDK动态代理(tedu)(内含源代码)

JDK动态代理&#xff08;tedu&#xff09;&#xff08;内含源代码&#xff09; 源代码下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87546187 目录JDK动态代理&#xff08;tedu&#xff09;&#xff08;内含源代码&#xff09;源代码下载链接…

vue2学习笔记

文章目录1. 初识Vue2. 模板语法3. 数据绑定4. el与data的两种写法5. Vue中的MVVM6. 数据代理Object.defineProperty方法何为数据代理Vue中的数据代理7. 事件处理事件的基本使用事件修饰符键盘事件8. 计算属性姓名案例_插值语法实现姓名案例_methods实现姓名案例_计算属性实现姓…

dp-过河卒

题目描述 如图,A 点有一个过河卒,需要走到目标 B 点。卒行走规则:可以向下、或者向右。同时在棋盘上的 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。 例如上图

【HashMap】| 深度剥析Java SE 源码合集Ⅱ | 你会吗?

目录一. &#x1f981; HashMap介绍1.1 特点1.2 底层实现二. &#x1f981; 结构以及对应方法分析2.1 结构组成2.1.1 成员变量2.1.2 存储元素的节点类型2.1.2.1 链表Node类2.1.2.2 树节点类2.1.2.3 继承关系2.2 方法实现2.2.1 HashMap的数组初始化2.2.2 计算hash值2.2.3 添加元…

HTML URL

HTML 统一资源定位器 (Uniform Resource Locators) URL 是一个网页地址。 URL 可以由字母组成&#xff0c;如 "w3cschool.cn"&#xff0c;或互联网协议&#xff08;IP&#xff09;地址&#xff1a; 120.79.88.157。大多数人进入网站使用网站域名来访问&#xff0c;因…

主流的“对象转换工具”使用示例大全以及性能的对比

目录 前言 源码地址 代码示例 引入依赖 先定两个实体用于转换 定义一个接口让所有转换器都集成 Apache BeanUtils BeanCopier bean-mapping bean-mapping-asm Dozer 自己写get/set JMapper json2json MapStruct&#xff08;推荐&#xff09; ModelMapper OriK…

使用Vue实现数据可视化大屏功能(二)

引入数据大屏相关组件 用Datav插件做大屏可视化的组件&#xff0c;官网地址 http://datav.jiaminghi.com/ &#xff0c;整个组件库都是基于Vue React版本实现&#xff0c;主要用于构建大屏数据可视化页面&#xff0c;具有很多种类的组件可以使用。其安装方式如下。 npm instal…

WebRTC中的NAT穿透

NAT简介 我们知道&#xff0c;WebRTC会按照内网、P2P、中转的顺序来尝试连接。在大部分的情况下&#xff0c;实际是使用P2P或者中转的。这里P2P的场景主要使用的技术就是NAT穿透。 我们先简单了解下NAT。NAT在真实网络中是常见的&#xff0c;它的出现一是为了解决ipv4地址不够…

2.1操作系统-进程管理:进程的同步与互斥、信号量与PV操作、PV操作与互斥模型、PV操作与同步模型

2.1操作系统-进程管理&#xff1a;进程的同步与互斥、信号量与PV操作、PV操作与互斥模型、PV操作与同步模型进程的同步与互斥PV操作PV操作与互斥模型PV操作与同步模型进程的同步与互斥 进程是动态的&#xff0c;有一些动态变迁的过程&#xff0c;进程在计算机中是可以同时存在…

JavaEE简单示例——Spring框架的简单介绍

简单介绍&#xff1a; 在我们之前创建的Java项目中&#xff0c;会发现我们的各种类&#xff0c;接口文件和配置文件都放在了一起&#xff0c;虽然我们也做了一些包管理去管理我们的这些文件&#xff0c;但是对于我们来说&#xff0c;这些操作还是太繁琐了&#xff0c;尤其是当…

Spark-RDD创建、并行分区

集合&#xff08;内存&#xff09;中创建 RDD 外部存储&#xff08;文件&#xff09;创建 RDD 并行与分区 分区的设定 集合&#xff08;内存&#xff09;中创建 RDD 从集合中创建 RDD&#xff0c;Spark 主要提供了两个方法&#xff1a;parallelize 和 makeRDD&#xff0c;从…

【源码解析】SpringBoot缓存之@Cacheable的快速入门和源码解析

快速入门 启动类上添加注解EnableCaching在方法上添加注解Cacheable。 OverrideCacheable(cacheNames "value", key "#code_#dictKey")public String getValue(String code, Integer dictKey) {return baseMapper.getValue(code, dictKey);}OverrideCac…

数据结构和算法学习记录——线性表之单链表(上)-初始单链表及其头插函数(顺序表缺陷、单链表优点、链表打印)

单链表的概念单链表是一种链式存取的数据结构&#xff0c;链表中的数据是以结点来表示的。每个结点的构成&#xff1a;元素(数据元素的映象) 指针(指示后继元素存储位置)。元素就是存储数据的存储单元&#xff0c;指针就是连接每个结点的地址数据。以“结点的序列”表示的线性…

Kubernetes Service简介

Service 之前我们了解了Pod的基本用法&#xff0c;我们也了解到Pod的生命是有限的&#xff0c;死亡过后不会复活了。我们后面学习到的RC和Deployment可以用来动态的创建和销毁Pod。尽管每个Pod都有自己的IP地址&#xff0c;但是如果Pod重新启动了的话那么他的IP很有可能也就变…

cocos2dx+lua学习笔记:事件派发器CCEventDispatcher

前言 本篇在讲什么 cocos2dx内关于事件监听和派发的调度器EventDispatcher相关内容 本篇适合什么 适合初学Cocos2dx的小白 适合想要学习EventDispatcher的新手 本篇需要什么 对Lua语法有简单认知 对C语法有简单认知 对Cocos2dx有简单认知 Cocos2dx-Lua的开发环境 依…

【Spring事物三千问】DataSource的设计和常用实现——Hikari、Druid

javax.sql.DataSource javax.sql.DataSource 是 jdk 提供的接口&#xff0c;各个连接池厂商 和 Spring 都对 DataSource 进行了设计和实现。 javax.sql.DataSource 是连接到物理数据源的工厂接口。它是 java.sql.DriverManager 功能的替代者&#xff0c;是获取数据库连接的首选…

H5视频付费点播打赏影视系统程序全开源运营版,含完整的前后台+数据库

源码介绍&#xff1a; 这是一个非常棒的精品代码&#xff0c;之前官方网站售价可是超过2w的。我拿过来了简单测试了一下&#xff0c;完美。好久没有遇到这么好的代码了&#xff0c;特此整理了一份完整的搭建教程并分享一下。 thinkphp开发&#xff0c;前后端分离设计&#xf…

Vue3做出B站【bilibili】 Vue3+TypeScript+ant-design-vue【快速入门一篇文章精通系列(一)前端项目案例】

本项目分为二部分 1、后台管理系统&#xff08;用户管理&#xff0c;角色管理&#xff0c;视频管理等&#xff09; 2、客户端&#xff08;登录注册、发布视频&#xff09; Vue3做出B站【bilibili】 Vue3TypeScriptant-design-vue【快速入门一篇文章精通系列&#xff08;一&…

ASEMI高压MOS管20N60参数,20N60尺寸,20N60体积

编辑-Z ASEMI高压MOS管20N60参数&#xff1a; 型号&#xff1a;20N60 漏极-源极电压&#xff08;VDS&#xff09;&#xff1a;600V 栅源电压&#xff08;VGS&#xff09;&#xff1a;30V 漏极电流&#xff08;ID&#xff09;&#xff1a;20A 功耗&#xff08;PD&#xff…

项目最后一刻发生范围变更该怎么处理?

不管是项目需求发生了变化&#xff0c;还是第一轮可交付成果没有完全达到预期&#xff0c;在项目范围定义的初始阶段之后可能发生变化的原因有很多。当这种情况发生时&#xff0c;你需要准备好一个计划来处理最后一刻的范围变更和调整。 什么是范围变更&#xff1f; 范围变更是…