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.

TM4C1290NCPDT: USB Controller - Mass Storage Class driver + USB to Serial Interface

Part Number: TM4C1290NCPDT

Tiva Users,

Our Tiva customer would like to utilize the USB controller as much as possible.  They need both a standard USB Mass Storage Class interface as well as a standard USB-Serial port for traditional interface/debug.  Based on previous Forum posts along with general knowledge, it's entirely possible (for example) for the TM4C USB controller to support 2 MSC devices such as an internal Flash and an external Memory Card literally by using different endpoints on the Mass Storage Class device calls.

In this case, they would like both an MSC device/driver as well as a USB-Serial device/driver.  I believe this should be fine.  In fact, the user should be able to implement the USB MSC device as well as the USB to Serial port.  Rather than use an external "FTDI" type USB-Serial conversion IC, they would prefer to take advantage of the internal USB controller resident on the Tiva TM4C device.  This would also simplify the BOM cost and PCB design.

The underlying question is;  is there any reason to believe the Tiva TM4C USB controller cannot support an USB MSC device as well as a USB-Serial conversion interface and wouldn't the Tiva support the USB to Serial conversion more elegantly and more cost-effectively than an external "FTDI" type solution?  I'm thinking even the older TM4C Development Kit (with graphics LCD) had a version of this type of interface(s) on the kit itself.

Comments appreciated and welcomed.

TY,
CY 

  • Firm/I "have" that "LX4F" Eval board (with graphics LCD) just as you mention.

    One (quick) limitation dawns - what if it is desired to operate (both) USB channels with (some) and (slight) overlap?     Does that not favor the "2nd USB" device - be it another TM4C or "FTDI chip/cable" solution?

    You speak to "PCB design additions" via the "FTDI chip" - which of course is eliminated if your client employs the FTDI cable.     (which encapsulates the USB chip)    The learning curve & development time can be cut (almost) in half - via use of the (proven) "FTDI cable" - is not that so?

    As small biz owner - we're (always) taught - "Get to market Fast and simply - refine LATER!"    (and "only" if some clear benefit results - in most cases, "Who really cares?")    The "FTDI cable" approach - cutting the USB design effort in half - appears to best meet your client's needs...

  • Hey cb1!

    Thanks for your prompt reply on this thread. Yes, good point about the simultaneous operation. As it stands now, while this is not a requirement, it should be noted. And even if the on-chip USB controller could support both USB MSC and USB to Serial ports, they could not be run at the same time since the USB block has a single controller. Hence, as advertised, it is a Host/Function/OTG port, but only one of those options at once.

    We can certainly suggest the all-in-one cable. Not a bad idea actually. And alternatively, if they want to leverage the on-chip USB controller as much as they can, I believe the Tiva USB block is elegant enough to handle the USB to Serial (and USB MSC) as needed, but as you said, just not at the same time.

    Others entertaining comments are welcomed.

    Regards,
    CY
  • Hello Chris

    It is possible for the TM4C to be a MSC class device and Comm Port at the same time. It would require the composite device class to be used as two different device classes are being used over USB.
  • Thank you Amit,

    Outside of the two device class implementation (they should not need the 2 ports operating at the same time)...is the customer correct to assume that our latest TivaWare software has driver support for both MSC device and the (USB to Serial) Comm Port?  We assume this to be the case, but they just wanted to confirm.

    TY,
    CY

  • Hello Chris,

    Yes, we have support for both MSC (usbmsc.c) and COM (usbcdc.c) devices as part of the USBLib. However a Composite device of this type has not been tried. We have dual COM port and dual HID examples as part of composite devices.
  • Is it not of (some) value that the FTDI "solution" - is "Tried, True, Tested" and (importantly) READY to GO!

    Devoting time/effort/funds into an "untried" (admitted, above) method does not "ring" as well (or deeply) thought...
  • Thanks Amit and cb1,

    Appreciate the responses on this one.  I think we're all good to go with the customer.

    Regards,

    CY

  • You may wish to consider, "Just how you recover" should you (avoid) mention of the "FTDI cable" - and the "untried" (MCU alone) method proves (either) "balky" or w/out the required robustness...    What then - where is your, "Risk-Reward" analysis?...

    The "MCU (home alone)" method will clearly extend client's design: time/effort/development!        

    The FTDI cable approach resolves most risk - and may be "jettisoned" - IF and WHEN - the "untried MCU" succeeds - escaping that (untried) reality.