最近做了一個項目,需要用到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開關地址選擇信號。就能夠進行通道選擇。
限于能力和水平有限,如有不對之處,請大家指出。。。。。。
|