Diese Seite ist leider nicht auf Deutsch verfügbar.
Benefits over Alternative Solutions
Why not choose a microcontroller with built-in USB hardware? There are several of these available (see www.lvr.com). Or combine the microcontroller of your choice with a USB chip?
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.
- AVR-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.
- AVR-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 Igor Češko. 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.
- AVR-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 AVR-USB to the basics. His code is easier to read and understand, but lacks some of the features found in AVR-USB:
- AVR-USB supports up to 4 endpoints. This allows implementing devices conforming to the HID or CDC device class.
- AVR-USB passes the tests in usb.org's test utility.
- AVR-USB supports 12 MHz and 16 MHz crystal clocks as well as 16.5 MHz internal RC oscillator clock.
|
AVR-USB
Information
Community Resources
|