I'm facing a new project that requires a lot of serials: at least 12, better if 14. All of them are asynchronous, end they'll end up in RS232 or RS485. I wrote my own library based upon the official application note that uses interrupts and internal buffer to minimize the time spent in the ISR. This time I'm afraid about the quantity of serials line! Some other info:
- all serials have a maximum baudrate of 115200 bps, some of them are slower (19200 bps)
- half of them exchange data (in both direction) every 50 ms with a payload of about 200 bytes
- the MCU(s) doesn't do much more than "redirect" data among the serials
It's quite easy to define the buffer sizes to avoid overflows, but I'm not sure if the MCU @ 32 MHz can handle all those interrupts.
I'm going to use two xmega*A1 that have 8 USART each: on is used to connect both units, and I have 14 USARTs for the application. I know I might use SPI for this but it's not as easy as asynchronous serials (where packets have different lengths and they can arrive at any moment).
Do you see any critical issue in this design?