Glossary

CDC - Communications Device Class (CDC) protocols published by the USB Organization  that allow for emulation of many other popular formats. Sub-classes include CDC-ACM (Abstract Control Model), CDC-ECM (Ethernet Control Model), CDC-EEM (Ethernet Emulation Model) and CDC-NCM (Network Control Model).
Composite - Type of function API corresponding to multiple types of real-world connections
Control Endpoint - The Control Endpoint (there is only ever one) is used as the primary communication channel between the USB Device and USB Host during the enumeration and configuration phase of a USB Connection. All USB Device Requests are sent to the Control Endpoint. A USB Device must always be ready to respond to USB Device Requests sent to the Control Endpoint.
Core - The layer of the device driver that implements management and states of the USB stack
Function - The layer of the device driver that implements an API for application communication
Interface   -  Type of function API corresponding to a real-world connection
Interrupt Endpoint - Interrupt Endpoints are used to transfer small amounts of data between the USB Device and USB Host. Data transferred via an Interrupt endpoint will take longer to arrive, but there is little overhead to having it active.
MSC -  Mass Storage class 
Networking over USB - Implementation of a network, typically using IEEE 802.3 network frames, but in some cases using IP (Internet Packet) data. See CDC-ECM, CDC-EEM and CDC-NCM.
OTG - On-The-Go
PCD  -  Peripheral controller driver.  The portion of the device driver that pushes data across the USB bus.
Platform  - A collection of hardware and software components which enable embedded product development
PPP - Point to Point Protocol
RNDIS - Remote NDIS is a Microsoft proprietary protocol to support networking over USB, functionally an alternative to the industry standard CDC-ECM.
USB Class Driver - A USB Class Driver is used on a USB Host to control a specific type of USB Device using a specific USB Class Protocol. Each USB Class Driver will require a specific matching USB Function Driver on the USB Device .
USB Class Protocol - CDC Standards from USB org for specific USB Device Class Protocols:
USB Composite Device -   implements multiple interfaces, each controlled independently, using different protocols and supported by a different USB Class Driver in the USB Host.
USB Device - any separate and independent device that implements the USB standard to allow it to connect to a USB Host using a USB connection. N.B. may also be referred to as a USB Peripheral.
USB Device Driver - Software drivers used to implement the USB Device. Typically there are several types including USB Function Drivers and USB Peripheral Controller Drivers.
USB Device Requests - As defined in Chapter 9 of the USB 2.0 standard, these are specific requests sent to the USB Device Control Endpoint. These may deliver data, request data or simply pass a request.
USB Endpoint - All data sent to a USB Device from a USB Host, or from a USB Device to a USB Host is done via a logical endpoint. This allows for multiple channels of communication between the USB Device and USB Host.
USB Function Driver - A USB Function Driver is used on a USB Device to implement a specific USB Class Protocol over the USB connection. This driver will be the counterpart of the corresponding USB Class Driver on the USB Host .
USB Host - Any device that implements the USB standard to allow one or more USB Devices to connect to it using a USB connection according to the USB 2.0 standard.
USB Interface - The USB 2.0 standard defines an interface as “a related set of endpoints that present a single feature or function of the device to the host”. A USB Interface is defined by an Interface Descriptor (q.v.) and following descriptors
USB Peripheral - This is another name for a USB Device.
USB Peripheral Controller Driver - This is used on the USB Device to implement the hardware level I/O for a specific hardware design.
USB Simple Device - A USB Device that implements an interface to a single USB Function which will be supported by a single USB Class Driver in the USB Host. 

Favourites