3.5. USB Data Exchange

The USB standard supports two kinds of data exchange between a host and a device: functional data exchange and control exchange.

Figure 3.2 below depicts a USB device with one bi-directional control pipe (endpoint) and two functional data transfer pipes (endpoints), as identified by WinDriver's DriverWizard utility (discussed in Chapter 5).

Figure 3.2. USB Pipes

USB Pipes

More information on how to implement the control transfer by sending setup packets can be found in Section 8.2.