关于三极管作为RS232电平转换进行通信的一点个人总结.docx
《关于三极管作为RS232电平转换进行通信的一点个人总结.docx》由会员分享,可在线阅读,更多相关《关于三极管作为RS232电平转换进行通信的一点个人总结.docx(13页珍藏版)》请在冰豆网上搜索。
![关于三极管作为RS232电平转换进行通信的一点个人总结.docx](https://file1.bdocx.com/fileroot1/2023-1/26/ddd65d5c-1f10-4cab-afb5-bd89a0ccb1bc/ddd65d5c-1f10-4cab-afb5-bd89a0ccb1bc1.gif)
关于三极管作为RS232电平转换进行通信的一点个人总结
关于三极管作为RS232电平转换进行通信的一点个人总结
第一个版本:
就是我所说的adslmodem和PC通过RS232的接口这个电路图
图1
这个图通信是没有问题的,但是缺点不稳定,容易受到干扰,因为这个电路FYI朋友特别提到不是很不符合RS232的电气标准,但是通信绝对没问题。
我做过如下实验。
图2
图3(专门放大看看效果)
左边一块是为了进行和pc通信用到的一个华邦单片机,右上角的是一个通过232芯片的电平转换接口电路(为了有一个焊接DB9的2脚的地方,所以就用这个电路作桥梁力量根红线就是直接接到DB9的2脚和地),右下边的一个就是三极管电路了。
按照图1的解法搭建的一个。
单片机固定发送一字符串“WellcometotestRS232!
”,发现接收的情况还比较好。
只是在没有任何干扰的情况下,但是如果受不小心碰到引脚,那就会出现乱码了!
这对于通信的电路来说是致命的。
图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效果好多了。
这种通信不是很稳定,极易受到外界的干扰(我还没有模拟电源受到干扰的情况)。
经过以上分析,我觉得,应该在使用条件不是很苛刻的情况下,可以选择用如下电路:
文中如有错误地方,恳请斧正。
如果对你有帮助,请投我一票给点鼓励!
谢谢
∙系统分类:
模拟技术
∙用户分类:
原创
∙标签:
三极管RS232电平转换接口max232
发表评论阅读全文(4521)|回复(0)
评论
#re:
关于三极管作为RS232电平转换进行通信的一点个人总结2007-7-311:
16:
53zhonghuahun212
谢谢!
#re:
关于三极管作为RS232电平转换进行通信的一点个人总结2007-7-221:
20:
12羊习习
赞
帮你投票
#re:
关于三极管作为RS232电平转换进行通信的一点个人总结2007-7-414:
15:
11zhonghuahun212
FYI,看不到你的图片阿!
#3V/5VTTL/CMOSRS232LevelShifterforADSLModem2007-7-413:
16:
39FYI
下图(rs-232.gif)是敝人参考斑竹的创作,再结合图1,图5和图6所修改的仿真电路,主要针对ADSLModem串口设计,RXD部份请参考图1,ADSLMode内部已将RXD提高至3V,所以不需要连接VCC,R3作为限流,R7改为3.3Kohm,以便应付万一本本的RS232最低电平正负6V,输入负载只有3Kohm的最糟情况
参考MaximMAX232Datasheet可得知,RS232正常情形下,输入负载应为5Kohm,电平约正负10V或更低,而TTL/CMOS端的输入负载为400Kohm或更大,实测桌机的RS232DTR最大供应电流为7.5mA,略低于仿真电路所需最大电流(10V/7.7mA,12V/9.4mA),因此最好能够并联DTR和RTS,以确保可适用于各种品牌机器
以上如有谬误,恳请不吝批评指正
#rs-232.gif2007-7-413:
20:
09FYI
#rs-232.gif(retry)2007-7-50:
19:
16FYI
寄到您的信箱了,Java,Javascript也都打开了,这帖再不成的话,就请[您代劳,在此先行谢过
#rs-232.gif(3rdretry)2007-7-50:
47:
02FYI
敝人用的是Firefox,文件上传图片(rs-232.gif,5482bytes)后,"现在"于高级回覆明明还看得见,提交后却消失了,真是怪哉!
没想到竟然被这么一点小事给难倒了,敝人对于博客并不熟悉,敬请见谅
#再补充几点意见作为个人总结:
2007-7-52:
28:
41FYI
1.R1/R2/R6/R8电阻由10K提高到20K,在仿真中对于集电极电流并无明显影响,但是敝人知识浅薄,不知是否影响波特率(BaudRate)?
2.在仿真中,R3影响Q3基极电流,因此不可太小,否则会造成供电不足
3.R7之数值应该和RS232输入电阻匹配(标准值为5K),所以原先之设计为4.7K,假设在最糟的情形下PCTXD负电平为-6V,则PCRXD之负电平约为(-6V+0.7V)/2,已经不符合RS232标准(Mark须低于-3V),如果RS232输入电阻为3K,则输出电平更低,虽然MaximDS275技术文件提到,一般来说串口多半还可以辨别以正负2V为界线,不过敝人在此还是提出以上注意事项,R7=4.7K可以应付绝大多数情况,若降低R7,则应该同时提高C7
4.C7由1uF提高至22uF乃参考MaximDS275技术文件,没有什么特别意义,C7之负电平由PCTXD而来,所以只能支持半双工(Half-Duplex),也就是两边应避免同时传送数据,C7电荷决定可同时传送数据的时间长短,这也会受到R7影响
5.估计PCDSR和CTS各需消耗1.5mA~2mA电流,由于作用不大,断开则可以节省3mA~4mA
6.一般串口设备只用到TXD/RXD/GND,以上电路基于能省则省,所以并未连接设备端的VCC,请斑竹测量单片机RXD是否已经提高至3V/5V(Mark)?
若否,则只需增加将RXD串接10Kohm电阻,再接至设备端的VCC
#Re:
关于三极管作为RS232电平转换进行通信的一点个人总结2007-7-121:
18:
51FYI
真是一篇好文章,敝人仅补充几点粗浅的意见,供您参考
就敝人翻阅各式文件得知,桌机或本本的RS232串口已有限流,不超过8mA(一说10mA),因此通常不需限流电阻,由一般NullModem直接将DTR引至DSR,RTS引至CTS,即可得知,不知道这一点是否也可以推论到ADSLModem的串口?
相信对于设计此类电路应该有所帮助,其次,本本的串口电压可能低于桌机的串口电压,预估至少大于+6V或小于-6V,有别于桌机串口的正负10V~12V,但基本上仍然符合RS232标准+3V~+15V,-3V~-15V
关于C7提供负电平,不妨参考
MaximDS275线路供电的RS-232收发器芯片
Power-savingtransmitterstealspowerfromreceivesignal
其中解释了半双工的原因,因为在全双工的情形下,C7的电容量将会决定PCRXD正确动作的时间长短
图五和图六的关系,敝人以为先有图五后有图六,因为图六不但如您所分析Q3永远导通,更不合理的是5IN引脚(RXD)将远高于TTL/CMOS所需的+5V,这将会导致ADSLModem串口故障
图五基本上来说是合理的(半双工),如果在图六的Q3发射极加一个5V稳压管,应该就合理了,但是也只能用于连接8051等5VTTL/CMOS单片机,然而ADSLModem的电平是更低的3V,如果直接套用,则PCRXD引脚恐怕无法符合RS232所需的+3V~+15V,所以敝人正努力思索如何结合您的另一篇"用三极管实现3V与5V混合系统中逻辑器接口问题(原创)",是否只要在Q3基极加一个三极管?
PNP或NPN?
能否请您仿真一下?
#2007-7-121:
22:
26FYI
说错了,应该先有图六后有图五
#2007-7-121:
24:
17FYI
图五和图六的关系,敝人以为先有图六后有图五,因为图五不但如您所分析Q3永远导通,更不合理的是5IN引脚(RXD)将远高于TTL/CMOS所需的+5V,这将会导致ADSLModem串口故障
#re:
关于三极管作为RS232电平转换进行通信的一点个人总结2007-7-121:
54:
19zhonghuahun212
感谢FYI朋友的指导,其实我倒觉得先有图5,然后经过实践或者推理发现有问题,才修改为图6的。
其实这个关系并不是很重要,重要的是我们需要他给我们带来的便利。
根据你的意思,我基本上明白你要怎么做,是想先把modem的幅值由3V变为5V的,然后再接到三极管转换电平借口,对不对?
非常有意思的想法,我会进行全面的仿真。
但是我总觉得这样做的话,是不是搞得越来越复杂了?
还不如直接用一个芯片转换来的直接!
哈哈!
#2007-7-122:
53:
58FYI
图14蓝色波形既然是由MAX232产生的RS232电平,和单片机输出的红色波形(0V~+5V)比较起来,比例上并不像是正负10V
图14黄色波形在电压反转处的两处突波是因何产生?
何以第三个转折却并未见到?
不过既然是仿真,也就不能当真
一般三极管都有数十到数百MHz的工作频率,远高于PC串口的115200bps,而MAX232则最高可以支持250kbps,依您看,不稳定的因素和何者有关?
是否您把电流限制得太小了?
#2007-7-123:
41:
33FYI
搞这么复杂的原因是想塞进DB9塑胶壳中,既美观又便利,MAX232A16PINPDIP大了点,塞不进去,而且电平高出3V不少,敝人目前想到的是MAX3221,但SSOP太小,而且一般人也不容易买到,所以希望弄出一个人人都可以自己动手的电路,劳驾您多费心,到时大伙儿都来参考您的文章
另外,按照MaximDS275PDF的示范,C7电容倒是可以大一点,1uF可能太小了,您觉得10uF-22uF如何?
#re:
关于三极管作为RS232电平转换进行通信的一点个人总结2008-1-317:
01:
28David
受益匪浅啊
#re:
关于三极管作为RS232电平转换进行通信的一点个人总结2008-3-3110:
21:
41wang
对我有用.
#re:
关于三极管作为RS232电平转换进行通信的一点个人总结2008-7-1811:
04:
43xhcgy2003
非常好的资料,非常详细!
#re:
关于三极管作为RS232电平转换进行通信的一点个人总结2008-7-1812:
20:
19xtfnzz
顶一下吧!
#re:
关于三极管作为RS232电平转换进行通信的一点个人总结2008-7-2212:
33:
37golwatt
按照图中所示,DB9应是Male,这样图5图6中DB9的2脚应该是PCTXD,3脚是PCRXD。