EDA365电子工程师网

标题: 请大家看看这个电路设计的有没有问题 [打印本页]

作者: chenlinfeng88    时间: 2012-6-2 07:17
标题: 请大家看看这个电路设计的有没有问题
最近有发现一个这样的电路,我觉得上拉电平有问题,请各位鉴定。如图,在接到3.3V 的I/O口信号线上加5V的上拉,我跟电路设计者理论,对方觉得这样接没有问题,求鉴定。9 _- j3 s' s; k! }8 S! }, I4 z
另外,补充一点,通信芯片的TXD识别高电平的最小值是3V。
3 H& ^# L' B, B2 y& M, {1 B注:图中的通信芯片只是个示意图。

未命名.JPG (24.21 KB, 下载次数: 23)

电路示意图

电路示意图

作者: chenlinfeng88    时间: 2012-6-2 07:19
从灌电流方面就觉得不行啊,更不用说电平识别了
作者: hhit2009    时间: 2012-6-2 08:59
呵呵 肯定是不好使 我试验过
作者: chenlinfeng88    时间: 2012-6-2 09:17
hhit2009 发表于 2012-6-2 08:59 * H" S6 o7 g* l$ l: Q) W
呵呵 肯定是不好使 我试验过

9 D. {. R0 ]# ]& E) |( V9 B能具体讲一下会出现什么故障不?完全通信不上还是误码率高?
作者: hhit2009    时间: 2012-6-2 09:26
你的U1是5V供电 TTL电平输出PPV肯定也是接近5V,MCU3.3V供电输出PPV肯定也是接近3.3V,他俩这么接 长时间下来要么你的MCU烧 要么根本通信不上 抛砖引玉 ,你可以在每条通路上用2个三极管翻转一下。只要3级管集电极电压分别选3.3V和5V就可以完成转换,个人见解,抛砖引玉。
作者: weihuaping118    时间: 2012-6-2 09:35
加电平转换就可以搞定
作者: wangfayang888    时间: 2012-6-2 09:45
你可以这样来处理:

捕获.JPG (37.94 KB, 下载次数: 32)

捕获.JPG

作者: chenlinfeng88    时间: 2012-6-2 10:33
hhit2009 发表于 2012-6-2 09:26 ! P' N8 A; u7 |6 K! Q8 z+ W7 R7 G
你的U1是5V供电 TTL电平输出PPV肯定也是接近5V,MCU3.3V供电输出PPV肯定也是接近3.3V,他俩这么接 长时间下 ...

- Z$ f/ e8 b7 x+ D' _3 g嗯,讲的很好~
9 }% V" T  }7 J* }0 g/ f, Y不过加三极管可能会影响响应速度,通讯速率高了可能会出错。
作者: chenlinfeng88    时间: 2012-6-2 10:48
wangfayang888 发表于 2012-6-2 09:45
. U. t9 c  U, l; I0 Z( e& q- Y你可以这样来处理:

; R9 M+ e  B9 H  \' Z看了2N7002的datasheet,应该能够达到效果,不知道你有没有将这个电路用在通信电路上,UART通信,115200以上的波特率不知道行不行。,另外,光耦应该也能达到这个效果。
作者: jerryzhu    时间: 2012-6-2 11:06
你这个电路不能笼统的说行与不行, 要看两个IC 的输出电路是什么类型的, s5 J& G! {$ m. i
1 ~6 Y, H2 @( q  t3 l3 v6 r
首先如果TX 是OC 或者OD 输出, 那么可以通过上拉电阻的方法简单解决(不过上拉一个是5V一个是3.3V),不会有太大问题# g" |! U, G0 [( C* B' @

9 M6 L2 L+ i( y/ j5 E+ V. k但是如果输出是推挽,或者里面本身有上拉,这样直接上拉 不可取,就需要电平转换了,你所提到的三级管多速度影响 根本不是问题,UART的速度对于三极管来说太低了,除非你认为的在输入级接大电容。
作者: sandyxc    时间: 2012-6-2 11:08
不排除LZ的电路有正常工作的可能,但这种设计绝对是不附合规范的1 u& |3 c5 Y$ [0 k( J
有可能导致MCU不能正常工作。
. I3 e- u2 Z  D+ c" u& Q- R; B建议LZ增加 7 楼的电路,可简单实现电平转换,而且成本也不高,2N7002应该可以应付 URAT 信号。{:soso_e100:}
作者: wangfayang888    时间: 2012-6-2 11:08
chenlinfeng88 发表于 2012-6-2 10:48
6 W5 P4 [/ X' F+ B看了2N7002的datasheet,应该能够达到效果,不知道你有没有将这个电路用在通信电路上,UART通信,115200以 ...

; ^' x: Y2 Y( s/ R( Z我们公司的产品正使用该模块电路(串口波特率为:38400)效果很好。
作者: qiangqssong    时间: 2012-6-5 15:47
7楼说的有道理,采用电平隔离电路!!!
作者: geluwu    时间: 2012-6-5 16:38
10楼说的有道理,具体还是要看芯片规格。一般来讲3.3V逻辑器件能够耐受5V逻辑,如果不行就需要考虑电平转换。5V器件接受3V为高电平,感觉余量有点不过,可以考虑像附件这样的补偿。

无标题.jpg (16.9 KB, 下载次数: 14)

无标题.jpg

作者: lgl2466    时间: 2012-6-5 20:26
学习了
作者: chenlinfeng88    时间: 2012-6-5 23:04
geluwu 发表于 2012-6-5 16:38
* D5 m  |7 h) U  F( y; s6 z4 Q9 R10楼说的有道理,具体还是要看芯片规格。一般来讲3.3V逻辑器件能够耐受5V逻辑,如果不行就需要考虑电平转换 ...
- Y3 M* r4 f; f. y
这个补偿电路的原理能不能给大家讲一下?还有1K,2K电阻比较常见,3K电阻很少见。
作者: licvin    时间: 2012-6-6 08:32
7#这个电路,有没有人讲解下?呵呵。。。2N7002是怎样导通工作的?望赐教
作者: licvin    时间: 2012-6-6 08:34
wangfayang888 发表于 2012-6-2 09:45
4 e2 @$ u/ D9 {6 v2 z3 r- U; k- ~你可以这样来处理:

# B( @4 G+ d2 }) j: ~- I请问一下,该电路2N7002是如何工作的?望讲解一下,学习学习,谢谢
作者: 绿色冰淇淋    时间: 2012-6-6 09:14
{:soso_e117:}
作者: hhit2009    时间: 2012-6-6 21:40
chenlinfeng88 发表于 2012-6-2 10:33 ' a# V5 g% Q6 W5 ]- Y
嗯,讲的很好~! w' {+ y, e0 E7 G
不过加三极管可能会影响响应速度,通讯速率高了可能会出错。
( ^, U0 Z9 s( b7 d8 {# h6 p/ k
呵呵  确实存在这种问题
作者: ygd8718    时间: 2012-6-7 15:51
上拉电阻的有无意义不大。直接用两个100R电阻。串在TXD、RXD线上即可。
作者: aliu_us    时间: 2012-6-8 17:08
是呀,有人给说说7楼的工作原理不?
作者: minchaobo    时间: 2012-6-11 09:46
一般搞个光耦就行了,HCPL-063A,
作者: clp783    时间: 2012-6-21 17:51
应该是不会有问题的,你的MCU就只能3.3V供电么
作者: chenlinfeng88    时间: 2012-6-22 18:46
clp783 发表于 2012-6-21 17:51 8 U0 a. C9 O7 X+ |: R, C) D  m
应该是不会有问题的,你的MCU就只能3.3V供电么
3 R6 U0 l- t( ^# v2 S
没有问题?你算算灌电流,主MCU只能使用3.3V供电。
作者: clp783    时间: 2012-6-26 12:49
chenlinfeng88 发表于 2012-6-22 18:46
: T3 v' y# n  p. t) P4 x2 X没有问题?你算算灌电流,主MCU只能使用3.3V供电。

: a3 y2 N( X% H. ^- X( L7 o不用算,我早这样试过了,产品一样出货
作者: chenlinfeng88    时间: 2012-6-26 21:54
clp783 发表于 2012-6-26 12:49
3 M) @; q# D8 N. A$ N不用算,我早这样试过了,产品一样出货

+ q) E% W* X* {: }  h我很感兴趣,你们的量有多大?产品使用寿命要求是几年?
作者: 445705109    时间: 2012-6-27 12:16
学习学习
作者: mening    时间: 2012-6-27 22:37
估计mcu是5v兼容的,can芯片是3.3v兼容的。
作者: ArthurGXH    时间: 2012-6-28 22:10
如果3.3V的芯片的IO口可以承受5V(像STM32F103绝大部分IO口都可以承受5V),则没有问题。 3.3V芯片选择开漏输出。若要求速度快,上拉电阻可以再小点。根本不存在影响芯片寿命的问题。
作者: leavic    时间: 2012-6-29 13:04
这是个扯淡的设计,如果是同电平的就不需要上拉,如果担心门限问题,就用两个mos管做level shifter
作者: fyh629    时间: 2012-7-2 16:25
学习了,不过232通信别用这种设计,我试过,误码率挺高
作者: xiaomin311    时间: 2012-7-4 09:33
了解一下$ I' _9 u3 S5 ?/ S

作者: chenlinfeng88    时间: 2012-7-4 20:57
fyh629 发表于 2012-7-2 16:25 5 j0 E. `, L2 g+ Z4 ?7 u
学习了,不过232通信别用这种设计,我试过,误码率挺高
7 F* L' Z0 G' d3 k4 B2 J: `
当时的波特率是多少?
作者: fyh629    时间: 2012-7-10 10:17
chenlinfeng88 发表于 2012-7-4 20:57 ) }3 i* p1 `) W3 O
当时的波特率是多少?
7 P( v) J5 F) V/ N. x) @; \: I  |& X
波特率很低2400
作者: chenlinfeng88    时间: 2012-7-10 19:18
fyh629 发表于 2012-7-10 10:17 * [* _6 F/ W1 f/ v/ {
波特率很低2400

0 }- \7 e, H( [9 V7 F0 P2 P所以进一步说明这个电路是有问题的
作者: ArthurGXH    时间: 2012-7-12 00:07
chenlinfeng88 发表于 2012-7-10 19:18 ! a6 Y/ z9 p3 m. T& L8 D# X$ m. E
所以进一步说明这个电路是有问题的
1 P" ]3 }5 w) o, y( R) l
不要这么武断。这要看3.3V MCU的规格书 及 嵌入式程序的实现方法。 如果3.3V MCU的IO是兼容5V的,且有开漏输出功能,那么完全可以用程序模拟出一个串口。当然这种设计方法并不好,加三极管来匹配电平既便宜又好使。
作者: ruoyun    时间: 2012-7-12 10:23
不行的,加一个电平转换芯片,起保护作用,要不然前面的芯片很可能烧毁
作者: ArthurGXH    时间: 2012-8-8 20:36
ArthurGXH 发表于 2012-7-12 00:07
" V' N" P/ H$ w: Y不要这么武断。这要看3.3V MCU的规格书 及 嵌入式程序的实现方法。 如果3.3V MCU的IO是兼容5V的,且有开漏 ...
( w  ~8 g7 V- w. u& U
我再更正一下,楼主那个原理图设计的没有缺陷,见下图。

PIC18F87J11.PNG (185.91 KB, 下载次数: 3)

PIC18F87J11.PNG

作者: chenlinfeng88    时间: 2012-8-13 22:17
本帖最后由 chenlinfeng88 于 2012-8-13 23:48 编辑 + B) k, @4 m! c" Y) }
ArthurGXH 发表于 2012-8-8 20:36 ' r! X, ?( E; P1 f' J3 v; ~3 A# ]" l
我再更正一下,楼主那个原理图设计的没有缺陷,见下图。
  ^' F  V5 S6 s  c& T
  d. o/ G. X* W' q! R; J. f
谢谢热心的ArthurGXH,但是有个疑问,如果整个线路输出为高电平3.3V,直接上拉如何让右边的电平是5V?
* }( T" ^. H) L' _6 g4 {0 L

电平.JPG (12.29 KB, 下载次数: 3)

电平.JPG

作者: hkljy    时间: 2012-8-15 12:31
10楼正解
作者: PHBWY    时间: 2012-8-15 13:39
中间串1K电阻就OK了
作者: yuyanqing2003    时间: 2012-8-15 13:57
can通信部分 can transceiver和can controler最好用同一种电平,不要像楼主这样。直接选5v的mcu吧
作者: kevin890505    时间: 2012-8-15 21:26
chenlinfeng88 发表于 2012-8-13 22:17 # L* U' C2 c: M: Z) z  P
谢谢热心的ArthurGXH,但是有个疑问,如果整个线路输出为高电平3.3V,直接上拉如何让右边的电平是5V?
- I3 E7 F# r6 ]: ?. Z; X ...
& C3 N- _4 A8 Z0 {+ o& Z4 C" b4 o
这是最基本的OC/OD门    比较器的输出都是OC/OD门   输出电压取决于上拉的电压   3.3V为高时候  三极管打开   输出是0 也就是低电平    3.3V端为0V 三极管关闭 输出就是上拉电平了自然 看附件图片

QQ截图20120815212449.png (6.36 KB, 下载次数: 3)

OC门

OC门

作者: chenlinfeng88    时间: 2012-8-16 07:37
yuyanqing2003 发表于 2012-8-15 13:57 + R% y( R( k( h2 ~2 P$ y' B) H
can通信部分 can transceiver和can controler最好用同一种电平,不要像楼主这样。直接选5v的mcu吧

( k' R" y3 e2 k$ b# }6 b有没有3.3V的CAN收发器?
作者: chenlinfeng88    时间: 2012-8-16 07:59
kevin890505 发表于 2012-8-15 21:26 7 H0 Z( e2 W4 R+ i
这是最基本的OC/OD门    比较器的输出都是OC/OD门   输出电压取决于上拉的电压   3.3V为高时候  三极管打 ...
2 U  c% Z- B/ a+ j
1、你看看我的原图和ArthurGXH的图,如果直接接上拉电阻,如何实现高电平时输出为5V?6 |# X, B7 ?6 N& W
2、你的图上有个疑问,你的VCC是多少V?还有你这个是芯片的内部IO口结构吗?如果不是那还是要在外部加三极管进行电平转换的。
作者: kevin890505    时间: 2012-8-16 09:20
本帖最后由 kevin890505 于 2012-8-16 09:23 编辑
7 {- [6 |7 a5 c0 k" `% K" Y. Y, P
chenlinfeng88 发表于 2012-8-16 07:59
# z9 n) [8 t( p) L' U1、你看看我的原图和ArthurGXH的图,如果直接接上拉电阻,如何实现高电平时输出为5V?2 u3 J+ G' S5 i; g: E3 L- l) p
2、你的图上有个疑 ...

4 R5 @6 D9 J( |& W& I
! D  l$ K( d5 D: \& {首先你要明确一点:这种上大拉好多情况是不能这么用的    只针对单片机的端口为OCOD门 或者单片机可以兼容5V电平时候才可以,当配置为OC门时候单片机内部电路自己会完成这个逻辑转换,你需要高电平  输出5V就是高  不会说你要把逻辑反向问题,具体的你可以找个具有OC输出功能的单片机看下就知道了,  或者你找你们写软件的同事问下就直达了,现在单片机全部都是多功能复用引脚,配置过程是用软件实现的。
  p  Y- F: P  _( v1 |& T
) b7 }8 o# x8 H9 }, e9 ^; d( I% L就是说程序写1   对应端口就是5V的高电平  单片机自动会做反向处理   你配置IO的过程就是单片机自己完成这个内部逻辑转换的过程
作者: any_014    时间: 2012-8-16 13:55
kevin890505 发表于 2012-8-16 09:20 7 D1 o# z. i3 S- E9 q! O
首先你要明确一点:这种上大拉好多情况是不能这么用的    只针对单片机的端口为OCOD门 或者单片机可以兼 ...
8 `: }4 |) \6 B6 Z' k4 B8 B
我有疑问。OC/OD输出上拉5V作为输出我觉得没什么问题。但如何实现输入电平转换呢?LZ的图是串口接CAN芯片吧。RXD如何解决?
作者: yuyanqing2003    时间: 2012-8-16 13:59
chenlinfeng88 发表于 2012-8-16 07:37
9 `+ {9 b$ V: E4 @1 U# D- _3 O有没有3.3V的CAN收发器?

: ^  i# s! o7 _. R这个是有的TI的,但是如果严格按照ISO标准,3v3的can transceiver是非标的,不能通过ISO的硬件规范定义的电平,所以最好不要选用。
作者: chenlinfeng88    时间: 2012-8-16 22:18
kevin890505 发表于 2012-8-16 09:20 : s9 R9 R2 v" ^& l7 o' y( {
首先你要明确一点:这种上大拉好多情况是不能这么用的    只针对单片机的端口为OCOD门 或者单片机可以兼 ...
4 t9 W# r3 B% n) G$ A: j  U/ z- ]0 x$ D
你说的是另外一个问题了。。。
作者: chenlinfeng88    时间: 2012-8-16 22:22
yuyanqing2003 发表于 2012-8-16 13:59
$ `! ?2 O+ ?5 C9 n3 i这个是有的TI的,但是如果严格按照ISO标准,3v3的can transceiver是非标的,不能通过ISO的硬件规范定义的 ...

. t. a2 T0 a8 Y5 ?1 V* i! q那么就只能用这个设计了,MCU3.3V没办法变
作者: kevin890505    时间: 2012-8-16 23:00
chenlinfeng88 发表于 2012-8-16 22:18 2 e7 H8 |- ^, ^- K7 K% H' ~9 Z
你说的是另外一个问题了。。。

& ~5 N2 D5 E5 d/ Z我是说可以这么接的情况   要么OD门,要么可以容忍5V电压  
  ?. X5 {( c  c! f/ V! J否则接了没什么用 而且可能烧坏单片机   所以  你的怀疑有道理   要看具体单片机而定 看TXD,RXD端口功能就知道了。
作者: kevin890505    时间: 2012-8-16 23:01
any_014 发表于 2012-8-16 13:55 ) ^' [1 z: N) Z3 G
我有疑问。OC/OD输出上拉5V作为输出我觉得没什么问题。但如何实现输入电平转换呢?LZ的图是串口接CAN芯片 ...
% K0 k3 R  G- K; O4 p3 a0 u( f2 A0 J
高电平转低电平  更简单了  稳压 分压  很多办法   对单片机而已 内部多几个MOS而已  
作者: any_014    时间: 2012-8-17 08:44
kevin890505 发表于 2012-8-16 23:01
. ]1 T' P3 ]1 @高电平转低电平  更简单了  稳压 分压  很多办法   对单片机而已 内部多几个MOS而已

0 N4 e6 _7 R8 Y你是说3.3V的单片机内部已实现了作为输入口的5V到3.3V的电压转换?还是需要在IO口外额外加分压电阻或稳压电路?
作者: kevin890505    时间: 2012-8-17 22:35
any_014 发表于 2012-8-17 08:44 # o" p6 ~8 U4 I: Q! r8 Z4 I
你是说3.3V的单片机内部已实现了作为输入口的5V到3.3V的电压转换?还是需要在IO口外额外加分压电阻或稳压 ...

: `+ n+ ]# ~. L单片机内部电路处理好了  就是说如果你寄存器配置的是A,  就是通用IO口 3.3V直接。如果你寄存器配置的是B,就是OD门   具体内部就是设计IC的人考虑的了。简单的就像下面这个 1 p) E% e& w0 @0 w

3.3-5.jpg (13.14 KB, 下载次数: 9)

3.3-5.jpg

作者: kevin890505    时间: 2012-8-17 23:18
any_014 发表于 2012-8-17 08:44 & E: E1 ^- h8 P9 X
你是说3.3V的单片机内部已实现了作为输入口的5V到3.3V的电压转换?还是需要在IO口外额外加分压电阻或稳压 ...

' n4 O7 M5 @1 l7 Q. W终于找到了  给你2个图 看了就懂  

1.jpg (31.78 KB, 下载次数: 10)

结构图

结构图

2.jpg (25.93 KB, 下载次数: 9)

寄存器配置

寄存器配置

作者: any_014    时间: 2012-8-19 09:36
kevin890505 发表于 2012-8-17 23:18
- G, B( R6 m1 ^/ ]终于找到了  给你2个图 看了就懂

1 O' H8 |$ \5 Q6 s0 c输出设为OD,IO口外接5V上拉。) {9 g/ |" T5 {% A5 M; b" J* x
输入设为什么状态?悬浮?
作者: 34052762    时间: 2012-8-20 22:00
这是CAN收发器,不是串口232。防电流倒灌,在RX加一个单向二极管就可以。




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2