3.3v与5v电平转换_5v电压经过10位A/D转换

3.3v与5v电平转换_5v电压经过10位A/D转换问题背景在设计一个带MCU或者ARM系统电路时候,经常遇见MCU的VCC是3.3V,但是外围电路需要5V,有时候是反过来。虽然现在MCU的IO都声称支持TTL电平,但是我们谁也不想将MCU的IO口直接接上5V,即使IO口先串联一个电阻,然后再接上5V,这样总是不放心,担心烧掉MCU。再说了,MCU声称IO口支持TTL电平,但是并不是所有的IO都是这样,反正有隐患。解决方法就是电平转换。具体的我只说我在实际项目中运用到的方法,而且在项目中运用比较方便的,其他的都不再说了。法一:基于门电路第一种:利用O

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

问题背景

在设计一个带MCU或者ARM系统电路时候,经常遇见MCU的VCC是3.3V,但是外围电路需要5V,有时候是反过来。虽然现在MCU的IO都声称支持TTL电平,但是我们谁也不想将MCU的IO口直接接上5V,即使IO口先串联一个电阻,然后再接上5V,这样总是不放心,担心烧掉MCU。再说了,MCU声称IO口支持TTL电平,但是并不是所有的IO都是这样,反正有隐患。解决方法就是电平转换

具体的我只说我在实际项目中运用到的方法,而且在项目中运用比较方便的,其他的都不再说了。

法一:基于门电路

第一种:利用OC或者OD门电路,这样集电极或者漏极都可以通过一个电阻上拉到一个新的VCC,其基极或者栅极就可以连接另外一个VCC,这样也就实现了,3.3V控制5V,12V的电平信号输出。注意这里需要选择好上电阻阻值,还要考虑MCUIO的驱动能力。这类电路大部分运用在输出电路上的电平转换电路。

在这里插入图片描述
当 IO 口输出高电平 3.3V 时,三极管导通, OUT 输出低电平 0V,当 IO 口输出低电平时,三极管截止, OUT 则由于上拉电阻 R2 的作用而输出 5V 的高电平,这样就实现了低电压控制高电压的工作原理。

法二:基于芯片

第二种:利用特定的电平转换芯片,将3.3V和5V进行转换。例如74LVC4245A,74ALVC164245这两款芯片用的比较多。

在这里插入图片描述

上图是74LVC4245A芯片管脚图和具体电气含义,它存在5VVCCA和3.3VVCCB,2个电源管脚,这样就可以实现5V和3.3V的转换了,同时DIR控制数据方向,这样也实现了3.3V到5V,或5V到3.3V的两个方向转换,具体转换方向的控制如下图:

在这里插入图片描述

另外74LVC4245A还可以增加MCU IO的电流驱动能力。在设计中如果需要的话会首选这个芯片。

74ALVC164245是16Bit,功能和74LVC4245A差不多。

当然了,还有其他的电平转换方案,但是比较下来,经常使用的,还是这两种方法最实用。

附录

74LVC4245A 的A端IO口的持续输出最大电流可达 ±50mA
在这里插入图片描述

同样,74LVC4245A 的B端IO口的持续输出最大电流可达 ±50mA
在这里插入图片描述

SN74HC245 的IO口持续输出最大电流可达 ±35mA

在这里插入图片描述

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js取消默认事件

    js取消默认事件w3c的方法是e.preventDefault(),IE则是使用e.returnValue=false;或者使用returnfalse默认事件有a链接的点击表单提交

    2022年7月2日
    26
  • 推荐60多个CSS GALLERY画廊网站

    推荐60多个CSS GALLERY画廊网站

    2021年8月6日
    61
  • Windows编程(多线程)

    Windows编程(多线程)线程创建函数CreateThreadCreateThread是一种微软在WindowsAPI中提供了建立新的线程的函数,该函数在主线程的基础上创建一个新线程。线程终

    2021年12月13日
    48
  • jupyter notebook和spyder区别_命令行打开spyder

    jupyter notebook和spyder区别_命令行打开spyderPycharm、jupyterlab、jupyternotebook、python的区别Pycharm是开发工具,开发人员修改bug特别方便jupyterlab是jupyternotebook的升级版,特别友好,里面的很多插件对于你做数据分析很是方便jupyternotebook是数据分析师经常用的工具,小白学习数据分析时练习numpy、pandas就在这里进行python这个软件我没有用过,我大学学习python装的是Anaconda里面的spyderspyder刚开始接触pyt

    2022年8月28日
    3
  • VC编程入门浅谈「建议收藏」

    VC编程入门浅谈「建议收藏」
    学VC并不是传说的那么难,可不下些功夫是学不成的。学编程急不得,没有编程的基础知识上来就学VC肯定碰一头灰,说VC难就难在这点上了。如果硬上,意志坚强的话还能挺过来,但最后还得回头来补习基础知识。意志不坚强的话,很有可能就此放弃,并留下一个VC难得不得了的印象。

      其实,只要踏踏实实一步一步来,学VC很简单。对于没有编程基础的人首先要学习编程的基础知识,如变量,语句,基本的算法等,然后写一些小的程序,实现些常用算法对自己的思维是很好的锻炼,对以后的学习大有好处。起码要能排

    2022年6月17日
    30
  • DropDownList1 添加一个默认选中项

    DropDownList1 添加一个默认选中项DropDownList1添加一个默认选中项DropDownList1.DataSource=bb.drop();DropDownList1.DataTextField=”BookType”;DropDownList1.DataValueField=”BookTypeid”;DropDownList1.DataBind();DropDownList1.Ite..

    2022年7月18日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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