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.

TMS320F28388D: TMS320F28388D-When using 20Mhz Crystal, SCI Baudrate 921600 does not work.

Part Number: TMS320F28388D
Other Parts Discussed in Thread: ISO7221A

Hello everyone

I am currently using the TMS320F28388D.

I would like to use the speed of SCI at 921600.

The main clock currently in use is using 20Mhz.

System Clock is 200Mhz operation,

LSPCLK operates at 50Mhz with 4 divisions.

At this time, I am trying to operate SCI at baud rate 921600,

When SCI is transmitted to a program such as Teraterm, the data is broken.

The connection connection is as follows.

28388D SCI Port -> ISO7221A (Isolator) -> FT234XD -> USB Port

ISO7221A is using the maximum transmission speed of 1Mbps, but When the corresponding waveform was measured with an oscilloscope, it was confirmed that it came out as normal.

The FT234XD has enough margin at 3Mbps.

Below is SCI's Initialize Code.

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void initSCIAFIFO()
{
SCI_setConfig(SCIA_BASE, DEVICE_LSPCLK_FREQ, 921600, (SCI_CONFIG_WLEN_8 |
SCI_CONFIG_STOP_ONE |
SCI_CONFIG_PAR_NONE));
SCI_enableModule(SCIA_BASE);
SCI_resetChannels(SCIA_BASE);
SCI_enableFIFO(SCIA_BASE);
SCI_enableInterrupt(SCIA_BASE, (SCI_INT_RXFF | SCI_INT_TXFF));
SCI_disableInterrupt(SCIA_BASE, SCI_INT_RXERR);
SCI_setFIFOInterruptLevel(SCIA_BASE, SCI_FIFO_TX2, SCI_FIFO_RX1);
SCI_performSoftwareReset(SCIA_BASE);
SCI_resetTxFIFO(SCIA_BASE);
SCI_resetRxFIFO(SCIA_BASE);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Baudrate 921600 calculated by the SCI_setConfig function is

SCIHBAUD = 0;
SCILBAUD = 5;

It comes out with the above value.. Is it correct?,

I think it was initialized normally

The data comes out weird.

Please help

Thanks

  • Hi,

    Thanks for your question. A baud rate of 921600 is not quite achievable using the clocks you have shown. Using the BRR settings you have chosen, you will be +13.03% on the baud rate from 921600 (actual baud rate would be 1041667).

    The closest BRR value would be "6", which corresponds to 892857 baud rate and -3.12%. This is likely still too far off from 921600 for stable communications.

    Please try changing your other device's baud rate to either 892857 (closest) or 1041667.

    Regards,

    Vince