USB OTG Drivers (Compact 2013)
3/26/2014
USB On-The-Go (OTG) is a technology standard defined by the OTG supplement to the USB 2.0 specifications. This standard defines a method that portable devices can use to interact directly with other portable devices. USB OTG allows devices to dynamically switch, on the same port, between operating as a USB host and a USB function. You can implement this technology by creating a platform dependent driver (PDD) to complement the USB OTG model device driver (MDD). When combined, the MDD and PDD form the USB OTG controller driver, which exposes a bus interface that is completely implemented in the MDD. This driver handles communication between the controller drivers and the USB OTG hardware. The USB OTG controller driver uses the Host Negotiation Protocol (HNP) to handle dynamic role switching.
Windows Embedded Compact supports USB OTG as of Windows Embedded CE 6.0. Prior to the introduction of USB OTG, implementing USB host and USB function drivers required two separate ports, with no support for dynamic switching between modes.
For reference information, see USB OTG Driver Reference.
Sample MDD application code is available at %_WINCEROOT%\Public\Common\OAK\Drivers\USBOTG.
For information about the Windows Embedded Compact Test Kit (CTK) tests that apply to USB drivers, see USB OTG Bus IOCTL Test.