USB CDC/ACM Class Driver for Windows 2000, XP, Vista, 7

Features      Supported Platforms      Demo      Documentation      Prices

Thesycon’s USB CDC/ACM device driver provides a serial port emulation on Windows operating systems by implementing a serial link emulation protocol on USB. The driver exposes a Win32-compatible COM port and in addition provides some unique features such as a Plug&Play compliant device instance enumeration method. This avoids confusion about COM port numbers and improves usability.

The driver supports all Windows desktop operating versions (e.g. Windows 2000, Windows XP, Windows Vista and Windows 7). A similar driver is also available for Windows CE. See USB CDC/ACM Class Driver for Windows CE for more information.

 

USB CDC/ACM Class Driver for Windows

 

The driver works with devices that are compliant to the Communication Device Class (CDC) specification, subclass Abstract Control Model (ACM). However, the driver supports three different USB protocol flavours which are described in more detail below.

 

Thesycon also offers the Embedded USB Device Stack with CDC/ACM device class for implementing the firmware of a USB CDC/ACM device. With these development kits Thesycon provides the support for implementing the firmware and the device driver for USB CDC/ACM devices quickly and cost-effective.

Supported USB Protocols

CDC/ACM Compliant Protocol

The device needs to implement the Abstract Control Model (ACM) subclass defined in the USB Communication Device Class (CDC) specification. This protocol requires two USB interfaces, a data interface which consists of two endpoints (bulk in + bulk out) and a control interface which consists of one interrupt in endpoint. Furthermore, on EP0 the device needs to implement the class-specific requests defined by the CDC specification. Because this USB protocol is compliant to the CDC/ACM standard on some operating systems (e.g. Linux, MacOS) the device can work with in-box drivers.

Reduced CDC/ACM Protocol

This mode uses the CDC data interface (bulk in + bulk out endpoint) only. No control interface (interrupt in endpoint) is required. The device needs to implement the CDC class-specific requests. So it is still possible to support baud rate settings and serial control/status lines. This mode is useful if the number of available endpoints is limited by hardware restrictions. However, as the protocol is proprietary a specific device driver is required for every operating system platform to be supported by the device.

Bulk-only Protocol

The device implements the data interface (bulk in + bulk out endpoint) only. The device does not provide an additional control interface and does not need to implement any class-specific requests on EP0. Because bulk transfer mode provides flow control there is no need to support serial control/status lines. The advantage of the bulk-only protocol is that the implementation efforts on the device side are reduced to a minimum. However, because the protocol is proprietary a specific device driver is required for every operating system platform to be supported by the device.

USB CDC/ACM Class Driver Features

Depending on the driver configuration the CDC/ACM device driver exposes an emulated COM port or a modem. The standard Windows mechanism is used to assign a COM port number to each device instance. This COM port can be opened and used by standard programs such as HyperTerminal.

 

In addition to the COM port naming scheme the driver supports a PnP compliant enumeration mechanism which is based on device interfaces. Custom applications can enumerate and open available device instances by using Windows API functions such as SetupDiGetClassDevs and SetupDiEnumDeviceInterfaces. So the user is not required to enter a COM port number. Applications can automatically locate, identify and open available device instances. By using the function RegisterDeviceNotification applications can receive notification messages when devices are connected or disconnected. Thus, an application can implement full USB Plug&Play support.

Feature Summary

Supported Platforms x86 x64
Windows 7  yes  yes
Windows Vista  yes  yes
Windows Server 2003  yes  yes
Windows XP embedded  yes  no
Windows XP  yes  yes
Windows 2000  yes  no

 

A similar driver is also available for Windows CE. See USB CDC/ACM Class Driver for Windows CE for more information.

Easy Installation

N E W

Using Thesycon’s PnP Driver Installer it is very easy to create a specific setup wizard that handles driver installation, un-installation and update in a comfortable and reliable way. For more information on PnP Driver Installer, check out http://www.thesycon.de/pnpinstaller.

Free Demo

The demo version is time-limited but has full functionality. After the device is connected the driver can be used for used for 4 hours, then the driver disables itself and the computer must be rebooted in order to use the demo again. The demo package includes the driver and the documentation.

 

Current Version: 1.86

Documentation

Licensing conditions & Prices

For prices in US dollars, please e-mail:

USB Vendor and Product ID

When designing a USB device you need an official USB vendor ID (VID) which is unique world-wide. Vendor ID's will be assigned by the USB Implementers Forum (www.usb.org). There is a fee of $1500 US.

 

Thesycon owns a USB vendor ID and provides a subset of product ID's (PID) to customers who licensed our USB software.

Keep up to Date

If you would like to be kept informed of product updates, please subscribe to the Thesycon newsletter.

 

 

© 2010 THESYCON

Device Driver - Software Development - Consulting home to the german version