原理明白了,但不知道C6和R13这两该如何 选择?有什么依据么?
关于RS232电平转换电路 有图q
楼主说的有道理,之前对电路的工作原理不太了解(主要是对总线上的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上类似的应用也存在的。
直接上原理图和扫描后的仿真结果。
请大家注意一下R4的变化情况,从16欧姆直接扫到128欧姆的,何时扫描到3v以上?至少要至80欧姆以上,平时我用的时候都是选合是2.2k+100uF.
NPN和PNP管用的型号与之前兄弟们看到的不一样,但是是常用型号。
至于输入的信号,大家请看参数。
可能有不合理的地方,请大家提出,本人修改后再上图.
以上的例子对于低波特率还是存在问题。
结果是很明显的,如果传输的位数多的情况下存在问题(这里不单单针对于UART了)。
我的输入信号是一个连续的二进制的输入的。
但问题是针对于RC(前面兄弟们提到的参数)的选择,其实在串口下是可行的。但是为了可靠的设计,我还是加深了一下。
可靠点,大家可以选个100uF加2.2k左右。
但是应用还是要结合实际考虑的。
基本上算是讲完我想说的了.真有点啰嗦的感觉