利用多路复用器实现准多点RS-232通信
Abstract
本文介绍的电路允许四个远端RS-232收发器共享一个UART。双四选一多路复用器连接收发器IC1与四个远端收发器构成一个网络。
通过RS-232接口,一个µC和多个远端系统通信时会遇到一些问题,因为大多数µC仅包含一个UART,该接口是同步端口和异步端口间的桥梁。利用下图中的多路复用器IC2,多个通道(本例为四路)可以共享一个UART。双四选一多路复用器连接收发器IC1与四个远端收发器IC3至IC6构成一个网络。下面的表中定义了通道选择代码。例如,选择通道1时IC1与IC3通信,IC4至IC6未加载。远端收发器内部的下拉电阻使未选中的接收器输出处于确定状态。
选中通道 | A1 | A0 | EN |
断开所有通道 | X | X | 0 |
通道1 (IC3) | 0 | 0 | 1 |
通道2 (IC4) | 0 | 1 | 1 |
通道3 (IC5) | 1 | 0 | 1 |
通道4 (IC6) | 1 | 1 | 1 |
该电路的供电范围(3V至5.5V)能够兼容于3V或5V逻辑。IC2直接由IC1的V+和V-端供电,IC1的±5.5V输出由内部电荷泵产生。多路复用器可处理满摆幅信号,因此,利用IC1供电能够保证RS-232信号直接通过,无需考虑其幅度大小。每路收发器的电荷泵需要四个小电容(未在图中画出),电容值与VDD范围有关,但不超出0.47µF。需要注意的是,当从IC1的电荷泵输出端V+和V-拉出过多电流时会导致电压跌落,并会造成IC的RS-232信号电平达不到指标要求。
类似文章发表于2000年9月28日的EDN。