各位高手:
由于本人电路水平有限,对下图不知道分析的对不对,请大家帮忙看看,不对的地方请指正,谢谢!!
我的分析:
当3.3V口输出高电平为3.3V时,那么A点电电压为3.9V,流过200欧电阻的电流就是(5V-3.9V)/(200+4700)=0.224mA,那么B点的电压就是(200/1000)*0.224+3.9=3.9448V, 5V口线读出的电压为高。另外,此时C点的电平就是3.3V,3.3K电阻上没有电流。
4.7k上拉至5V,所以二极管肯定导通,所以C点也不是3.3V,3.3k电阻上有电流。
一般3.3V单向转5V用个三极管(作开关管用),如果输入端驱动电流够的话上拉电阻R1都可以不用
5V
3.3V |
| R3
R1 |————————out
| |/
in————————R2——— --|
|\
|
GND
不能发图,只好用这个再试一下:
5V
3.3V |
| R3
R1 |————out
| |/
in————R2— ---|
|\
|
GND
俺也菜,看了楼主的分析,感觉是正确的,
如果3.3V输出为0,那么A点是0.4V,而B点的电平是 4.7K与200欧分压得到,就是0.4 + (5-0.4)*(200/(200+4700)) = 0.4 + 4.6 * (200/4900) = 0.58V
如果3.3V输出为3.3,那么A点是3.7V,而B点的电平是 4.7K与200欧分压得到,就是3.7 + (5-3.7)*(200/(200+4700)) = 3.7 + 1.3 * (200/4900) = 3.75V
也不知道我分析的对不对。
你好!感谢你的回复,能说的具体点吗?因为本人水平有限,不太明白:(
4.7k上拉至5V,所以二极管肯定导通?为什么呢,我在网上看到说IN4148导通的话,它两端的电压应大于1V,
因为这个电路想实现3.3V转5V(即3.3V口输出低电平时,二极管导通,3.3V口输出高电平时,二极极管截止),
当3.3V口输出高电平时,我就不知道从哪头开始分析这个电路了,多说点,谢谢了!!
4.7K上拉5V,二极管导通是一定的。在小电流的电路中二极管表现出的电阻肯定远大于200ohm(在导通状态下会随着流过电流的增大电阻值减小),那么分得的电压达到导通电压,二极管自然会导通。C点的电压也不会是3.3V.
3.3V口输出高电平并不意味着它就输出3.3V,在你的这个电路中它就会受到影响。一般单片机等3.3V IO口可看作用电阻上拉到3.3V后输出
1n4148导通电压U大约在0.6~0.7V吧,即使U=1V,U仍小于(5V-3.3V),所以加在4.7K,200,3.3K三个电阻上的电压为(5-3.3-U),所以肯定有电流。
无法上图,下面这个是3.3转5的电路,不知看不看得清楚
5V
3.3V |
| R3
R1 |————————out
| |/
in------R2--- --|
|\
|
GND
你给出的电路,R1是上拉到3.3V的,R3是上拉到5V的,R2应该是基极的限流电阻吧,
但你这个三极管如果是NPN的话,我觉得正好是反向转换了,即IN=0时,OUT=1,IN=1时,OUT=0,
如果是PNP的话,请问下面的接地的是什么极呢?谢谢!
另外,我贴子中的电路,现在已经用到我调试的系统中即3.3V转5V接口,各种功能是好使的,
因为,得考虑以后系统的稳定性问题,我怕这个电路不太稳定什么的,因为我量出的C点电压已
达到3.8V左右了!还有芯片都有最大输出电流什么的,我怕时间长了,芯片用不住呵!
他的图里面有三极管,我下载的图片里面只有一个二极管呢。
看了半天,还是不够清楚,楼主发的图3.3k和4.7k的电阻都是上拉的吧?
引用: 引用 10 楼 zzxzzx3535 的回复:
你给出的电路,R1是上拉到3.3V的,R3是上拉到5V的,R2应该是基极的限流电阻吧,
但你这个三极管如果是NPN的话,我觉得正好是反向转换了,即IN=0时,OUT=1,IN=1时,OUT=0,
如果是PNP的话,请问下面的接地的是什么极呢?谢谢!
另外,我贴子中的电路,现在已经用到我调试的系统中即3.3V转5V接口,各种功能是好使的,
因为,得考虑以后系统的稳定性问题,我怕这个电路不太稳定什么的,因为我量出的C点电压已
达到3.8V…
这个电路确实是个反向器,不过你的3.3V输出不是从MCU或其它什么可编程芯片出来的??如果是的话改下程序就OK了
PNP的话似乎不能实现。
你原来的电路中二极管是常通的,所以输出的高低电平大约在3.8V/0.7V(高低电平都被拉高),也满足TTL区分高低电平的要求。稳定性方面我也不清楚,但我感觉不太好,毕竟这样输出不是标准的TTL。实际上你直接将3.3V口直接给5V口也能正常工作,理由同上:3.3V/0.1V也是能被区分的,只是抗干扰些可能差些。
谢谢你的回复,我的电路其实是从3.3V FLAH读信号送给5V单片机接收,所以,不能自己决定3.3V输出口的状态:)
还得请教一下,当3.3V FLASH输出高电平时,C点的电压是不是3.3V呢?或者说在理想状态下(你说过即使是3.3V系统
输出高电平时,电压实际不是3。3V),C点为3.3V,上拉3.3K 这个电阻上的电流这时是0,我这么说对不对??
如果我上面的想法是对的话,那我就会分析了,呵呵,再次感谢!
一般情况下,3.3V IO口内部可看作用电阻上拉到3.3V,类似于上面我画的电路(只是输出时不用5V,而是用3.3V)。所以它会受外部负载影响,可能被拉高或拉低,可以想象一下,你用个小电阻将IO口上拉到5V或下拉到地,那么IO口的电压就会接近于5V或GND。
另外,用5V单片机读写3.3V的FLASH,那不是有很多位都需要转换?如果这样不如直接选用个3.3V/5V转换芯片。
“一般情况下,3.3V IO口内部可看作用电阻上拉到3.3V,类似于上面我画的电路(只是输出时不用5V,而是用3.3V)。所以它会受外部负载影响,可能被拉高或拉低”
以上这句话我明白了,你说的有道理呵呵,谢谢,读出数据的程序改一下就行了!
我的系统中用5V单片机读写3.3V的FLASH时,从3.3VFLASH送数据给单片机只有一个管脚,其它管脚都是5V单片机给3.3V的FLASH送数据,所以我想还是用个省钱的办法。
"当3.3V FLASH输出高电平时,C点的电压是不是3.3V呢?或者说在理想状态下(你说过即使是3.3V系统
输出高电平时,电压实际不是3.3V),C点为3.3V,上拉3.3K 这个电阻上的电流这时是0,我这么说对不对??"
再次感谢!
"当3.3V FLASH输出高电平时,C点的电压是不是3.3V呢?或者说在理想状态下(你说过即使是3.3V系统
输出高电平时,电压实际不是3.3V),C点为3.3V,上拉3.3K 这个电阻上的电流这时是0,我这么说对不对??"
其实上面我已经解释了,3.3V IO口内部可看作用电阻上拉到3.3V,所以它会受外部负载影响,
如果你的IO口是悬空的,即负载无穷大,那IO口输出为3.3V。但是在你的电路中,
3.3V 5V
| |
3.3K 4.7K
| |
--DIODE-200--
本身就是有导通的,I=(5-3.3-DIODE导通电压)/(3.3k+200+4.7K),所以在你的电路中C点电压为3.3V+3.3k*I。
实际上,还有部分电流是倒灌到IO口中去了。因为当输出高电平时,IO口内部可看作:
3.3V
|
R
|
--输出为高