• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

关于RS232电平转换电路 有图q

原理明白了,但不知道C6和R13这两该如何 选择?有什么依据么?

全部回复(34)
正序查看
倒序查看
gg5340
LV.5
2
2014-02-18 16:26
这里面的C6和R13可以去掉的,不影响正常串口通信的
0
回复
2014-02-25 00:23
干嘛不用max232
0
回复
2014-02-25 00:24
@木槿年华
干嘛不用max232
嗯,现在用分立元件做232电平转换的,貌似绝迹了。
0
回复
2014-02-25 00:25
我感觉通过R13和C6可以控制上升沿和下降沿的的陡峭程度,所以选个适中的值就可以,比如R13取1K,C6取1uF。只要通讯速度不是很快,就没有问题的哈。
0
回复
2014-02-25 00:26
可以找个仿真软件仿真一下,就知道选多大的合适了
0
回复
2014-02-25 00:26
大概4.7k或510pF也行的,可以在D11旁并个2k的电阻的,保证管子RxD的端的管子可以充分点导通的。
0
回复
2014-02-25 00:27
@庸人自扰
我感觉通过R13和C6可以控制上升沿和下降沿的的陡峭程度,所以选个适中的值就可以,比如R13取1K,C6取1uF。只要通讯速度不是很快,就没有问题的哈。
我觉的通讯速度快应该不是问题,通讯速度慢才是问题,C6一次充电后,最坏的情况下RXD收10Bit 0,同时TXD写10Bit 1,这样C6要保证在这段时间内将PC端的RXD拉到并保持在-3~-12V
0
回复
2014-02-25 00:27
@小小粉刷匠
大概4.7k或510pF也行的,可以在D11旁并个2k的电阻的,保证管子RxD的端的管子可以充分点导通的。
这主要应该考虑C6的放电吧
0
回复
2014-02-25 00:27
@萍水相逢1314
可以找个仿真软件仿真一下,就知道选多大的合适了
玩不转仿真
0
回复
2014-02-25 00:28
可以进行简单的低速通讯。
0
回复
2014-02-25 00:33
@爱在春天
这主要应该考虑C6的放电吧

  你可以拼个电路试试,或者大概推算一下的。

  其实PN接的电阻等比于2K来说,是比较小的,在导通的状态下。

  但是在未完全导通时呢?你的说法我不反对,Uart的电平,逻辑1电平是-3V--12V,逻辑0电平是+3V-+12V。按照这个思路去理解一下。

0
回复
2014-02-25 00:38
@爱在春天
我觉的通讯速度快应该不是问题,通讯速度慢才是问题,C6一次充电后,最坏的情况下RXD收10Bit0,同时TXD写10Bit1,这样C6要保证在这段时间内将PC端的RXD拉到并保持在-3~-12V

  楼主说的有道理,之前对电路的工作原理不太了解(主要是对总线上的TXD不发送数据时默认为-15V的这个条件不知道),所以我上面说的不准确。

  关于工作原理我补充一下:

  计算机串口通信的RS-232电平:用正负电压来表示逻辑状态,逻辑1= -3V~-15V,逻辑0=+3~+15V。单片机串口通信的CMOS电平,逻辑1接近VDD,逻辑0接近VSS.有的单片机兼容TTL电平。计算机串口和单片机串口两者之间通信就必须进行RS-232/CMOS电平之间的转换,集成转换芯片就可以实现两者之间的转换,比如华清远见用的FS2410开发板用的是MAX3232,如果想节约成本,自己搭建电路进行转换也可以。

  转换的原理图如下:

  1、RS232_RXD:为RS-232电平信号接收端,RS232_TXD脚为RS-232电平信号发送端,没有数据通信的时候RS232_TXD端总是保持在-3V~-15V。由于二极管D1与电容C4的作用使得在二极管D1与电容C4交接处的电压也保持在-3V~-15V。

  2、图中的Vcc应该是+5V,USART_TXD接单片机TXD,USART_RXD接单片机RXD。当USART_TXD为"0"时,Q1导通,则RS232_RXD电压约为+5V,这个电压在+3~+15V之间,根据RS232电平,它是"0";当USART_TXD为"1"时,Q1截止,从1中我们得知这个时候USART_TXD应该是保持RS232电平逻辑的“1”。

  3、从RS232转换为CMOS电平那就简单了,当RS232_TXD为"1",即-3~-15V时,Q2截止,USART_RXD电压约为5V,为"1";当RS232_TXD为"0"时,Q4导通,电压为0,电平为"0"。

  因此楼主所说的电容和电阻确实是由通讯波特率的最慢情况来决定。计算过程如下:

  假设通讯波特率为9600bit/s

  那么电容必须维持10个Bit低电平的时间长度,(1/9600)*10≈10e-3s;

  假设电容取10uF那么,根据电容电压衰减0.707时的公式T=2πRC推出R≈15.92欧姆,可以估出电阻的取值要大于16欧姆便可以正常工作了。

  所以上图中R取5.1K远大于理论电阻最小值,在9600波特率的条件下满足要求~

0
回复
2014-02-25 00:39
集成的用多了。研究研究分立的也不错。
0
回复
2014-02-25 00:39
现在直接用芯片的多
0
回复
2014-02-25 00:40
@半岛铁盒
  楼主说的有道理,之前对电路的工作原理不太了解(主要是对总线上的TXD不发送数据时默认为-15V的这个条件不知道),所以我上面说的不准确。  关于工作原理我补充一下:  计算机串口通信的RS-232电平:用正负电压来表示逻辑状态,逻辑1=-3V~-15V,逻辑0=+3~+15V。单片机串口通信的CMOS电平,逻辑1接近VDD,逻辑0接近VSS.有的单片机兼容TTL电平。计算机串口和单片机串口两者之间通信就必须进行RS-232/CMOS电平之间的转换,集成转换芯片就可以实现两者之间的转换,比如华清远见用的FS2410开发板用的是MAX3232,如果想节约成本,自己搭建电路进行转换也可以。  转换的原理图如下:[图片]  1、RS232_RXD:为RS-232电平信号接收端,RS232_TXD脚为RS-232电平信号发送端,没有数据通信的时候RS232_TXD端总是保持在-3V~-15V。由于二极管D1与电容C4的作用使得在二极管D1与电容C4交接处的电压也保持在-3V~-15V。  2、图中的Vcc应该是+5V,USART_TXD接单片机TXD,USART_RXD接单片机RXD。当USART_TXD为"0"时,Q1导通,则RS232_RXD电压约为+5V,这个电压在+3~+15V之间,根据RS232电平,它是"0";当USART_TXD为"1"时,Q1截止,从1中我们得知这个时候USART_TXD应该是保持RS232电平逻辑的“1”。  3、从RS232转换为CMOS电平那就简单了,当RS232_TXD为"1",即-3~-15V时,Q2截止,USART_RXD电压约为5V,为"1";当RS232_TXD为"0"时,Q4导通,电压为0,电平为"0"。  因此楼主所说的电容和电阻确实是由通讯波特率的最慢情况来决定。计算过程如下:  假设通讯波特率为9600bit/s  那么电容必须维持10个Bit低电平的时间长度,(1/9600)*10≈10e-3s;  假设电容取10uF那么,根据电容电压衰减0.707时的公式T=2πRC推出R≈15.92欧姆,可以估出电阻的取值要大于16欧姆便可以正常工作了。  所以上图中R取5.1K远大于理论电阻最小值,在9600波特率的条件下满足要求~
我用multisim仿真过,不过我还是觉得芯片好用
0
回复
2014-02-25 00:41
@半岛铁盒
  楼主说的有道理,之前对电路的工作原理不太了解(主要是对总线上的TXD不发送数据时默认为-15V的这个条件不知道),所以我上面说的不准确。  关于工作原理我补充一下:  计算机串口通信的RS-232电平:用正负电压来表示逻辑状态,逻辑1=-3V~-15V,逻辑0=+3~+15V。单片机串口通信的CMOS电平,逻辑1接近VDD,逻辑0接近VSS.有的单片机兼容TTL电平。计算机串口和单片机串口两者之间通信就必须进行RS-232/CMOS电平之间的转换,集成转换芯片就可以实现两者之间的转换,比如华清远见用的FS2410开发板用的是MAX3232,如果想节约成本,自己搭建电路进行转换也可以。  转换的原理图如下:[图片]  1、RS232_RXD:为RS-232电平信号接收端,RS232_TXD脚为RS-232电平信号发送端,没有数据通信的时候RS232_TXD端总是保持在-3V~-15V。由于二极管D1与电容C4的作用使得在二极管D1与电容C4交接处的电压也保持在-3V~-15V。  2、图中的Vcc应该是+5V,USART_TXD接单片机TXD,USART_RXD接单片机RXD。当USART_TXD为"0"时,Q1导通,则RS232_RXD电压约为+5V,这个电压在+3~+15V之间,根据RS232电平,它是"0";当USART_TXD为"1"时,Q1截止,从1中我们得知这个时候USART_TXD应该是保持RS232电平逻辑的“1”。  3、从RS232转换为CMOS电平那就简单了,当RS232_TXD为"1",即-3~-15V时,Q2截止,USART_RXD电压约为5V,为"1";当RS232_TXD为"0"时,Q4导通,电压为0,电平为"0"。  因此楼主所说的电容和电阻确实是由通讯波特率的最慢情况来决定。计算过程如下:  假设通讯波特率为9600bit/s  那么电容必须维持10个Bit低电平的时间长度,(1/9600)*10≈10e-3s;  假设电容取10uF那么,根据电容电压衰减0.707时的公式T=2πRC推出R≈15.92欧姆,可以估出电阻的取值要大于16欧姆便可以正常工作了。  所以上图中R取5.1K远大于理论电阻最小值,在9600波特率的条件下满足要求~
这为什么是0.707?
0
回复
2014-02-25 00:42
@yif的奇幻路程
我用multisim仿真过,不过我还是觉得芯片好用
用过集成的后,再回头来研究研究分立器件的也不错啊
0
回复
2014-02-25 00:42
@爱在春天
这为什么是0.707?
近似分析,比较好计算。其实应该是15V衰减到3V的时候的百分比,15V的时候是0.8。
0
回复
2014-02-25 00:43
@半岛铁盒
近似分析,比较好计算。其实应该是15V衰减到3V的时候的百分比,15V的时候是0.8。
收了,谢谢
0
回复
ddPoor
LV.2
21
2014-02-25 00:44
可以找个仿真软件仿真一下,就知道选多大的合适了
0
回复
2014-02-25 00:44
@ddPoor
可以找个仿真软件仿真一下,就知道选多大的合适了
没怎么玩过仿真软件,正想着学习学习
0
回复
2014-02-25 00:45
@半岛铁盒
  楼主说的有道理,之前对电路的工作原理不太了解(主要是对总线上的TXD不发送数据时默认为-15V的这个条件不知道),所以我上面说的不准确。  关于工作原理我补充一下:  计算机串口通信的RS-232电平:用正负电压来表示逻辑状态,逻辑1=-3V~-15V,逻辑0=+3~+15V。单片机串口通信的CMOS电平,逻辑1接近VDD,逻辑0接近VSS.有的单片机兼容TTL电平。计算机串口和单片机串口两者之间通信就必须进行RS-232/CMOS电平之间的转换,集成转换芯片就可以实现两者之间的转换,比如华清远见用的FS2410开发板用的是MAX3232,如果想节约成本,自己搭建电路进行转换也可以。  转换的原理图如下:[图片]  1、RS232_RXD:为RS-232电平信号接收端,RS232_TXD脚为RS-232电平信号发送端,没有数据通信的时候RS232_TXD端总是保持在-3V~-15V。由于二极管D1与电容C4的作用使得在二极管D1与电容C4交接处的电压也保持在-3V~-15V。  2、图中的Vcc应该是+5V,USART_TXD接单片机TXD,USART_RXD接单片机RXD。当USART_TXD为"0"时,Q1导通,则RS232_RXD电压约为+5V,这个电压在+3~+15V之间,根据RS232电平,它是"0";当USART_TXD为"1"时,Q1截止,从1中我们得知这个时候USART_TXD应该是保持RS232电平逻辑的“1”。  3、从RS232转换为CMOS电平那就简单了,当RS232_TXD为"1",即-3~-15V时,Q2截止,USART_RXD电压约为5V,为"1";当RS232_TXD为"0"时,Q4导通,电压为0,电平为"0"。  因此楼主所说的电容和电阻确实是由通讯波特率的最慢情况来决定。计算过程如下:  假设通讯波特率为9600bit/s  那么电容必须维持10个Bit低电平的时间长度,(1/9600)*10≈10e-3s;  假设电容取10uF那么,根据电容电压衰减0.707时的公式T=2πRC推出R≈15.92欧姆,可以估出电阻的取值要大于16欧姆便可以正常工作了。  所以上图中R取5.1K远大于理论电阻最小值,在9600波特率的条件下满足要求~
学习了!
0
回复
2014-02-25 00:46
@半岛铁盒
  楼主说的有道理,之前对电路的工作原理不太了解(主要是对总线上的TXD不发送数据时默认为-15V的这个条件不知道),所以我上面说的不准确。  关于工作原理我补充一下:  计算机串口通信的RS-232电平:用正负电压来表示逻辑状态,逻辑1=-3V~-15V,逻辑0=+3~+15V。单片机串口通信的CMOS电平,逻辑1接近VDD,逻辑0接近VSS.有的单片机兼容TTL电平。计算机串口和单片机串口两者之间通信就必须进行RS-232/CMOS电平之间的转换,集成转换芯片就可以实现两者之间的转换,比如华清远见用的FS2410开发板用的是MAX3232,如果想节约成本,自己搭建电路进行转换也可以。  转换的原理图如下:[图片]  1、RS232_RXD:为RS-232电平信号接收端,RS232_TXD脚为RS-232电平信号发送端,没有数据通信的时候RS232_TXD端总是保持在-3V~-15V。由于二极管D1与电容C4的作用使得在二极管D1与电容C4交接处的电压也保持在-3V~-15V。  2、图中的Vcc应该是+5V,USART_TXD接单片机TXD,USART_RXD接单片机RXD。当USART_TXD为"0"时,Q1导通,则RS232_RXD电压约为+5V,这个电压在+3~+15V之间,根据RS232电平,它是"0";当USART_TXD为"1"时,Q1截止,从1中我们得知这个时候USART_TXD应该是保持RS232电平逻辑的“1”。  3、从RS232转换为CMOS电平那就简单了,当RS232_TXD为"1",即-3~-15V时,Q2截止,USART_RXD电压约为5V,为"1";当RS232_TXD为"0"时,Q4导通,电压为0,电平为"0"。  因此楼主所说的电容和电阻确实是由通讯波特率的最慢情况来决定。计算过程如下:  假设通讯波特率为9600bit/s  那么电容必须维持10个Bit低电平的时间长度,(1/9600)*10≈10e-3s;  假设电容取10uF那么,根据电容电压衰减0.707时的公式T=2πRC推出R≈15.92欧姆,可以估出电阻的取值要大于16欧姆便可以正常工作了。  所以上图中R取5.1K远大于理论电阻最小值,在9600波特率的条件下满足要求~
D2作用是什么?
0
回复
2014-02-25 00:46
@谢谢你的爱1998加1
D2作用是什么?
防止三极管的BE级被反向电流击穿
0
回复
2014-02-25 00:47
@半岛铁盒
  楼主说的有道理,之前对电路的工作原理不太了解(主要是对总线上的TXD不发送数据时默认为-15V的这个条件不知道),所以我上面说的不准确。  关于工作原理我补充一下:  计算机串口通信的RS-232电平:用正负电压来表示逻辑状态,逻辑1=-3V~-15V,逻辑0=+3~+15V。单片机串口通信的CMOS电平,逻辑1接近VDD,逻辑0接近VSS.有的单片机兼容TTL电平。计算机串口和单片机串口两者之间通信就必须进行RS-232/CMOS电平之间的转换,集成转换芯片就可以实现两者之间的转换,比如华清远见用的FS2410开发板用的是MAX3232,如果想节约成本,自己搭建电路进行转换也可以。  转换的原理图如下:[图片]  1、RS232_RXD:为RS-232电平信号接收端,RS232_TXD脚为RS-232电平信号发送端,没有数据通信的时候RS232_TXD端总是保持在-3V~-15V。由于二极管D1与电容C4的作用使得在二极管D1与电容C4交接处的电压也保持在-3V~-15V。  2、图中的Vcc应该是+5V,USART_TXD接单片机TXD,USART_RXD接单片机RXD。当USART_TXD为"0"时,Q1导通,则RS232_RXD电压约为+5V,这个电压在+3~+15V之间,根据RS232电平,它是"0";当USART_TXD为"1"时,Q1截止,从1中我们得知这个时候USART_TXD应该是保持RS232电平逻辑的“1”。  3、从RS232转换为CMOS电平那就简单了,当RS232_TXD为"1",即-3~-15V时,Q2截止,USART_RXD电压约为5V,为"1";当RS232_TXD为"0"时,Q4导通,电压为0,电平为"0"。  因此楼主所说的电容和电阻确实是由通讯波特率的最慢情况来决定。计算过程如下:  假设通讯波特率为9600bit/s  那么电容必须维持10个Bit低电平的时间长度,(1/9600)*10≈10e-3s;  假设电容取10uF那么,根据电容电压衰减0.707时的公式T=2πRC推出R≈15.92欧姆,可以估出电阻的取值要大于16欧姆便可以正常工作了。  所以上图中R取5.1K远大于理论电阻最小值,在9600波特率的条件下满足要求~

  这个原理分析的清楚。

  赞一个。

  在HDMI的DDC上类似的应用也存在的。

0
回复
2014-02-25 00:56
@夜未央_凡轩
  这个原理分析的清楚。  赞一个。  在HDMI的DDC上类似的应用也存在的。

直接上原理图和扫描后的仿真结果。

请大家注意一下R4的变化情况,从16欧姆直接扫到128欧姆的,何时扫描到3v以上?至少要至80欧姆以上,平时我用的时候都是选合是2.2k+100uF.

NPN和PNP管用的型号与之前兄弟们看到的不一样,但是是常用型号。

至于输入的信号,大家请看参数。

可能有不合理的地方,请大家提出,本人修改后再上图.

以上的例子对于低波特率还是存在问题。

结果是很明显的,如果传输的位数多的情况下存在问题(这里不单单针对于UART了)。

我的输入信号是一个连续的二进制的输入的。

但问题是针对于RC(前面兄弟们提到的参数)的选择,其实在串口下是可行的。但是为了可靠的设计,我还是加深了一下。

可靠点,大家可以选个100uF加2.2k左右。

但是应用还是要结合实际考虑的。

基本上算是讲完我想说的了.真有点啰嗦的感觉

0
回复
2014-02-25 00:58
其实根本目的只有一个,降成本!低速工作基本不会出什么问题。
0
回复
gg5340
LV.5
29
2014-02-25 08:47
@木槿年华
干嘛不用max232
省钱啊,一个232最便宜的也要5块钱,分立器件才几角钱
0
回复
gg5340
LV.5
30
2014-02-25 08:49
@gg5340
这里面的C6和R13可以去掉的,不影响正常串口通信的
我以前做过这方面的电路,正常使用,跑9600没问题
0
回复
shenx123
LV.10
31
2014-02-25 09:45
@闪闪雪绒花
嗯,现在用分立元件做232电平转换的,貌似绝迹了。
图便宜的质量好吗?
0
回复