2.5.2.2 Abstract Control Model (ACM)
One of the basic supported models for communication by CDC is POTS (Plain Old Telephone Service). The POTS model is for devices that communicate via ordinary phone lines and generic COM port devices. The USB CDC specification refers to this basic model as PSTN (Public Switched Telephone Network).
Depending on the amount of data processing the device is responsible for POTS/PSTN is divided into several models. The processing of data can include modulation, demodulation, error correction and data compression.
Of the supported PSTN models, this CDC Function Driver implements ACM. In the ACM the device handles modulation, demodulation and handles V.25ter (AT) commands. This model (ACM) also supports requests and notifications to get and set RS-232 status, control, and asynchronous port part parameters. Virtual COM port devices use ACM.
The following sections describe the management requests and notifications supported by the CDC Function Driver ACM_layer.
Management Requests
The Host requests/sends some information in the form of management requests on the bidirectional Endpoint 0. The following table shows the CDC specification ACM sub class management requests and how these request are handled by the CDC Function Driver.
Request Code | Required/Optional | Comments |
SEND_ENCAPSULATED_COMMAND | Required | Implemented by the CDC Function Driver ACM_layer. This request is stalled. |
GET_ENCAPSULATED_RESPONSE | Required | Implemented by the CDC Function Driver ACM_layer. This request is stalled. |
SET_COMM_FEATURE | Optional | Not Implemented. |
GET_COMM_FEATURE | Optional | Not Implemented. |
CLEAR_COMM_FEATURE | Optional | Not Implemented. |
SET_LINE_CODING | Optional | Implemented by the CDC Function Driver ACM_layer. Requires application response. |
GET_LINE_CODING | Optional | Implemented by the CDC Function Driver ACM_layer. Requires application response. |
SET_CONTROL_LINE_STATE | Optional | Implemented by the CDC Function Driver ACM_layer. Requires application response. |
SEND_BREAK | Optional | Implemented by the CDC Function Driver ACM_layer. Requires application response. |