Controller Communication Channels#

Communication between the controller and the host computer shall occur over four abstract communication channels:

  1. Read Channel: Read-only, high-bandwidth stream of device output frames from controller to host.

  2. Write Channel: Write-only, high-bandwidth stream of device input frames from mhost to controller.

  3. Signal Channel: Read-only stream of short-messages and asynchronous hardware events from controller to host.

  4. Configuration Channel: Bidirectional, addressed access to device registers.

These channels are implemented by the combination of the controller hardware and the Driver Translator.

Concurrent access to a single channel by the host (e.g., by multiple threads of execution or applications) is NOT permitted. However, individual channels MUST be able to be accessed independently.

Note

Concurrent access requirements relate only to the hardware implementation. Functions in a high-level API MAY introduce their own access dependencies and concurrency limitations.

The required characteristics of the controller channels are described in the following sections.