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.

CC2650: What is the maximum XDS110 UART baud rate?

Part Number: CC2650
Other Parts Discussed in Thread: CC2642R

I'm trying to test the ROM UART bootloader using app note  http://www.ti.com/lit/an/swra466a/swra466a.pdf

I am connecting to CC2650 uart through the XDS110 on the CC2650 launchpad.

I use XDS110 Class Application/User UART (COM6)

I can successfully access the CC2650 via the ROM bootloader.

The problem I face is speed.

From the app note, I should be able to connect at up to 1.5 MBaud, but I have only been successful running up to 128000 baud.   

I wrote the host code twice, once in Python v 2.7 and once in C#.  

Both implementations do the same thing -- they don't run any faster than 128000 baud.   And 128000 is pretty slow when transferring flash.   (and I'm thinking forward to the CC2642R here, where it will be bigger...)

FWIW, I am using Windows 10, and in the device manager  XDS110 Class Application/User UART -> Port Settings -> Bits per second only shows baud rates up to 128000.   So maybe faster speeds not supported??

I must be missing something here....so how do I get this running at 1.5 MBaud?

Thanks for any help!

  • Hello Timeslice,
    The post here suggests you should be able to achieve more than 128000 baudrate.
    e2e.ti.com/.../549986
    Do you see any other bottle necks in your code. Can you try the uartecho example from the resource explorer as is and see what rates you can achieve?
    Regards,
    Prashanth
  • Hi Prashanth,

    Thank you for your response.  I have some additional information based on further experimentation.  

    When I request more than 128000 baud, I received a dramatic slowdown in overall transfer speed.   I pulled out the oscilloscope to gather some RX/TX traces, and it turns out the problem is not one of baudrate, but rather one of latency.   When baudrate <= 128000 the latency to receive the CC26XX bootloader "ACK" message is <1 msec.  However, when baudrate > 128000 baud, the "ACK" latency jumps to ~14-16 msec.    On the oscilloscope, the CC26xx responds and generates the "ACK" immediately, but the message is not returned by the XDS110 for 14-16 msec.

    In essence, when baudrate is increased past 128000, the XDS110 does strictly honor the baudrate, but the latency increases an order of magnitude and severely limits the overall throughput.    

    As an experiment, I swapped out the XDS110 (COM6) for a FT232R USB-to-Serial adapter (COM8).   I used the same host test program.   I got roughly the same performance from the FT232R running at same baud rate.   Check.   However the FT232R driver properties also allow for the RX/TX latency to be adjusted.  So when I lowered the FT232R latency to 1 msec, (see attached screenshot), my overall throughput skyrocketed.   

    I could not find any corresponding latency controls for the XDS110.   Do any exist?   Thanks!

  • Hello Timeslice,
    Thanks for the detailed information. I was not aware of this. I do not see any latency setting for XDS110. I searched for it but could not find any information. I will ask around and see if any one knows.
    Regards,
    Prashanth