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.

MSP430(F5529) UART or USB

Other Parts Discussed in Thread: MSP430F5529, ENERGIA

Hello everyone,

I am using MSP430F5529 mostly with PC. (Powering the uC and communicate with PC). I am wodering, when and why should I use USB CDC if the launchpad has Application UART?

For example: controlling IO pins with Serial commands does not require USB CDC i think. Using F5529 for data acquisition the Application UART should be enough if the baud rate is set correctly.

However I see a great advantage of USB HID or MSC  over UART in certan situations. 

Focusing on USB CDC and UART, when do u say that: UART is the right way for this work or I have to use USB because the UART capabilities are not enough. (The latest MSP432 launchpad has only UART and doesn't have native USB support, so I could think correctly USB is not the only way to go. )

What do you think?

  • LP Application UART is software UART-CDC bridge implemented on FET (master 5528 device), so when there is UART communication by LP target chip, it is UART (target) > UART (master) > software bridge > CDC > PC. when CDC is implemented on target chip it is CDC > PC. Hardware based UART advance over CDC is in high speed short data transfer, while CDC advance is in high speed transfer with big amount of data (1 MByte/s). Application UART on LP is bridge implemented in software so there is no any advance over CDC implemented on target device.

  • Hey,

    Thank you very much for your explanation. Helps me a lot!
    Well my assumption is right. For basic uC communication the Application UART is enough.
  • Daniel Vamos said:
    For basic uC communication the Application UART is enough.

    Yes, if your target device is on LP, but if 5xx/6xx USB target device is standalone, then I will go with CDC for sure.

  • Thats the interesting point. I am using F5529LP. Basically the Application UART is enumerated in the Device Manager by default.  On uC side the usci_a1 UART is used.Taking account the simplicity, no further steps needed in this case, only implement the UART on uC and the PC can start the communication.

    There is another way to go:

    USB Developer Package exists for F5529, that uses the uC USB pins. It doesn't make any sense to me to implement a USB CDC (using USB Developer Package) because I have to create an additional inf file for the host. 

    If there is an Application UART why should I create a new one? 

  • And you didn't install any drivers or inf files with 5529 LP.  It was just plugged to PC and Application UART start to work without CCS / IAR / Energia, anything, from clean PC?

    Development on LP is one thing, but final standalone release is another. Linux will not ask you for inf file. There is no CDC - UART bridge chips that will plug.n-play without installation (depending on OS), or to be more precise they will install same as your MSP430 CDC standalone device. TI (VID) will also give you free PID for your (CDC) device.

    For me CDC is more comfortable, and can be released in small size too. You can see the last one that I done with CDC

    http://forum.43oh.com/topic/3909-msp430f550x-based-logic-analyzer

  • Very vice job!

    I think Application UART is also requires driver to be installed for Win7, but I am not sure.

    Reading back the forum thread, here is the conclusion:

    • Using Application UART (via FET)  has no drawback compared to Custom USB-CDC (using USB Driver Package and USB Descriptor tool). Primary advantage: there is no need to create and ship an extra usb inf file with the uC. 

    Is that correct?

    I am a bit confused with this statement: "For me CDC is more comfortable..." You mean UART-CDC or USB-CDC, because when I read CDC, it meas USB-CDC for me. 

    Thank you for the clarification!

  • You need drivers, anyway (and for FTDI). USB CDC can go up to 1 MByte/s while Application UART is limited by bridge software, and per datasheet around 1 Mbps. UART ISR is firing for each byte, while CDC ISR firing for 64 bytes, so CDC is liter for CPU. For me CDC (USB) is more comfortable, because for UART using special buffer is must, while for CDC (if there is no need for max speed) default 64 bytes USB buffers can be used without any copy from/to action.

  • Thank you for your detailed answer. This is what I have been looking for.

**Attention** This is a public forum