Форма входа

Поиск



Счетчик посетителей

Рейтинг@Mail.ru

Разработано jtemplate модули Joomla

V-USB описание проекта

В настоящее время в среде самодеятельных конструкторов (или, как их традиционно у нас называют, радиолюбителей) набирает актуальность вопрос подключения своих самодельных конструкций к компьютеру посредством USBинтерфейса. И это понятно. Современные компьютеры просто не оставляют для конструкторов иного выхода. Почти умер такой простой удобный LPT порт. Доживает свои последние дни немного более сложный порт COM. На современных ноутбуках этих портов почти не увидишь. Да и на стационарных компьютерах производители все чаще их не ставят. Зато USB порт уверенно завоевывает освободившиеся позиции. К тому же USB имеет и очевидные преимущества: наличие питающего напряжения на шине, позволяющего питать подключаемые устройства, возможность горячего подключения и отключения, небольшие размеры, малое количество проводников и контактов (всего 4 контакта).  Но не смотря на все это, USB порт до сих пор не получил распространения среди радиолюбителей. В чем же причина?

Причина в сложности программной части USB драйвера, а так же дороговизны микроконтроллеров со встроенным USB контроллером. Второй момент, затрудняющий использование USB – проблемы лицензирования. Для использования USB интерфейса в своей конструкции вам необходимо приобрести отдельную лицензию именно для вашего случая. Специально для того, что бы решить данные проблемы фирмой Objective development был разработан проект, который сначала назывался USB-AVR, а теперь из соображений лицензионной чистоты носит название V-USB. Проект разработан в Великобритании и предназначен для популяризации порта USB среди широких масс самодеятельных конструкций. Для этого проект имеет открытую лицензию, а так же включает в себя уже оплаченную лицензию на использование USB интерфейса. Дело в том, что каждое устройство USB должно содержать код поставщика и идентификатор продукта (VID и PID). Код VID каждый производитель может получить на usb.org. И стоит один такой код 1500 долларов США. Получив свой VID, вы уже самостоятельно имеете право присвоить PID каждому своему продукту по своему усмотрению. Разработчики V-USB предоставляют на правах открытой лицензии всем желающим одну пару VID/PID кодов бесплатно.

Но это не единственное преимущество проекта V-USB. Не менее важным является простота схемного решения. Так как микросхемы со встроенным USB интерфейсом еще очень дороги, в проекте реализована простая схема, где USB интерфейс реализован в большей части программным путем. Схемная же часть (см. ниже) предельно проста и занимает две линии любого из портов ввода/вывода AVR микроконтроллера.  Недостатком такого решения является невозможность реализации USB в полной мере из за низкого быстродействия AVR. Из-за этого даже не все AVR микросхемы допускается применять. Предлагаемый квази USB интерфейс имеет ряд упрощений. В нем, в частности, не реализована проверка контрольной суммы и проверка симметричности сигнала, что ведет к меньшей помехозащищенности. По той же причине предлагаемый USB канал использует самый низкоскоростной из всех имеющихся режимов.

Изюминкой проекта является то, что он может работать даже от внутреннего RC генератора, правда лишь в том случае, если используемая микросхема имеет режим повышенной частоты генерации внутреннего генератора. Это такие микроконтроллеры как ATTiny45 или ATTiny26. В этом случае вам даже не потребуется внешний кварцевый резонатор.


Рис. 1. Типовая схема AVR-USB

На рисунке 1 показана типовая схема, реализующая канал AVR- USB. Как видно из схемы, микропроцессор получает питание от компьютера через USB разъем (контакт 1). Диоды VD1 и VD2 работают, как низковольтные стабилизаторы напряжения и позволяют снизить напряжение питания микроконтроллера до величины 3,3 В. Это необходимо для того, что бы снизить уровни сигналов до стандарта USB. Использование двух диодов позволяет удешевить схему, но сказывается на качестве ее работы. Если вы желаете повысить качество и стабильность работы схемы диоды можно заменить микросхемой стабилизатором напряжения на 3,3 В. Например таким, как LE33. Пониженное напряжение питания затрудняет подключение к схеме дополнительных микросхем. Если вы желаете питать микроконтроллер от 5В, вы можете поставить стабилитрон на 3,6В на каждую линию данных D+ и D-, как это показано на рисунке 2.


Рис.2. Схема с питанием от +5В

Преимущества предложенного решения

  • Канал полностью совместим с USB 1.1 за исключением обработки ошибок передачи данных и некоторого несоответствия электрических характеристик.
  • Имеется множество конкретных легко доступных примеров разработок с использованием этого продукта для самых популярных операционных систем: Linux, Mac OS и Windows.
  • Система без труда может эмулировать любой тип конечных точек USB: одна конечная точка управления, две конечные точки направления IN и до семи конечных точек направления OUT. (Большее количество точек не разрешается стандартом низкоскоростного USB).
  • Размер блока передаваемых данных по умолчанию равен 256 байт. Имеется возможность увеличения этого размера при необходимости.
  • Имеется возможность самостоятельной установки кода устройства и кода производителя.
  • Работает на любом микроконтроллере AVR, имеющем не менее 2 Кб флэш-памяти, не менее 128 байт ОЗУ, и тактовую частоту не менее 12 МГц.
  • Не использует UART, таймер, режим захвата, и другие специальные режимы и аппаратные возможности (за исключением прерывания по переднему фронту).
  • Допускает работу на частотах тактового генератора больших, чем 12 МГц. Имеются варианты для внешнего кварцевого резонатора с частотой 15 МГц, 16 МГц, 20 МГц и для внутреннего RC генератора с тактовой частотой 16,5 МГц.
  • Вы получаете тексты всех программ, которые написаны на языке СИ и снабжены подробными комментариями.
  • Оттранслированные программы проекта занимают от 1200 до 1400 байт в программной памяти.
  • По желанию вы сами можете выбрать вид лицензирования, либо открытая лицензия, имеющая определенные ограничения в праве на применение, либо коммерческая, которая дает вам больше прав.

Загрузить полный пакет программ AVR- USB с частично русифицированными файлами комментариев вы можете здесь.

Мой сайт по 1С