Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

UART multiplexing or switching

2005-08-02 by Doug Sutherland

I wonder if anyone has ideas or suggestions for uart multiplexing,
or possibly switching. The solution I am trying to get to is this:
I have an x-scale host and I have an ARM7 that connects to various
devices. Three of the devices require uart IO. I would like to
find a way to switch modes such that each of these three devices
connects to either of the ARM processors. This way I can have a
low-power mode where the x-scale is sleeping, all control is done
on the ARM7. But for more advanced applications the x-scale wakes
up and takes over control of the three devices.

I have thought about several solutions, including:

1) I found an ARM7 with 4 UARTS, I could connect one to the x-scale
   and the other three to the devices. Then I could use embedded
   control characters in the serial data to/from the main host to
   identify its target device.

   However, I'd like the ports to appear as standard uarts on the
   x-scale for application use. Is it possible to write a virtual
   com driver that presents three uarts to the linux kernel, but
   physically there is only one mutiplexed port?

2) An ARM7 with 4 uarts could connect to two devices and two uarts
   on the main host. In pass through mode, the ARM7 simply passes
   data out the other uart. When the ARM7 is in control is can use
   the uarts to control devices instead. This seems simple and easy
   but I would likely need more than one ARM7 or some other MCU.

3) I could use an spi-uart IC for connections to devices and real
   uarts for connection to main host. But space and cost are a
   concern here.

4) A digital switch could be used to physically connect the device
   uart to either the ARM7 or xscale. Again space and cost concern.

5) I suppose there are bitbang methods but I don't want to waste
   many cycles for this kind of thing.

Does anyone have any suggestions for a solution, or have you tried
any of these methods? Anyone written virtual com port drivers?

Are there any LPCs with 4 uarts. The ST micro STR711 looks pretty
nice for the kind of problem I'm working on.

TIA,
Doug

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.