Serial Port Complete - Latest Microcontroller projects

(lily) #1

Chapter 16


and notifications to get and set RS-232 status and control signals and asynchro-
nous port parameters. Data uses a CDC data interface.
Devices that use the abstract control model include virtual COM ports and
Ethernet devices that comply with the Microsoft-specific Remote NDIS proto-
col. The Remote NDIS USB Driver Kit, available from Microsoft, includes
Microsoft’s specification.
The CDC telephone control model supports call management and notifica-
tions and typically uses other classes such as audio for data and HID for a key-
pad interface.

: 


 


The function performed by Virtual COM-port devices is sometimes called
serial emulation. The CDC specification says that abstract-control-model
devices understand AT commands. In practice, however, a vitual COM-port
device that doesn’t communicate with a modem that uses the commands will
never receive a command and thus doesn’t need to support them.
A generic COM-port device that supports the abstract control model and uses
the standard Windows drivers performs these tasks:


  • Returns descriptors that identify the device as a COM-port device that sup-
    ports the abstract control model and common AT commands.

  • Accepts COM-port data on a bulk OUT endpoint.

  • Sends COM-port data as needed on a bulk IN endpoint.

  • Sends SERIAL_STATE notifications as needed on an interrupt IN end-
    point.
    In addition, most abstract control model devices support class-specific requests
    to get and set asynchronous port parameters and to control the RS-232 signals
    RTS, DTR, and Break.
    The abstract control model requires devices to support the class-specific control
    requests SEND_ENCAPSULATED_COMMAND and
    GET_ENCAPSULATED_RESPONSE and the class-specific notification
    RESPONSE_AVAILABLE. Again, devices that don’t use AT commands will
    never receive these requests or need to send the notification.
    The model doesn’t define a way for the host to read the state of RS-232’s CTS
    status signal. Device firmware can still read CTS on a local asynchronous port
    and take appropriate action. For example, if a virtual COM-port device has
    data to send to a remote device that hasn’t asserted CTS, the virtual COM-port
    device can store the data in a buffer and wait to transmit. If the buffer is full,

Free download pdf