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.

Bumping backchannel UART speed on MSP430 Launchpad

Other Parts Discussed in Thread: MSP430F1612, TUSB3410, MSP430G2452

Hi all!

First of all, let me just say I love the MSP430 Launchpad. It's so cheap that I bought like five of them a couple of years ago but started off only yesterday by extending functionality of the cap-sense booster pack so now I've got a very nice little Windows Media touch pad controller that I use with Spotify and other stuff. The free CCS works really well too.

That said, I like for my PC to be able to talk to MSP430 chips with built-in h/w UART at higher speeds than the 9600 limit.

I searched the forum about this topic and found quite a few posts stating a 9600 baud speed limit of the Launchpad backchannel UART.

As we know, changing the baudrate on the virtual COM port in Windows seem to have no effect on the backchannel speed. I have verified this by connecting an external device to J31 (jumpers removed and using pins closest to the on-board MSP430F1612).

According to the schematics, the 430 launchpad is using a TUSB3410 USB to Serial controller which reads its config from the on-board eeprom via I2C at start up. The I2C lines are also connected to the MSP430F1612.

I don't know whether the 9600 limit is enforced by the 1612 or the TUSB eeprom but either way, UART speed could probably be changed by modifying the firmware of the 1612 via JTAG headers available as on-board testpoints.

Now a couple of questions:

1. What is the reason for the 9600 limit?
             Is it to prevent people from using the Launchpad as a low cost USB to serial device?
             Is it because some MSP430 chips only has software UART? (for example the one that came with the touch sensor booster pack) 

2. Has anybody tried modifying the 1612 firmware like described above?
              Ideally, it would be modified so that the baudrate changes made to the virtual COM port are actually reflected

3. Is the Launchpad firmware source code available somewhere?

  • Looking at MSP0EXP430G2 schematics, the backchannel UART signals are connected to both:

    1. MSP430F1612 pins P3.6 (UTXD1) and P3.7 (URXD1)

    2. TUSB3410 pins P3.0 and P3.1 (GPIO pins)

    While there doesn't appear to be Launchpad firmware source code available (see Launchpad TUSB3410 and MSP430F1612 firmware source code), there is the MSP430F1612 raw disassembly of the firmware on the launchpad. From the comments on the raw disassembly of the MSP430F1612 firmware it appears that the USART1 isn't used.

    Therefore, think the backchannel UART is a software UART driven from the TSUB3410 GPIO pins, which probably explains the reason for backchannel UART being limited to 9600

    (The one hardware UART in the TSUB3410 is connected only to the MSP430F1612 for the purpose of controlling the SBW debugging interface)

  • Thanks for clarifying.

    Apparently, I haven't been looking closely enough at the schematics (nor the dis-assembly) but I will.

    If the TUSB3410 was capable of a greater speed than 9600 even when running a software UART - do you think it would be possible to have the MSP430F1612 re-configure (or should I say re-program) the TSUB3410 after it has read its configuration from the eeprom?

    I'm thinking maybe one could scare the TSUB3410 into doing at least 19200 - this way, programming MSP430 MCUs with hardware UARTs would be some 4 times quicker assuming programming is made through BSL which it might not be.

    I was under the impression that SBW programming has only been made available through 6 pin header J4 for programming external stuff like the eZ430 and such. I'm probably wrong again since I haven't verified this either.

    Anyway, the MSP430G2452 that came with the captouch booster pack does not have h/w UART but runs one in s/w at 9600 so the 19200 would have to be optional in order not to drop support for this MCU. Preferably, one should be able to configure the Launchpad backchannel serial speed from lets say 300 - 19200 via the CDC driver of the OS.

    Still, I love the Launchpad and it's great fun working with it and this is just the beginning for me as I also got the eZ430-Chronos, the EZ430-F2013 USB stick programmer, three EZ430-T2012 and a couple of Stellaris LM4F120 LaunchPad hopefully on their way over here.

  • Hanns said:
    If the TUSB3410 was capable of a greater speed than 9600 even when running a software UART - do you think it would be possible to have the MSP430F1612 re-configure (or should I say re-program) the TSUB3410 after it has read its configuration from the eeprom?

    Teh TUSB communicates with the 1612 with much higher speed using its hardware serial interface. However, this serial connection is solely used for teh debugging control.
    The application uart is a secondary function in the TUSB firmware that allows a second, independent low-speed channel that runs parallel to the high-speed communication. Due to limited pocessing power, this conneciton is up to 9600Bd only and can't be boosted without sacrificing the programming/debugging funcitonality and some rewiring.

  • Ok, I see - I'll drop this "project" then.

    Thanks!

**Attention** This is a public forum