第一个版本:
就是我所说的adsl modem和PC通过RS232的接口这个电路图
图1
这个图通信是没有问题的,但是缺点不稳定,容易受到干扰,因为这个电路FYI朋友特别提到不是很不符合RS232的电气标准,但是通信绝对没问题。我做过如下实验。
图2
图3(专门放大看看效果)
左边一块是为了进行和pc通信用到的一个华邦单片机,右上角的是一个通过232芯片的电平转换接口电路(为了有一个焊接DB9的2脚的地方,所以就用这个电路作桥梁力量根红线就是直接接到DB9的2脚和地),右下边的一个就是三极管电路了。按照图1的解法搭建的一个。单片机固定发送一字符串“Wellcome to test RS232!”,发现接收的情况还比较好。只是在没有任何干扰的情况下,但是如果受不小心碰到引脚,那就会出现乱码了!这对于通信的电路来说是致命的。
图4
图4就是串口接收的信息。
2、还有一个电路就是带电容可以产生伏电压的。
图5
图5有个不同的地方就是很好的利用了串口的电气特性来偷电给三极管供电,还用到在DB9的PCTXD 不工作时维持逻辑1(-12V)的特性, 来对C7 充电, 以提供PCRXD 的负电平。但是这个电路有个很不合理的电管,串口的4、6、7、8这几个引脚我测量过,有输出电压应该在12V左右的,这个电压给图5中的9015供电,然后图五所示6out的应该是接到5V的系统上,所以不管则那样,9015始终是倒通的,DB9的2引脚始终保持在12V左右,无法达到我们需要的效果,这个通信不成功。
3、还有个对于上面来说综合了前面的优点,改进了不少。
图6
如图6所示,图6中电源采用5V供电,这就很好的避免了图5的那个问题了,因为9015的导通条件应该是TXD的电压比9015的供电电压低至少0.7V以上,才能保证很好的通信。所以图5中的偷电电压为12V左右,远比6out的电压5V大,不管如何,9015是倒通的。
如下便是仿真原理图和波形。
图7
图8
通过图8的波形基本上可以看出这种设计的缺陷。
另外,通过c7和PCTXD的特性产生如电压的波形也有。
图9
图7所示,蓝色的是TXD的波形,红色的是PCTXD的波形,通过这个波形图,可以清晰地看到当蓝色的波形为高电平是,红色的波形明显有负电压-7.611(我模拟的PCTXD的电压为-8V);当蓝色的波形时低电平的时候,红色的波形输出则是5V。这组参数说明完全符合RS232的逻辑特性和电气特性。
另外,还考虑了FYI朋友的半双工问题,我也模拟了一下。
图10
如图10所示,我采用开关的形式来模拟半双工的情形,根据方针的波形图来分析一下结果把。
图11
图12
图10种的两个示波器的图形分别对应图11和图12。通过示波器的数据显示,在切换开关的时候,完全符合要求,在不干扰通信的情况下,完全可以达到半双工的要求的。
另外我还用proteus模拟了一下单片机和串口进行通行的过程。
图12
图13时一个单片机--〉rs232---〉三极管组成rs232---〉模拟串口
图14
图14是对图13的三个特殊点进行示波器观察的波形。
黄色的波形时三极管输出的RXD的波形
蓝色的波形是三极管输入(RS232输出TXD)的波形
红色的波形是单片机的TXD输出波形。
通过这三个波形的对比,可以清晰地看出,三极管可以胜任代替max232进行电平转换的任务,但是前提条件是波特率不能太高,三极管选择有要求(具体要求我一时说不上来)。我仿真的时候遇到过用bc807代替9015的,但是效果很不好,用2sc1015效果好多了。这种通信不是很稳定,极易受到外界的干扰(我还没有模拟电源受到干扰的情况)。
经过以上分析,我觉得,应该在使用条件不是很苛刻的情况下,可以选择用如下电路: