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
Message
UART multiplexing or switching
2005-08-02 by Doug Sutherland
Attachments
- No local attachments were found for this message.