• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Microcontrollers » Stellaris® ARM® Microcontrollers » Stellaris® ARM® LM3S Microcontrollers Forum » USB *Host* VCP example
Share
Stellaris® ARM® Microcontrollers
  • Forum
Options
  • Subscribe via RSS
Helpful Stellaris® LM4F Series Links
  • LM4F Series
  • Stellaris PinMux Utility
  • Stellaris® LM4F120 LaunchPad
  • LM4F MCU Applications
  • LM4F MCU Video
  • ARM Cortex-M4F Whitepaper
  • Stellaris MCU Brochure
  • LM4F232 Eval Kit
  • USB *Host* VCP example

    USB *Host* VCP example

    • awneil
      Posted by awneil
      on Jul 30 2009 05:51 AM
      Genius4070 points
      See: http://e2e.ti.com/f/471/p/45125/154912.aspx#154912

      As PCs are rapidly losing their COM ports, and just having USB, so devices are now losing their RS232 ports and providing only a USB Device connection.

      Previously, it was easy to use devices with microcontrollers by connecting to the UART - now we increasingly need to be able to provide a USB Host socket to act as a "virtual COM port".

      Unfortunately, nobody seems to provide any examples of this!

      :-(

      There are loads of USB Host examples for mass-storage and HID - but (virtually) nothing for VCP (or CDC).

      :-(

      So, it'd be great to have a Host* VCP example - something into which you could connect a standard USB-to-Serial adaptor, for the purposes of demonstration...

      See also: http://www.8052.com/forumchat/read/168024
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • FredrikNyman
      Posted by FredrikNyman
      on Nov 22 2009 20:49 PM
      Prodigy210 points
      I agree. TI, please consider adding a host version of the Stellaris usblib usbdcdc.[ch].

      Atmel has two appnotes, http://www.atmel.com/dyn/resources/prod_documents/doc6269.pdf for their AT91 ARMs, and http://www.atmel.com/dyn/resources/prod_documents/doc7727.pdf for their AVRs. That, along with the code examples, is exactly what I am asking TI to consider providing.

      Thanks!

      Post edited by: eortheain, at: 2009/11/22 21:00
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Dave Wilson
      Posted by Dave Wilson
      on Nov 23 2009 08:16 AM
      Mastermind22840 points
      I'll make sure this is on the requested-feature list. It shouldn't be particularly technically difficult. The problem is likely just a matter of having it bubble to the top of the priority list given everything else that we are working on.
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • FredrikNyman
      Posted by FredrikNyman
      on Nov 30 2009 16:36 PM
      Prodigy210 points
      After reading the thread on "USB Host VCP" over in the general forum, I would like to change my request. What I really need is for my Luminary MCU board to interface with an usb-to-serial adapter, and as I understand it, pretty much every single such adapter on the market uses a proprietary interface rather than the CDC class.

      This appears to be a pretty common desire. Would you please consider implementing something like the Linux usb-serial stack (drivers/usb/serial)?
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Dave Wilson
      Posted by Dave Wilson
      on Dec 01 2009 14:52 PM
      Mastermind22840 points
      We would not be able to provide support for proprietary interfaces unless those interfaces were publicly documented (and, hence, not proprietary) - Catch 22?
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • awneil
      Posted by awneil
      on Dec 01 2009 18:41 PM
      Genius4070 points
      In practice, I think there are only a relatively few chips in common use; viz, FTDI, Prolific, SiLabs - any others?

      I think FTDI & Prolific are the "top two" - so just supporting them should be sufficient?

      This does seem to be the approach adopted by http://www.ghielectronics.com/products - as mentioned in the thread in the General forum:

      http://e2e.ti.com/f/471/p/45125/154912.aspx#154912
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • FredrikNyman
      Posted by FredrikNyman
      on Dec 01 2009 21:04 PM
      Prodigy210 points
      Texas Instruments too - e.g. the TUSB3410. That one is documented too. And there's a driver for it in /usr/src/linux/drivers/usb/serial, as it happens.

      So if TI/Luminary could port the Linux USB serial driver framework, they would have any number of options -- support the ported framework and the actual drivers for various Serial-to-USB chips; support the framework and all documented Serial-to-USB chips, support the ported framework, or what have you.
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Stellaris Joe
      Posted by Stellaris Joe
      on Dec 03 2009 13:58 PM
      Genius15560 points
      Thank you for the suggestions and pointing out the specific parts, especially the TI one. That is interesting. We added this to the feature suggestion list.
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • DavidBrownell9026
      Posted by DavidBrownell9026
      on Dec 12 2009 16:55 PM
      Intellectual870 points
      Let me encourage you to just support standard CDC ACM, in the no-modem mode, instead of trying to emulate some version of a proprietary scheme.

      Especially in terms of peripheral side drivers ... but similarly on the host side. The USB marketplace is way too cluttered with needlessly proprietary serial links, and it'd be better not to worsen that problem.

      In terms of connectivity, host side CDC ACM support is widespread. Linux certainly supports it, as do many proprietary operating systems; CDC is vendor-neutral. Even Microsoft supports it ... although their driver stack (not just usbser.sys) has design problems which complicate its use with composite devices. (That is, if your device exports serial *plus* something else it's likely to cause various headaches when you try to associate different drivers with each interface.)
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • FredrikNyman
      Posted by FredrikNyman
      on Dec 15 2009 17:59 PM
      Prodigy210 points
      I would disagree with dbrownell's suggestion for one simple reason: "installed base".

      There are a *lot* of industrial and consumer devices out there that use serial-to-USB chips that don't implement CDC ACM.

      Given the large number, I would go as far as to suppose that vendors may actually have good reasons for implementing a proprietary communication framework rather than CDC ACM.

      It is precisely because of this large installed base that it would be very valuable to have USB HOST support for connecting Luminary MCUs to this type of devices.
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • FredrikNyman
      Posted by FredrikNyman
      on Dec 15 2009 18:14 PM
      Prodigy210 points
      I would disagree with dbrownell's suggestion for one simple reason: "installed base".

      There are a *lot* of industrial and consumer devices out there that use serial-to-USB chips that don't implement CDC ACM.

      Given the large number, I would go as far as to suppose that vendors may actually have good reasons for implementing a proprietary communication framework rather than CDC ACM.

      It is precisely because of this large installed base that it would be very valuable to have USB HOST support for connecting Luminary MCUs to this type of devices.
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • DavidBrownell9026
      Posted by DavidBrownell9026
      on Dec 16 2009 15:44 PM
      Intellectual870 points
      Notice I said "especially on the peripheral side". This thread picked up that issue at some point.

      Supporting CDC for the peripheral side is about as easy as supporting some proprietary scheme ... and it will work out-of-the-box with many more operating systems. From an end-user perspective, needless market fragmentation is not desirable. From a vendor perspective, needing to provide proprietary host-side drivers for multiple operating systems is worth avoiding.

      The fundamental reason for all those non-standard protocols is, from what I've seen, that CDC is firmware-oriented (like a Stellaris chip) while almost all those cheap chips (FT2232, CP210x, and so on) do their work in silicon. A Stellaris-based solution will not save transistors or power by avoiding CDC; it's already using more silicon, by orders of magnitude, than those cheap USB-to-Serial adapter chips. It's also more expensive. Notice that the TI part someone mentioned earlier is pretty far from that very low end ... it's slightly programmable (8052 not ARM; sigh) and is not in that space.

      (Whether TI wants to have an inexpensive USB-oriented microcontroller is for them to answer. Atmel's AT90USB162 parts are cheaper than those specialized parts; there must then be some kind of market.)

      Agreed that having the host side support work with more than CDC would be good, and it's natural to expect such examples would handle any TI-proprietary solution before implicitly promoting one third party over another.

      But that should be in addition to supporting the standard solution.
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • FredrikNyman
      Posted by FredrikNyman
      on Dec 17 2009 17:17 PM
      Prodigy210 points
      @dbrownell:

      Thanks for the clarification. I think we are in agreement after all: if Luminary can provide more USB host functionality in the Stellaris library, that would be great.

      I agree that CDC ACM Host functionality would be valuable, especially with many cellular modems implementing CDC ACM Device functionality.
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • awneil
      Posted by awneil
      on Dec 19 2009 02:15 AM
      Genius4070 points
      dbrownell wrote:
      it's natural to expect such examples would handle any TI-proprietary solution before implicitly promoting one third party over another.
      Although, as the dev boards already use FTDI chips, that would seem an obvious first-choice of (non-TI) proprietary solution...
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Andy Neil
      Posted by Andy Neil
      on Aug 09 2011 03:51 AM
      Guru32005 points

      Bump:

      http://e2e.ti.com/support/microcontrollers/stellaris_arm_cortex-m3_microcontroller/f/471/p/127237/455567.aspx#455567

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    12
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use