background preloader

USB stuff

Facebook Twitter

V-USB - A Firmware-Only USB Driver for Atmel AVR Microcontrollers. AVR-CDC. AVR-CDC converts USB and RS-232C signals using the AVR micro- controller which has no on-chip USB interface.

AVR-CDC

This technology is based on Object Deveopment's V-USB (Software-USB on AVR), and the CDC (Communication Device Class) protocol was extended over it. AVR-CDC enables PC to communicate with the USB device through virtual COM port. The basic idea of using CDC protocol over Low-speed USB is based on Kyosuke Ishikawa's experiment in 2005. To make it stable and practical, Christian Starkjohann in Object Development helped me modifying his V-USB stack.

Since three endpoints and the bulk transfer on low-speed device violates the USB standard, I added a tiny patch driver on Windows' USB stack. Although this technology is quite experimental, it may be useful to interface your original system to PC easily. The back door to the low-speed bulk transfer is gradually closing on the newer OS. LUFA. LUFA (Lightweight USB Framework for AVRs, formerly known as MyUSB) is my first foray into the world of USB.

LUFA

It is an open-source complete USB stack for the USB-enabled Atmel AVR8 and (some of the) AVR32 microcontroller series, released under the permissive MIT License (see documentation or project source for full license details). The complete line of Atmel USB AVRs and USB AVR boards are supported by the library, as are any custom user boards, via custom board hardware drivers supplied by the user. The Official LUFA Project Logo, by Studio Monsoon Photography The library is currently in a stable release, suitable for download and incorporation into user projects for both host and device modes. For information about the project progression, check out my blog.

LUFA is written specifically for the free AVR-GCC compiler, and uses several GCC-only extensions to make the library API more streamlined and robust. Userial a USB to I2C/SPI/GPIO/ADC bridge. Index ¶ Description ¶ userial is a project building a free USB to I²C/SPI/GPIO bridge, using the Atmel AT90USB647 chip. Hardware and Software are released under an Open Source licence. It supports the following interfaces: 1 × USB interface (serial emulation)1 × JTAG interface1 × I²C (TWI)1 × SPI8 × General purpose digital I/O (GPIO)4 × Analogue to Digital converters (ADC) The board communicates with the host computer using a CDC (USB communications device class).

Schematics and firmware are available to the public. AT90USB firmware. Fast jeder moderne PC ist heute mit USB-Buchsen ausgestattet, die für den Anschluss von Peripheriegeräten verwendet werden. Auch für den Anschluss diverser Mikrocontroller-Schaltungen, von einfachen Experimentierplatinen bis zu professionellen Geräten für Mess-, Steuerungs- und Regelungsaufgaben, bietet sich der USB an. Gegenüber dem traditionellen seriellen RS-232 (UART) Anschluss oder dem parallelen Druckerport zeichnet sich der USB insbesondere durch die einfachere Verkabelung, höhere Datenübertragungsraten und die integrierte Spannungsversorgung aus. Im Gegensatz zu den erwähnten herkömmlichen Schnittstellen sind für den USB feste Protokolle und Übertragungsmodi definiert, die bei seiner Nutzung streng einzuhalten sind. Beschäftigt man sich etwas näher mit den Grundlagen des USB, so wird man zunächst durch dessen Komplexität abgeschreckt.

Maxim AN - Add USB to Anything. Abstract: The MAX3420E makes it easy to design a USB peripheral using a general-purpose microcontroller. After introducing the MAX3420E, this article focuses on the device's SPI interface. The article demonstrates how to access the device either by using a hardwired SPI unit or by bit-banging general-purpose I/O pins. Example C code is given for a USB design that uses the MAXQ2000 microcontroller. Introduction Articles about the Universal Serial Bus (USB) used to start by justifying USB as the new connection standard for personal computers.

A new chip from Maxim Integrated, the MAX3420E, makes it easy to add USB to any system. Adding USB to Anything Microcontroller (µC) choices are often made based on integrated peripherals. It is now possible to add USB to any microcontroller with Maxim's new MAX3420E. A Bus-Powered Widget Figure 1. Figure 1 illustrates a common USB peripheral architecture. Table 1. What do you do if the microcontroller does not have an SPI port?

A Big Chip Figure 2. USB Made Simple.