Problem interfacing multiple modules via UART onto the OMAP board.

Hello,
am having a problem interfacing multiple modules via UART onto the OMAP board.

In particular, I have 7 modules sending out different data @ 19.2kbps
or 9.6kbps (simultaneously),
via UART interface and I have to collect the same from OMAP board and
process them.

The data is structured, that is, all the modules emit data with a
header, crc check etc.

The problem is I can use only 1 or at most 2 uarts on the board to do this.

Am thinking,
1) Using GPIO would mean a lot of tracks/wires,
2) using UART expander chips means $$

Besides these are are there any other means?

Also, as the data is structured, and the data rate is only <19.2 kbps,
if somehow physical connections are worked out, could buffering and sw
decoding be a way out?

Please share your views,

Thanks
Shrikanth

Hi Shrikanth,

I am not really sure what you are trying to do, but I hope the following comments will help.

The UART on the Beagle Board is RS232 which is designed for point to point communications.

If you have tied all the Transmit pins together from your sources, then the different uarts will be in conflict (i.e. one source trying to hold the line high, while an other source is trying to pull the line low.)

You maybe able to translate the RS232 from all your sources in to RS485 or RS422 using a tranciever on each source, but you will have to be able to control the direction of the data on the bus. The Beagle Board does not have a RTS line on it as far as I am aware. I will not be able to look up the Hardware Reference Manual until I get home tonight to have a look.

I hope this helps.

  • Geoff

Don’t cheat – Compete
Don’t expect – Suggest

Geoffrey Callander wrote:

You maybe able to translate the RS232 from all your sources in to RS485 or
RS422 using a tranciever on each source, but you will have to be able to
control the direction of the data on the bus. The Beagle Board does not have
a RTS line on it as far as I am aware. I will not be able to look up the
Hardware Reference Manual until I get home tonight to have a look.

If the modules communicate in a command-response format, then you don't really
need directional control--- only one module will be communicating at a time. In
that case, you could use RS-485 with all of the modules wire-OR'ed together onto
the line.

Another possibility is to add a microcontroller with enough UARTs to talk to the
modules directly via RS-232 or TTL, and then it would "multiplex" that I/O onto
the Beagleboard's single RS-232 interface (or USB, perhaps).

Finally, a bunch of USB-to-RS-232 adapter chips, like the FTDI232. That's the
chip inside a lot of USB-to-serial adapters.

Given the requirements, I don't see a way out of spending at least a little
money and time to hook everything together.

b.g.