V-USB

V-USB

V-USB — название программной библиотеки, позволяющей получить поддержку протокола USB на микроконтроллерах AVR (семейств Classic, Tiny и Mega компании Atmel), которые не имеют аппаратной поддержки USB. Авторство библиотеки принадлежит компании Objective Development, которая распространяет и продвигает V-USB по лицензии GNU GPL и коммерческой лицензии (исходные коды библиотеки свободно доступны, см. ссылки).

Старое название библиотеки было AVR-USB, но после того как библиотека обрела популярность, название пришлось сменить, чтобы не вступать в конфликт с существующими именами Atmel. Протокол USB реализован программно, и быстродействия ядра AVR хватает только на реализацию стандарта USB 1.1 на низкой скорости (low-speed). По этой причине библиотека V-USB хорошо подходит только для низкоскоростных устройств ввода-вывода (например USB HID). Поскольку требования к быстродействию при обработке сигналов USB (D+ и D-), очень жесткие, то низкоуровневый код написан на ассемблере, и поддерживается только определенный ряд тактовых частот ядра. Сначала тактовая частота была только 12 МГц, но потом стало возможно использовать кварцевые резонаторы на 12, 15, 16, 16.5 и 20 МГц. Микроконтроллеры, которые имеют PLL (ФАПЧ, фазовую автоподстройку частоты) для генерации тактовой частоты, могут использовать внутренний RC-генератор (то есть работать без кварца), при условии калибровки частоты RC-генератора по сигналу SOF (Start Of Frame) протокола USB. Высокоуровневые процедуры и функции библиотеки написаны на языке C. Требования к микроконтроллеру AVR невысоки — необходимо как минимум 2 кбайта памяти программ (flash) и 128 байт ОЗУ (RAM). Из аппаратных ресурсов используется только прерывание по изменению сигнала на выводе (обычно INT0, подсоединенный к сигналу D+ шины USB). Таким системным требованиям удовлетворяют большинство микроконтроллеров семейства AVR.

Благодаря тому, что вместе с библиотекой поставляются хорошие примеры firmware для USB-устройств (пользовательский класс USB, класс USB HID, мышь USB, управление портами микроконтроллера, чтение и запись его EEPROM), появилось много полезных разработок, использующих библиотеку V-USB — USB-программаторы, устройства ввода и вывода, макетные платы, преобразователи интерфейсов (например, USB-RS232) и многое другое (см. ссылки). Вместе с библиотекой поставляются также примеры программ для компьютера (ПО хоста), которые работают с устройствами на библиотеке V-USB. Примеры ПО хоста используют другую свободную библиотеку — libusb.

Таким образом, библиотека V-USB позволяет непрофессионалам в программировании интерфейса USB быстро начать создавать USB-устройства и писать для них компьютерные программы. Кроме того, отсутствуют затраты на используемое в разработке программное обеспечение — оно доступно по лицензии GNU. Код комментариев библиотеки и примеров firmware и ПО хоста переведены на русский язык (см. ссылки).

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "V-USB" в других словарях:

  • USB-Massenspeicher — USB Speicherstick mit Schlaufe und „unverlierbarem“ Schutzbügel …   Deutsch Wikipedia

  • USB-Speicher-Stick — mit Schlaufe und „unverlierbarer“ Schutzkappe USB Massenspeicher (engl. usb mass storage device) sind Geräte, die über den Universal Serial Bus (USB) kommunizieren und einen eingebauten Datenspeicher besitzen oder für Wechseldatenträger benutzt… …   Deutsch Wikipedia

  • USB-Stift — USB Speicher Stick mit Schlaufe und „unverlierbarer“ Schutzkappe USB Massenspeicher (engl. usb mass storage device) sind Geräte, die über den Universal Serial Bus (USB) kommunizieren und einen eingebauten Datenspeicher besitzen oder für… …   Deutsch Wikipedia

  • USB Stick — USB Speicher Stick mit Schlaufe und „unverlierbarer“ Schutzkappe USB Massenspeicher (engl. usb mass storage device) sind Geräte, die über den Universal Serial Bus (USB) kommunizieren und einen eingebauten Datenspeicher besitzen oder für… …   Deutsch Wikipedia

  • USB mass storage device class — (USB MSC) (clase de dispositivo de almacenamiento masivo USB) es un conjunto de protocolos de comunicación definido por la USB Implementers Forum que funciona sobre USB. El estándar proporciona una interfaz para una variedad de dispositivos de… …   Wikipedia Español

  • USB core — это подсистема ядра Linux, созданная для поддержки USB устройств и контроллеров шины USB. Цель ее создания абстрагирование от аппаратной реализации стандарта USB (либо аппаратно зависимых функций) путем определения набора структур данных,… …   Википедия

  • USB On-The-Go — USB On The Go, normally abbreviated USB OTG, is a supplement [ [http://www.usb.org/developers/onthego On The Go Supplement to the USB 2.0 Specification] Revision 1.3, December 5, 2006] to the USB 2.0 specification.The standard USB uses a… …   Wikipedia

  • Usb on-the-go — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. cable miniA (à gauche) vers miniB (à droite) USB On The Go, également connu sous le …   Wikipédia en Français

  • USB флеш-накопитель — Устройство типичного USB Flash Drive (на примере изделия фирмы «Seitek»: 1  USB разъём; 2  микроконтроллер; 3  контрольные точки; 4  микросхема флеш памяти; 5  кварцевый резонатор; 6  светодиод; 7  переключатель …   Википедия

  • USB флэш-накопитель — Устройство типичного USB Flash Drive (на примере изделия фирмы «Saitek»: 1  USB разъём; 2  микроконтроллер; 3  контрольные точки; 4  микросхема флэш памяти; 5  кварцевый резонатор; 6  светодиод; 7  переключатель …   Википедия

  • USB Attached SCSI —   компьютерный интерфейс для высокоскоростного обмена с USB устройствами хранения, таких как жесткие диски, твердотельные диски и флэш накопители . UAS зависит от протокола USB, и использует стандартные набора команд SCSI. Предназначен для… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»