TrueTask Dual-Role USB

(OTG, Type C). Superior embedded software for dual-role products


Contact us for more information and a product brief

It is increasingly common to multiplex a single physical USB connector to operate it either as a host or device. To support this, MCCI’s TrueTask® Dual-Role USB stack has complete support for dual-role USB Type C, dual-role USB 3.1/3.0/2.0, and USB 2.0 On The Go, based on the TrueTask USB host stack and the MCCI USB DataPump USB device stack. Two standard specifications are supported: the DRP (dual-role port) features of the Type C connector and USB Power Delivery specifications, and the older USB On The Go (OTG). In addition, proprietary or vendor-specific approaches are supported, including support for Apple CarPlay..

  • Designs using the USB Type ® connector normally use the role-switch features provided by the Type C and USB Power Delivery specifications. The TrueTask Dual-Role USB stack supports Type C role switching (DRP) on suitably equipped platforms, as well as detection of audio and debug accessories and sensing/control of the Type C Rp/Rd-based power profiles (default, 1.5A and 3.0A). It also supports role switching as directed by a USB Power Delivery stack (not included).
  • OTG’s “dual-role peripherals,” are peripherals that can function either as hosts or as devices using HNP (Host Negotiation Protocol) and SRP (Session Request Protocol) across a micro-AB cable.
  • Some proprietary designs such as Apple CarPlay (as described here) use standard Type A and B connectors, and negotiate role switching via other mechanisms. MCCI’s TrueTask Dual-Role USB stack provides an API which supports application-controlled dynamic role-switching.
  • When used with hubs equipped with Microchip’s FlexConnect technology, TrueTask Dual-Role USB stack supports dynamically switching roles throughout the USB tree, and automatically walks the tree to configure the role switch based on a single API call.

Block Diagram

Dual-Role Stack architecture diagram

Supported Silicon

TrueTask Dual-Role USB drivers for the following IP blocks and SoCs are available.

IP blocks, including

SOCs with embedded dual-role USB controllers, including

  • NXP i.MX family of application processors
  • NXP LPC family of USB MCUs
  • Renesas RX, RZ, and R-Car families
  • Samsung Exynos family
  • STMicro STM32 family of USB MCUs
  • Texas Instruments OMAP family

Dedicated USB dual-role controllers, including

  • Renesas R8A66597 high-speed USB device controller

Role-switching USB hubs, including

  • Microchip USB84604 USB 2.0 Hubs with FlexConnect technology
  • Microchip USB5734 USB 3.0 and USB5744 USB 3.1 Hubs with FlexConnect technology

In addition, we support a wide range of legacy and special purpose devices — contact us if you don’t see what you need.

Features and Value-Add

MCCI’s solution provides additional value beyond an implementation of the USB specification:

  • Designed from the beginning for cell phones and other complex, embedded products
  • Built on the industry-proven MCCI USB DataPump device stack, greatly reducing risk
  • Scales from non-OS and pre-boot environments to fully featured multi-core operating systems (Windows 10, Linux, etc.)
  • Extensively configurable, from memory consumption to feature-set
  • Platform architecture allows reuse of TrueTask USB host and USB DataPump device integrations across product lines
  • Optimized for lowered power requirements and longer battery life
  • Hardware, platform, and operating system independent
  • An end-to-end solution, tailoring support options to meet customer needs
  • Backed by MCCI’s know-how and 20 years of experience delivering USB for embedded applications

Standards and Protocol Compliance

Host support is provided by the MCCI TrueTask USB host stack, and offers full support for the USB 2.0 and 3.1 specifications.

Device support is provided by the MCCI USB DataPump® and similarly offers full support for the USB 2.0 and 3.1 specifications.

More Information

Contact us for more information and a product brief.