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.

CCS/LAUNCHXL-F28377S: Max SCI/UART rate through USB

Part Number: LAUNCHXL-F28377S

Tool/software: Code Composer Studio

I'm curious if anyone with a LAUNCHXL-F28377S has been able to exceed 230,400 baud with SCI through the on-board FTDI chip to the USB? Bringing the LSPCLK up to 200Mhz gives baud rates up to 12.5 Mbaud with errors below 0.5% (including standard ones like 460,800 (0.5%), 921,600 (0.5%)). However, I can't reliably receive or transmit any data above 230,400 - it's all a garbled mess.

  • Hi Adam,

    Do check this post and check the same for your device: e2e.ti.com/.../63859

    Regards,
    Gautam
  • Adam bear in mind that FTDI also can not generate exact baudrates. I've had good experiences pushing baud rates up to 1 Mbaud in 50 kbaud steps.

    The way I read FTDI documentation it can not go above 1.5 Mbaud

  • Mitja,

    I understand the ability for the FTDI to communicate on its own - and therefore generate baud rates. However, I'm confused in this application. The FTDI chip is on the LaunchXL board to facilitate programming/debugging and provide one com port. However, (and correct me if I'm wrong) I don't believe that programming the main MCU has any affect on the FTDI chip. So even though I choose and change the baud rate that the MCU is generating, the FTDI (and the two isolation chips between the MCU and the FTDI) are just acting as barriers and a dumb repeater.

    I'm guessing that the FTDI, as programmed, is not able to keep up, as I don't see any additional components along the traces (like capacitors) that could have an effect on the signal quality. However, I don't think, through the standard tools, the FTDI can be reprogrammed. And I can't find in the FTDI documentation exactly how it might be set up to take two serial pins and relay the signal anyways.

    You did bring up an excellent point, and that is, I didn't think about incrementing the baud rate slowly - or even trying to connect plus or minus the actual rate to see where the bounds are. Sadly, I don't have an oscilloscope to check the slew rates, nor an additional MCU -I'm kinda doing this blind, and I have no idea how cleanly the signal is getting through even at 230,400 baud.



    Gautam, the post that you linked to concerns a completely different situation (even if the chip is in the same family). In that poster's case, he is directly connecting two MCU - without any circuity (like the isolation chips and the FTDI) in the way.
  • chapter 3 explains what baudrates are available with FTDI. You don't need to change the configuration of FTDI or any hardware. You do need a PC application capable of selecting custom baud rates. FTDI driver does the rest.

    've thoroughly tested UART communication through XDS100 FTDI chip, and it is reliably working on 28377S launchpad, 28377D and 28379 ControlCard, and on our internal 28377D development hardware. Works well at 1 Mbaud, 500 kBaud, 250 kBaud and lower.

    With such high baudrates, I really do recommend sending also CRC of the packet. Until you've got software on both sides running smoothly without loosing bytes, with CRC check you can throw away invalid packets. Monitoring for buffer overrun conditions is also a must.

  • BTW, you will have to set ClkCfgRegs.LOSPCP.bit.LSPCLKDIV = 0; in order to set 1 Mbaud exactly on 28337. According to device datasheet, this is valid.

    With LOSPCP at default value 2, the highest baudrate, still close enough to FTDI is 1041667 (FTDI is at 1043478). You could go with 1.25 Mbaud on 377 and 1.263158 Mbaud on FTDI, but I prefer to be well within UART specs.
  • Mitja, I looked at your application note and another by FTDI specifically for Mac. Unfortunately, the current version of the FTDI driver isn't installed in the same way anymore on the Mac, so the directions aren't immediately applicable.

    However, that got me to thinking about something else I could try; I wondered if there was an issue with the Mac "screen" program. So I downloaded CoolTerm. With CoolTerm I can get every baud rate from 460,800 up to 1,094,400 (which has an error of 0.3% with the FTDI rate and 0.4% with the actual 28377s (although a 0.7% between the actual 28377s and the desired). That was completely unexpected. I'll have to try this out on some Windows PCs as well, since although I'm developing it on a Mac, the actual users will have Windows PCs.
  • Thanks again, Mitja and Gautam.

    I've tested it out on several computers, and terminal applications; everything seems to be working well at the higher rates. I understand now that the screen application was falling back on 9600 without flagging an error (again, an oscilloscope would be nice for testing such things).