Using Generic USB Controllers
class interface. However, the value isn’t used if the device doesn’t handle call
management.
If the communication interface has an interrupt or bulk endpoint for event
notifications, that endpoint has a standard endpoint descriptor. The example
descriptors include an endpoint descriptor for an interrupt IN endpoint. The
wMaxPacketSize field specifies the number of bytes the device sends in each
transaction. The bInterval field specifies the requested maximum period
between IN token packets from the host. At full speed, bInterval equals a num-
ber of milliseconds. At high speed, bInterval can range from 1 to 16, and the
requested maximum interval in milliseconds equals the following value:
2 bInterval-1 * 0.125
Thus, for a 1-ms maximum interval at full speed, bInterval =1, and for a maxi-
mum interval of 1 ms at high speed, bInterval = 4.
$
3
$
In addition to the communication class interface, a communication device typ-
ically has an interface to carry application data. A CDC data class interface can
perform this function. If bInterfaceSubClass in the communication class inter-
face specifies the abstract control model, the CDC specification requires a data
class interface.
In the descriptor for a data class interface, bInterfaceClass = 0Ah. The interface
can have bulk or isochronous endpoints for carrying application data. Each
endpoint has a standard endpoint descriptor. Instead of a data class interface,
some CDC devices use other class or vendor-specific interfaces to carry applica-
Table 16-4: In the interface descriptor for a communication device, the
bInterfaceProtocol field can indicate a protocol the communications model
supports.
00h No class-specific protocol required
01h AT commands (specified in ITU V.25ter)
02h–06h AT commands for WMC devices
07h–FDh Reserved for future use
FEh External protocol for WMC devices
FFh Vendor specific