xiao_yp2014 发表于 2015-6-10 22:37:06

当需要用到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:19

你分享的都是很实用的电路,非常感谢。

xiao_yp2014 发表于 2015-6-13 11:52:27

jianhong_wu 发表于 2015-6-12 01:02
你分享的都是很实用的电路,非常感谢。

不客气                     

xiao_yp2014 发表于 2015-6-26 08:46:33

xiao_yp2014 发表于 2015-6-13 11:52
不客气

用继电器也是可以的,有一种信号继电器,我没有选用它,因为用继电器是第一时间都能想到,所以,我分享的是以另一种方式,来达到相同的功能,目的,就是能够多一种方法。
页: [1]
查看完整版本: 当需要用到RS232和RS485两个模块时?如何才能自动切换?已解答?