Question

What is the name of the USB class which handles communication with USB devices which appear as COM ports in Window's device manager? For linux (at least for Fedora 17 and Ubuntu 12.04) these ports appear as ACM (Abstract Control Model, /dev/ttyACM#).

I understand that historically, serial communication was primarily done through the RS-232 serial port which is now deprecated. I believe that today's standard is to communicate through USB using HID.

A google search for ACM reveals that it is part of CDC (Communications Device Class) which is a USB communication class opposite of HID (i.e. a USB device may use HID or CDC). This wikipedia article reveals that CDC/ACM is a method of emulating RS-232 communication over USB.

With this information, shouldn't this form of serial communication be called "CDC" or "CDC/ACM" ?

Was it helpful?

Solution

According to this, the USB connected "Virtual COM ports" are indeed using the USB CDC class.

OTHER TIPS

the name of the protocol which handles communication with USB devices which appear as COM ports in Window's device manager?

In most cases a propretary protocol is used, like in FTDI/PL2303/SiLabs Serial2USB chips. They use a Windows specific interface to appear as COM ports, but that has nothing to do with ACM.

If you have the choice - e.g. on your own USB microcontroller - I recommend dropping the COM port and using WINUSB or LibUSB to talk to your device directly, even if you only have one Bulk-In and Bulk-Out Endpoint each.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top