独闷闷网
标题: 当需要用到RS232和RS485两个模块时?如何才能自动切换?已解答? [打印本页]
作者: xiao_yp2014 时间: 2015-6-10 22:37
标题: 当需要用到RS232和RS485两个模块时?如何才能自动切换?已解答?
最近做了一个项目,需要用到RS232和RS485(单片机只用一个串口),一般情况下,都是用两个跳线冒或者是拨码开关作硬件切换就可以了,但是,不能打两个芯片的输出接在一起,所以这次这个比较特殊,板子是放在一个盒子里面,手动切换就不方便,只有想办法要么通过软件,要么通过硬件切换。我还是打算在硬件上面动手,就实现一个简单的功能,硬件自动切换。后来就想起我当初在做电视机维修用到的音视频通道切换芯片74HC4052。
功能:当DB9端口有线连接时,这个时候选择用RS232。
当RS485端口有连接时,选择用RS485。
所用到的主要器件:
1、RS3232(3.3V芯片)
2、RS3485(3.3V芯片)
3、74HC4052
上面1,2两种基本上都使用过了,就不需要说了,主要说明一下74HC4052。
74HC4052:是一个双刀四掷模拟双向开关。
引 脚 图
引脚功能:
A0~A3:A通道通道输入/输出端
B0~B3:B通道通道输入/输出端
AN: A通道公共输出/输入端
BN: B通道公共输出/输入端
S0,S1:地址端
E:使能端(低电平有效,一般和地接在一起)
VEE:模拟信号接地端(一般和数字地接在一起)
GND:数字信号接地端
VCC:电源+
74HC4052相当于一个双刀四掷开关,具体接通哪一通道,由输入地址码S0,S1地址端来决定。其真值表如下
电路图如下:
工作原理:高电平接通RS232,低电平接通RS485。
RS232的输出接在74HC4052的A3和B3,因为当S0和S1是高电平的时候就接通这两路。
RS485的输出接在74HC4052的A0和B0,因为当S0和S1是低电平的时候就接通这两路。
这里需要注意的是,一定不要把串口通信的两根线弄反了,也就是RXD和TXD两根线。
S0和S1我是接在DB9针的4脚,因为我的串口线这个引脚是高电平,当这个线接上后,4脚会有一个5V的电平(ON_RS232),经过R97下拉电阻,提供74HC4052开关地址选择信号。就能够进行通道选择。
限于能力和水平有限,如有不对之处,请大家指出。。。。。。
作者: jianhong_wu 时间: 2015-6-12 01:02
你分享的都是很实用的电路,非常感谢。
作者: xiao_yp2014 时间: 2015-6-13 11:52
不客气
作者: xiao_yp2014 时间: 2015-6-26 08:46
用继电器也是可以的,有一种信号继电器,我没有选用它,因为用继电器是第一时间都能想到,所以,我分享的是以另一种方式,来达到相同的功能,目的,就是能够多一种方法。
欢迎光临 独闷闷网 (http://dumenmen.com/) |
Powered by Discuz! X3.2 |