TMS320F28388D: UART Interface to the GSM Interface

Part Number: TMS320F28388D

Dear Team,

We are currently using the PN: F28388DPTPSR for our development.

We have connected the debug pins GPIO42 (UARTA_TX) and GPIO43 (UARTB_RX) to our GSM module. At the same time, we are using a MUX to switch between UART and USB.

Please find the attached image for your reference. 

image.png

We have the following queries:

  1. Can we continuously send data on UARTA to the GSM module during runtime?
  2. Will there be any issues while switching between UART and USB using the MUX?

Kindly clarify. Thanks in advance

 

Regards,

Praveen 

  • Hi Praveen,

    I'm a little confused by this topology. Do you have a UART-to-USB bridge anywhere in the topology? How are the UART outputs getting converted to the USB protocol?

    Best Regards,

    Delaney

  • Dear Delaney Woodward. 

    Thanks for your response. 

    The GPIO42 and GPIO43 support both USB and UART - It can be controlled by the internal mux in the MCU. 

    Datasheet: Page No 29:

    Regards

    Praveen 

  • Hi Praveen,

    I see, so you are wanting to switch the device pinmux during runtime between the UART and USB peripherals. From a peripheral point of view, you generally don't want to configure the GPIOs for a specific peripheral while the peripheral is enabled/operating. You would want to disable both peripherals before modifying the related pinmux selections to switch to the other peripheral in order to keep both the UART and USB peripherals in a known state.

    For UART specifically, you will also want to make sure this pinmux switch is synchronized with the UART operation / make sure the GSM doesn't send anything while the GPIOs are configured for the USB because the data would be lost. To send continuous data during runtime to the GSM, I would suggest using the DMA module with the UART, so the CPU isn't bogged down with every UART write. A continuous stream of data should be possible on the UART module as long as the FIFO is never left empty at any point. To do this, I would suggest using the UART_TX DMA trigger and transferring >8 bytes of data at a time so that the DMA consistently fills up the UART TX FIFO. 

    I am looping in the GPIO expert to comment on if there are any issues with constantly switching settings during runtime from a pinmux standpoint. 

    Best Regards,

    Delaney