Datasheet
2017 Microchip Technology Inc. DS60001516A-page 77
SAM9G20
Microchip provides an INF example to see the device as a new serial port and also provides another custom driver used by the SAM-BA
application: atm6124.sys. Refer to the document “USB Basic Application”, literature number 6123, for more details.
12.10.3.1 Enumeration Process
The USB protocol is a master/slave protocol. This is the host that starts the enumeration sending requests to the device through the control
endpoint. The device handles standard requests as defined in the USB Specification.
The device also handles some class requests defined in the CDC class.
Unhandled requests are STALLed.
12.10.3.2 Communication Endpoints
There are two communication endpoints and endpoint 0 is used for the enumeration process. Endpoint 1 is a 64-byte Bulk OUT endpoint
and endpoint 2 is a 64-byte Bulk IN endpoint. SAM-BA Boot commands are sent by the host through the endpoint 1. If required, the mes-
sage is split by the host into several data payloads by the host driver.
If the command requires a response, the host can send IN transactions to pick up the response.
Table 12-6: Handled Standard Requests
Request Definition
GET_DESCRIPTOR Returns the current device configuration value
SET_ADDRESS Sets the device address for all future device access
SET_CONFIGURATION Sets the device configuration
GET_CONFIGURATION Returns the current device configuration value
GET_STATUS Returns status for the specified recipient
SET_FEATURE Used to set or enable a specific feature
CLEAR_FEATURE Used to clear or disable a specific feature
Table 12-7: Handled Class Requests
Request Definition
SET_LINE_CODING Configures DTE rate, stop bits, parity and number of character bits
GET_LINE_CODING Requests current DTE rate, stop bits, parity and number of character bits
SET_CONTROL_LINE_STATE RS-232 signal used to tell the DCE device the DTE device is now present