HID (Human Interface Device) generally requires no Drivers to be installed by the User
It is limited to 64 Bytes/ms (~64K/second) per endpoint used
It is guaranteed to get the timeslot because it uses INT transfers.
CDC (Comunication Device Class) requires drivers (INF file) to be installed and then simulates a serial port.It uses Bulk transfers so theoretically can have good bandwidth but is NOT guaranteed
There are also other code and packet overheads involved. USB CDC can work as UART.
Various USB standards
- The USB 3.1 Specification released on July 26, 2013 and ECNs approved through February 15, 2017
- USB 3.1 Appendix E: Repeaters
- USB 3.0 Adopters Agreement
- On-The-Go and Embedded Host Supplement to the USB Revision 3.0 Specification Revision 1.1 as of May 10, 2012
- Inter-Chip Supplement to the USB Revision 3.0 Specification, Revision 1.02 as of May 19, 2014
- USB 3.1 Device Class Specification for Debug Devices as of July 14, 2015
- USB Type-CTM Locking Connector Specification, March 9, 2016
- USB Type-CTM Cable and Connector Specification Revision 1.2, March 25, 2016 and ECNs
- USB Type-CTM Port Controller Interface Specification as of November, 2016
- USB Power Delivery Specification Rev. 2.0, Version 1.3 is available at http://www.usb.org/developers/powerdelivery/
- USB Power Delivery Specification Rev. 3.0, Version 1.1, January 12, 2017, and corresponding Adopters Agreement
- USB Authentication Specification Rev. 1.0 with ECN and Errata through February 2, 2017
There are 5 modes of USB data transfer, in order of increasing bandwidth: Low Speed (from 1.0), Full Speed (from 1.0), High Speed (from 2.0), SuperSpeed (from 3.0), and SuperSpeed+ (from 3.1); modes have differing hardware and cabling requirements. USB devices have some choice of implemented modes, and USB version is not a reliable statement of implemented modes. Modes are identified by their names and icons, and the specifications suggests that plugs and receptacles be colour-coded (SuperSpeed is identified by blue).