EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Serial port multiplexing? How to?

Started by ElderUberGeek July 3, 2007
TT_Man wrote:
> "Marra" <cresswellavenue@talktalk.net> wrote in message > news:1183506500.717357.187590@o61g2000hsh.googlegroups.com... >> On 3 Jul, 10:16, ElderUberGeek <aribl...@gmail.com> wrote: >>> Hi. I have only one available UART on a micro but need to connect >>> two serial devices (chips on the same board). Is there some type of >>> chip that can be used that will accept two serial inputs and then I >>> can use a GPIO pin to switch between the sources? The two serial >>> sources need not be used together (meaning when one is being used, >>> the other is not required). >>> >>> Thanks >> >> If both dont communicate at same time a simple and gate would do the >> trick. >> > Simpler than that.... a few diodes as he doesn't have concurrent I/O > conflicts....Rxd on Micro may need a pullup... > > Tx1 -I<I------I------ RXd on Micro > I > Tx2 -I<I------I > > Tx on Micro---I-------Rxd1 > I------Rxd2
If you're dealing with a breadboard, maybe. For a product, in SMT, not so sure. One logic device may be cheaper to put down (and allow a more reliable design) than a handful of diodes. To the OP: if your protocol is master/slave, and you can guarantee no Rx unless your Tx demands a response, then just mux both at the UART I/O. If you have multiple possible concurrent Rx sources, you're out of luck. UART the fastest and bit-bang the slowest. Steve http://www.fivetrees.com
In article <KpCdnZWfD_Z_GBDbRVnyiQA@pipex.net>, 
steve@NOSPAMTAfivetrees.com says...
> TT_Man wrote: > > "Marra" <cresswellavenue@talktalk.net> wrote in message > > news:1183506500.717357.187590@o61g2000hsh.googlegroups.com... > >> On 3 Jul, 10:16, ElderUberGeek <aribl...@gmail.com> wrote: > >>> Hi. I have only one available UART on a micro but need to connect > >>> two serial devices (chips on the same board). Is there some type of > >>> chip that can be used that will accept two serial inputs and then I > >>> can use a GPIO pin to switch between the sources? The two serial > >>> sources need not be used together (meaning when one is being used, > >>> the other is not required). > >>> > >>> Thanks > >> > >> If both dont communicate at same time a simple and gate would do the > >> trick. > >> > > Simpler than that.... a few diodes as he doesn't have concurrent I/O > > conflicts....Rxd on Micro may need a pullup... > > > > Tx1 -I<I------I------ RXd on Micro > > I > > Tx2 -I<I------I > > > > Tx on Micro---I-------Rxd1 > > I------Rxd2 > > If you're dealing with a breadboard, maybe. For a product, in SMT, not > so sure. One logic device may be cheaper to put down (and allow a more > reliable design) than a handful of diodes. > > To the OP: if your protocol is master/slave, and you can guarantee no Rx > unless your Tx demands a response, then just mux both at the UART I/O. > If you have multiple possible concurrent Rx sources, you're out of luck. > UART the fastest and bit-bang the slowest. > >
That's a good point. When I muxed my serial port, one device was a satellite transceiver that had it's own buffer, and was primarily a send-only device. The other device was a GPS, which I could set up once at the beginning and read at any time. I only needed the GPS data about once each 5 minutes, as oceanographic buoys aren't supposed to move too far in that time frame. They were much better candidates for multiplexing than the control console port, which could receive user input at any time. Mark Borgerson
Hi,
I Have the same requirement of demultiplexing one serial port into
multiple, and one of the serial port should be selected depending on the
input select signals. I used 74HC4051 8 channel multiplexer or
demultiplexer. It can be applied to both analog and digital multiplexing
and demultiplexing. 
I used the GPIO pins for the select signals (s0,s1,s2) and the enable
pin.
and i have given the TX pin of my device to Z input. 

But, unfortunately the data is coming on all the output pins of 74hc4051
IC.
Is there any other way of demultiplexing the TX and multiplexing the RX
pin.

Any suggestions would be appreciated.

Thanks,
somu. 



The 2024 Embedded Online Conference