最終更新:2012-07-02 (月) 09:53:31 (4317d)  

V-USB
Top / V-USB

Virtual USB port for AVR microcontrollers (旧AVR-USB)

http://www.obdev.at/products/vusb/index.html

概要

AVR用のUSBプロトコルスタック

V-USBはソフトウェアのみでロースピードUSBデバイス(USB 1.1)をAtmelAVR上で実現します。ほぼすべてのAVRマイコンで追加のチップ?を必要とせずにUSBハードウェアの製作を可能にします。

Features

  • Fully USB 1.1 compliant low-speed device, except handling of communication errors and electrical specifications.
  • Example projects 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. (Bulk endpoints are forbidden for low speed devices by the USB standard.)
  • 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 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 here for details.

Wiki

動作環境

よく使う部品

  • 動作確認用LEDを繋ぐ場合

主要な対応チップ

ドキュメント

ライセンス

V-USB Reference Projects

ブートローダ

Arduino

関数

  • usbFunctionSetup?

コントロール転送

  • usbFunctionWrite? - ホストから受診時 (ホストがSet_Report)
  • usbFunctionRead? - ホストに送信 (ホストがGet_Report)

インタラプト転送

  • usbFunctionWriteOut? - データ受診時

関連

  • LUFA - Lightweight USB Framework for AVRs

V-USBの使い方まとめ

参考