This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EK-TM4C123GXL: Alternative with more than 8 UARTs

Part Number: EK-TM4C123GXL
Other Parts Discussed in Thread: TM4C123GH6PM, MIKROELEKTRONIKA

Hi everyone,

I have an EK-TM4C123GXL launchpad which I intend to use for communicating with 10 serial (UART) devices but TM4C123GXL offers 8 UARTs. So I was wondering if there are any other boards with more than 8 UARTs in an almost similar size (because I have a space constraint) by TI or any other? I am willing to sacrifice the I2C and SPI provisions as I am not using them with any of the sensors.

Thanks.

  • Hello Haider

    The maximum number of UART peripherals is 8 in both TM4C123x and TM4C129x device class. There is no other device that has higher number of UARTs.
  • Hello Amit,

    Thanks for the reply. I wasn't necessarily asking about the TIva-C series. Any other device class with more than 8 UARTs would also do.

    Thanks.
  • Haider Ali said:
    Any other device class with more than 8 UARTs would also do.

    Looking at the selection guides the maximum amount of UARTs on any microcontroller is 8.

    The only devices I found with more than 8 UARTs are the Sitara AM571x and AM572x processors with 10 UARTs - see http://www.ti.com/lsds/ti/processors/sitara/products.page#p1223=10

    Changing from a microcontroller (with internal flash and SRAM) to a Sitara processor (which needs external memory and a PMIC) just to get 10 UARTs will increase the complexity, size, cost and power.

    Could you split the design to use two Tiva devices, say servicing 5 UARTs each, and some other communication between the two Tiva devices?

    What baud rate data data rate do you need to process on the 10 UARTs?

  • Haider Ali said:
    I have an EK-TM4C123GXLlaunchpad which I intend to use for communicating with 10 serial (UART) devices but TM4C123GXL offers 8 UARTs.

    The TivaWare utilities has a "software UART", where the software UART module uses two timers and two GPIO pins to create a software UART peripheral. Multiple software UART modules can be in use simultaneously.

    Therefore, you may be able to use 8 hardware UARTs and 2 software UARTS. See the Software UART Module section in the TivaWare docs/SW-TM4C-UTILS-UG-2.1.3.156.pdf file

  • Hello Chester

    I would prefer the other option of using two TM4C's rather than mixing software and hardware UART's. There is no clear requirement of having 10 UART's working side-by-side.
  • Hi,

    Do you use the same protocol for all ten devices or not?

    If yes, the solution may be simpler, only with one uart (we use in production max 100 devices).

    If not, then as Chester suggest.

  • I guess the device is some kind of switchboard device, repeater or protocol translator.
    However, I don't know a MCU with that much UARTs. The one's I know use to have 4 to 6 UARTs, and hardly all UARTs are usable at once (because of pin muxing).
    Besides the fact that most often just one or two full UARTs are featured (including RTS/CTS, CDC,DTR), the summed throughput becomes a performance challenge. I would consider external UART chips with FIFO.
  • Hi Chester,

    Chester Gillon said:
    Changing from a microcontroller (with internal flash and SRAM) to a Sitara processor (which needs external memory and a PMIC) just to get 10 UARTs will increase the complexity, size, cost and power.

    You're right. Changing from TM4C to Sitara would not be a suitable option just to get 10 UARTs.

    Chester Gillon said:
    Could you split the design to use two Tiva devices, say servicing 5 UARTs each, and some other communication between the two Tiva devices?

    This is what I thought of and using this configuration currently with 5 UARTs for each of the two TM4Cs and another UART for communicating between the two TM4Cs.

    Chester Gillon said:
    What baud rate data data rate do you need to process on the 10 UARTs?

    All the devices have different baud rates ranging from 9600 to 576000.

    Thanks for the help!

  • Petrei said:
    Do you use the same protocol for all ten devices or not?

    A couple of devices might have same protocol but not all.

    Petrei said:
    If yes, the solution may be simpler, only with one uart (we use in production max 100 devices).

    What if two devices (A and B) have same protocol, and device A only needs to send while device B only needs to receive. Would it be possible to use a single UART for both A and B using their respective Tx and Rx or is it not advisable?

  • Hi

    Haider Ali said:
    Would it be possible to use a single UART for both A and B using their respective Tx and Rx or is it not advisable?

    No, not advisable.

  • Hello Amit,

    After reading the TM4C123GXL user guide, I have found out that UART6 pins (PD4 and PD5) are "dedicated to USB functionality and are not shared with the BoosterPack headers" as per section 2.1.2 of document spmu296.

    1. Am I correct to assume that I cannot use UART6 of my evaluation board for my own purposes?
    2. Does this mean that I have to develop my own PCB using TM4C123GH6PM and then provide the output pins for UART6 (PD4 and PD5) to connect a device?
    3. I was hoping to integrate the evaluation board as it is in my product so that I would not have to manufacture a separate PCB for TM4C123GH6PM (because of the lack of PCB manufacturing facility). Is there any ready made board available with TM4C123GH6PM? I found this MCU card. Would this fulfill my needs of having all the eight UARTs for my own purposes?

    Thanks in advance.

  • Haider Ali said:
    Am I correct to assume that I cannot use UART6 of my evaluation board for my own purposes?

    Correct - unless you pick up scalpel, soldering iron and patch wire, to modify the board. That's cheaper - and often more safe - than a new design.

    The usage of more than 3 (or even more than 2) UART's is a rare use case, and not considered for evaluation board. These are intended to cover the broadest possible range.

    If you want to see a really botched example, look at the STM32F746-Discovery board. No much possible use of any peripheral, except for the on-board components.

  • The launchpad schematic shows a couple of test pads connected to PD4 and PD5. I didn't bother to follow the trace, but they are likely easy to access somewhere on the board, give it a try.
    However, launchpads are not expected to integrate any end product. If I am not mistaken, there are even specific terms about this somewhere...
    If you are designing a board for something, it will cost you almost the same as "a board for something plus a TM4C123". Don't let apparent difficulties get in your way!
    Bruno
  • Hello Haider

    The LaunchPad and evaluation boards are "NOT" meant to be used as products. TI disclaimer would apply and TI would not be liable for any damages or loss incurred due to use of evaluation boards and/or LaunchPads.
  • Thank you f.m., Bruno and Amit for your responses.

    Amit Ashara said:
    The LaunchPad and evaluation boards are "NOT" meant to be used as products. TI disclaimer would apply and TI would not be liable for any damages or loss incurred due to use of evaluation boards and/or LaunchPads.

    I am quite new to TI launchpads and evaluation kits and did not know about this. I will keep this in mind.

    What about this MCU card by MikroElktronika? I can see pins for UART0 (PA0 and PA1) and UART6 (PD4 and PD5). Would it fulfill my purpose of having UART0 and UART6 for my own use and are there any restrictions regarding its usage in your products?

    Thanks.

  • Hello Haider

    You would need to check with MikroElktronika on the same.
  • Haider Ali said:
    What about this MCU card by MikroElktronika? I can see pins for UART0 (PA0 and PA1) and UART6 (PD4 and PD5).

    Looks much better for experimental purposes than the Launchpad, since all GPIO pins are routed to headers, without additional "gimmicks". I would still check the datasheet if you can really use all UARTs at once. Pin multiplexing means, you cannot use ALL peripherals at the same time, since some are routed to the same pins. I never checked this for the TM4C Uarts. And don't forget, most probably you will need the JTAG/SWD debug pins ...

    BTW, many MikroElektronika boards feature a proprietary bootloader. If so, I suggest to erase it first.