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 и ПО хоста переведены на русский язык (см. ссылки).

Напишите отзыв о статье "V-USB"



Ссылки

  • [www.obdev.at/products/vusb/index.html Страничка сайта компании Objective Development, посвященная библиотеке V-USB].
  • [www.obdev.at/products/vusb/projects.html Проекты, основанные на V-USB].
  • [microsin.ru/Download.cnt/avr/avr-usb-russian.rar Переведенная на русский язык библиотека V-USB].
  • [microsin.ru/content/view/613/44/ Разработка устройства USB — как начать работу с библиотекой V-USB]. Пошаговое руководство, как быстро начать создавать свои собственные устройства USB.
  • [microsin.ru/content/view/775/44/ Макетные платы с интерфейсом USB].
  • [www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny]. Другая программная реализация протокола USB.
  • [courses.cit.cornell.edu/eceprojectsland/STUDENTPROJ/2007to2008/blh36_cdl28_dct23/index.html SIAM32 USB]. Реализованная на микроконтроллере ATmega32 программная поддержка хоста USB.
  • [bascom.at.ua/publ/kak_podruzhit_bascom_avr_s_usb_russkij_variant_an_178_software_implementation_of_usb_in_avr/1-1-0-34]. Программная реализация протокола USB в среде BASCOM AVR (бейсик).

Отрывок, характеризующий V-USB

Французские орудия опять поспешно заряжали. Пехота в синих капотах бегом двинулась к мосту. Опять, но в разных промежутках, показались дымки, и защелкала и затрещала картечь по мосту. Но в этот раз Несвицкий не мог видеть того, что делалось на мосту. С моста поднялся густой дым. Гусары успели зажечь мост, и французские батареи стреляли по ним уже не для того, чтобы помешать, а для того, что орудия были наведены и было по ком стрелять.
– Французы успели сделать три картечные выстрела, прежде чем гусары вернулись к коноводам. Два залпа были сделаны неверно, и картечь всю перенесло, но зато последний выстрел попал в середину кучки гусар и повалил троих.
Ростов, озабоченный своими отношениями к Богданычу, остановился на мосту, не зная, что ему делать. Рубить (как он всегда воображал себе сражение) было некого, помогать в зажжении моста он тоже не мог, потому что не взял с собою, как другие солдаты, жгута соломы. Он стоял и оглядывался, как вдруг затрещало по мосту будто рассыпанные орехи, и один из гусар, ближе всех бывший от него, со стоном упал на перилы. Ростов побежал к нему вместе с другими. Опять закричал кто то: «Носилки!». Гусара подхватили четыре человека и стали поднимать.
– Оооо!… Бросьте, ради Христа, – закричал раненый; но его всё таки подняли и положили.
Николай Ростов отвернулся и, как будто отыскивая чего то, стал смотреть на даль, на воду Дуная, на небо, на солнце. Как хорошо показалось небо, как голубо, спокойно и глубоко! Как ярко и торжественно опускающееся солнце! Как ласково глянцовито блестела вода в далеком Дунае! И еще лучше были далекие, голубеющие за Дунаем горы, монастырь, таинственные ущелья, залитые до макуш туманом сосновые леса… там тихо, счастливо… «Ничего, ничего бы я не желал, ничего бы не желал, ежели бы я только был там, – думал Ростов. – Во мне одном и в этом солнце так много счастия, а тут… стоны, страдания, страх и эта неясность, эта поспешность… Вот опять кричат что то, и опять все побежали куда то назад, и я бегу с ними, и вот она, вот она, смерть, надо мной, вокруг меня… Мгновенье – и я никогда уже не увижу этого солнца, этой воды, этого ущелья»…
В эту минуту солнце стало скрываться за тучами; впереди Ростова показались другие носилки. И страх смерти и носилок, и любовь к солнцу и жизни – всё слилось в одно болезненно тревожное впечатление.
«Господи Боже! Тот, Кто там в этом небе, спаси, прости и защити меня!» прошептал про себя Ростов.
Гусары подбежали к коноводам, голоса стали громче и спокойнее, носилки скрылись из глаз.
– Что, бг'ат, понюхал пог'оху?… – прокричал ему над ухом голос Васьки Денисова.
«Всё кончилось; но я трус, да, я трус», подумал Ростов и, тяжело вздыхая, взял из рук коновода своего отставившего ногу Грачика и стал садиться.
– Что это было, картечь? – спросил он у Денисова.
– Да еще какая! – прокричал Денисов. – Молодцами г'аботали! А г'абота сквег'ная! Атака – любезное дело, г'убай в песи, а тут, чог'т знает что, бьют как в мишень.
И Денисов отъехал к остановившейся недалеко от Ростова группе: полкового командира, Несвицкого, Жеркова и свитского офицера.
«Однако, кажется, никто не заметил», думал про себя Ростов. И действительно, никто ничего не заметил, потому что каждому было знакомо то чувство, которое испытал в первый раз необстреленный юнкер.
– Вот вам реляция и будет, – сказал Жерков, – глядишь, и меня в подпоручики произведут.
– Доложите князу, что я мост зажигал, – сказал полковник торжественно и весело.
– А коли про потерю спросят?
– Пустячок! – пробасил полковник, – два гусара ранено, и один наповал , – сказал он с видимою радостью, не в силах удержаться от счастливой улыбки, звучно отрубая красивое слово наповал .