Features • Fully USB 1.1 compliant low-speed device, except handling of communication errors and electrical specifications. • demonstrate device and host driver implementations on Linux, Mac OS X and Windows. • Supports multiple endpoints: one control endpoint, two interrupt/bulk-in endpoints and up to 7 interrupt/bulk-out endpoints.
The Atmel USB Driver is a cumulative installer that bundles the required USB. Update can be downloaded from http://support2.microsoft.com/kb/931125. This example shows how to implement a USB Device CDC on Atmel MCU with USB. AVR4907 requested by Windows for a driver INF file, select the atmel_devices_cdc.inf file.
(Note that the USB specification forbids bulk endpoints for low speed devices, but V-USB supports them to some degree.) • Transfer sizes up to 254 bytes by default, more as configuration option. • Comes with freely usable USB identifiers (Vendor-ID and Product-ID pairs). • Runs on any AVR microcontroller with at least 2 kB of Flash memory, 128 bytes RAM and a clock rate of at least 12 MHz. • No UART, timer, input capture unit or other special hardware is required (except one edge triggered interrupt). • Can be clocked with 12 MHz, 15 MHz, 16 MHz 18 MHz or 20 MHz crystal or from a 12.8 MHz or 16.5 MHz internal RC oscillator. • High level functionality is written in C and is well commented. • Only about 1150 to 1400 bytes code size.
• You can choose the License: Open Source or commercial. Click for details. Benefits over Alternative Solutions Why not choose a microcontroller with built-in USB hardware? There are several of these available (see ). Or combine the microcontroller of your choice with a USB chip? Tune up utilities 2007 full version. Advantages over Microcontrollers with USB Hardware • Standard AVR controllers are usually easier to obtain. • Most of the controllers with USB support are only available in SMD, which is almost impossible to handle for hobbyists.
• V-USB comes with a free shared Vendor- / Product-ID pair. • A good free ANSI-C compiler (GNU gcc) and a free development system for Windows (WinAVR) are available for AVR. • AVR controllers are faster than most of the controllers with integrated USB and cost less. • Stand-alone operation: Some of the USB controllers download their firmware from the host computer into RAM. They don’t work without connection to the host. • AVR controllers have on-chip EEPROM. Advantages over separate USB Peripheral • No additional cost.
• No additional hardware complexity: simpler PCB, less failures. • More freedom in the choice of USB descriptors. • V-USB comes with a free shared Vendor- / Product-ID pair.
• Little hardware resources used: only two to three I/O pins. • USB chips are often hard to obtain. Advantages over other Firmware-Only Implementations A similar driver for the AVR series of microcontrollers is available from. Our USB driver has the following advantages over Igor’s driver: • All customizable code written in ANSI-C and thus easier to maintain. • Modular concept: easier to integrate into existing designs. • Slightly smaller code size in spite of high level language modules. • Faster: All encoding/decoding (USB requires NRZI coding and bit stuffing) is done in real-time, not in the main loop after storing away the raw data stream.
• More endpoints, USB descriptors can be better customized. • V-USB comes with a free shared Vendor- / Product-ID pair. • The level of standards conformance is documented (description of limitations and potential problems). • Licensed under the terms of the GNU General Public License or alternatively under a commercial license. Dick Streefland has stripped down an older version of V-USB to the basics. Is easier to read and understand, but lacks some of the features found in V-USB: • V-USB supports up to 4 endpoints.
This allows implementing devices conforming to the HID or CDC device class. • V-USB passes the tests in usb.org’s test utility.
• V-USB supports many different clock rates, some even with the internal RC oscillator. Iso 3046 1 standard reference conditions pdf converter.