knowledge-base

Terms and Abbreviations

I’m listing here terms and abbreviations that were relevant for my research. Skipping some more mainstream ones like “audio device” and “Big Endian”.

ACK (packet)

A packet that signals a positive handshake acknowledgement.

Active Device

Device that is powered and not in suspend state.

Asynchronous Data

Data transferred at irregular intervals with relaxed latency requirements.

Asynchronous RA

The incoming and outgoing data rate of the RA process. The rates are in this case independent (notice async), meaning there is also no shared master clock.

Asynchronous SRC

The incoming and outgoing sample rate of the SRC process.

Babble

Unexpected bus activity that persists beyond a specified point in a (micro)frame.

Bit Stuffing

Insertion of 0 bits into a data stream to cause electrical transition on the data wires.

b/s

Bits/second

B/s

Bytes/second

Buffer

Storage used to compensate for a difference in data rates or time of occurrence of events, when transmitting data from on device to another.

Bulk Transfer

One of the 4 USB transfer types. Non-periodic, large busty communication typically used for a transfer that can use any available bandwidth and can also be delayed until bandwith is available.

Bus Enumeration

Detecting and identifying USB devices.

Capabilities

Those attributes of a USB device that are administrated by the host.

Characteristics

Those qualities of a USB device that are unchangeable; for example, the device class is a device characteristics.

Client

Software resident on the host that interacts with the USB System Software to arrange data transfer between a function and the host. The client is often the data provider and consumer for transferred data.

Configuring Software

Software resident on the host software that is responsible for configuring a USB device. This may be a system configurator or specific to the device.

Control Endpoint

A pair of device endpoints with the same endpoint number that are used by a control pipe. Control endpoints transfer data in both directions and, therefore, use both endpoint directions of a device and endpoint number combination. Thus, each control endpoint consumes two endpoint addresses. See also Device Endpoint

Control Pipe

Same as a message pipe.

Control Transfer

One of the 4 USB transfer types. Control transfers support configuration/command/status type communications between client and function.

CRC (Cyclic Redundancy Check)

A check performed on data to see if an error has occured in transmitting, reading or writing the data. The CRC is typically stored or transmitted with the checked data. This helps to determine if an error occured.

CTI

Computer Telephony Integration

Default Address

An address defined by the USB Spec and used by the USB device when it is first powered or reset. Default is 0x00.

Default pipe

Message pipe created by the USB System Software to pass control and status information between the host and a USB device’s endpoint zero.

Device Address

Seven-bit value representing the address of a device on USB. Default is 0x00. Addresses are uniquely assigned by USB System Software.

Device Endpoint

A uniquely addressable portion of a USB device that is the source or sink of information in a communication flow between the host and device. See also Control Endpoint

Device Resources

Resources provided by USB devices, such as buffer space and endpoints. See also Host Resources and Universal Serial Bus Resources.

Device Software

Software responsible for using a USB device. May ir may bit also be responsible for configuring the device to use.

Downstream

Direction of flow from the host or away from the host

Driver

DWORD (Double Word)

A data element that is two words. (e.g. four bytes or 32 bits when the word size is 2 bytes)

Dynamic Insertion And Removal

The ability to attach and remove devices while the host is in operation.

End User

The user of a host.

Endpoint

Same as Device endpoint

Endpoint Address

The combination of an endpoint number and an endpoint direction on a USB device. Each endpoint address supports data transfer in one direction. Basically there will be two addresses at least for a USB device. Each one address has then a bit that dictates the direction.

Endpoint Direction

The direction of data transfer on the USB. This can be:

Endpoint Number

A four bit value between 0x0 and 0xF, inclusive, associated with an endpoint on a USB device.

EOF (End-of-(micro)Frame)

Self explaining

EOP (End-of-Packet)

Self explaining

Frame

a 1 ms time based established on full/low -speed buses.

Frame Pattern

A sequence of frames that exhibit a repeating pattern in the number of samples transmitted per frame.

Fs

Sample rate

Full-duplex

Simultaneously data transmission in both directions.

Function

A USB device that provides a capability to the host (like mic, speakers).

Handshake Packet

A packet that acknowledges or rejects a specific condition.

Host

Host computer systm where the USB Host controller is installed.

Host Controller

Host’s USB interface.

Host Controller (HCD)

USB Software layer that abstracts the Host Controller Hardware.

Interrupt Request (IRQ)

Signal to request attention from the host.

Interrupt Transfer

One of the 4 USB transfer types. Small data, non-periodic, low-frequency and bounded-latency.

I/O Request Packet (IRP)

An identifiable request by a software client to move data between itself and an endpoint of a device in appropriate direction.

Isochronous Data

Stream of data whose timing is implied by its delivery rate.

Isochronous Device

An entity with Isochronous endpoints.

Jitter

Lack of synchronization.

Message Pipe

Bi-directional pipe that transfers data using a request/data/status paradigm.

Microframe

A 125 microseconds time base on high speed buses

NAK

Rejecting handshake package

Object

Host software or data structure representing a USB entity.

Packet

A bundle of data organized in a group of transmission. Packets typically contain three elements:

Packet ID (PID)

A field in packet that indicates the type of packet. By inference it indicates the format of the packet and the type of error detection.

Phase

A token, data or handshake packet. A transaction has 3 phases.

Pipe

Abstraction of the association between an endpoint of the device and the software on the host. A pipe has several attributes. So we have stream pipe’s and message pipes.

Polling

Asking (multiple) devices if they have any data to trasmit.

Power on Reset (POR)

Restoring a storage device, register or memory to a predetemrined state when power is applied.

Port

Point of access to or from a system or circuit.

Rate Adaption (RA)

Adapting the rate of a data stream with certain loss of quality.

Request

A request made to a USB device contained within the data portion of a SETUP packet.

Service

A procedure provided by a System Programming Interface (ISP)

SOF (Start Of Frame)

SOP (Start of Packet)

SRC (Sample Rate Conversion)

TDM (Time Division Multiplexing)

TDR (Time Domain Reflectometer)

Token Packet

A type of paket that identifies what transaction is to be performed on the bus.

Transfer

One ore more transactions to move information.

Transfer Type

Determines the characteristics of the data flow. Types

USB-IF

USB Implementers Forum

Virtual Device

A device that i represented by a software interface layer.

Word

2 bytes.