Муфты электромонтажные от производителя Fucon

USB Generic HID Framework с открытым исходным кодом для Atmel AVR и Windows. Часть 1 - Аппаратная часть

Множество микроконтроллеров Atmel AVR со встроенным контроллером USB предоставляют богатые функциональные возможности и периферию, как профессионалам, так и любителям, однако дополнительная сложность разработки программного обеспечения для микроконтроллера и Host-устройства (персональный компьютер) является высоким барьером для любого желающего освоить процесс коммуникации по интерфейсу USB. Хотя на сегодняшний день имеются средства, упрощающие разработку ПО для микроконтроллера с USB интерфейсом, к примеру, это USB стек LUFA с открытым исходным кодом, они все равно требуют определенных знаний о программе для микроконтроллеров AVR, для Windows, а также о физическом аппаратном уровне для поддержки приложений. В данной статье решается эта проблема и предоставляется готовая структура, на базе которой пользователи могут разрабатывать свои приложения и USB устройства.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

USB Generic HID структура для Atmel AVR и Windows

Мы рассмотрим базовую разработку аппаратной части, базовый проект программного обеспечения для микроконтроллера, DLL библиотеку для Windows и тестовое Host-приложение для ПК. Предоставляя проверенную и рабочую основу для разработки USB приложений, структура значительно упрощает задачу изучения USB интерфейса и построения USB устройств.

USB Generic HID протокол предоставляет очень гибкий интерфейс без требований к пользовательским USB драйверам на Host-устройстве, т.к. устройства класса HID поддерживаются всеми ОС MS Windows, начиная с Windows 98SE, а также MACOS, Linux и пр., благодаря встроенным драйверам.

Аппаратная часть

Отладочная плата на базе микроконтроллера ATmega32U4 для разработки USB приложений

Аппаратная часть для нашего проекта – это своего рода отладочная плата на базе микроконтроллера ATmega32U4 с интерфейсом USB.

ATmega32U4 – экономичный 8-битный КМОП микроконтроллер, выполненный на основе RISC ЦПУ AVR. За счет выполнения большинства инструкций за один цикл синхронизации, ATmega32U4 достигает производительности 1 MIPS/МГц, что позволит разработчику оптимизировать соотношение потребляемой мощности и производительности.

Микроконтроллер ATmega32U4 содержит 32 КБайт внутрисистемно-программируемой флэш-памяти с возможностями чтения во время записи, 1 КБайт ЭСППЗУ, 2.5 КБайт статического ОЗУ, 26 линий ввода-вывода общего назначения (КМОП-выходы и LVTTL-входы), 32 рабочих регистра общего назначения, четыре конфигурируемых таймера-счетчика с режимами сравнения и ШИМ, еще один высокоскоростной таймер-счетчик с режимами сравнения и программируемой ФАПЧ в качестве тактового источника, один УСАПП (с выводами аппаратного управления потоком CTS/RTS), байт-ориентированный 2-проводной последовательный интерфейс, 12-канальный 10-битный АЦП с опциональным дифференциальным входным каскадом (программируемое усиление), встроенный откалиброванный датчик температуры, программируемый сторожевой таймер с отдельным встроенным генератором, последовательный интерфейс SPI, совместимый с IEEE 1149.1 отладочный интерфейс JTAG (доступ к встроенной отладочной системе и программирование) и шесть программно-выбираемых экономичных режимов работы.

Принципиальная схема платы представлена ниже.

Принципиальная схема отладочной платы на базе ATmega32U4
Нажмите для увеличения

Из периферии на плате установлены 4 светодиода, 2 кнопки, кнопка сброса и потенциометр 10 кОм. Питание плата может получать или от интерфейса USB, или от внешнего источника. Выбор источника осуществляется с помощью перемычки (или переключателя) SV1. При питании от внешнего источника используется регулятор напряжения типа LM1117 с выходным напряжением 5 В и выходном токе 800 мА. Для индикации присутствия напряжения питания установлены два светодиода.

Как вы видите на схеме, периферия подключается к микроконтроллеру через джамперы, что позволяет отключать ее при необходимости. Это сделано для того, чтобы отладочную плату можно было подключать к макетной плате для быстрого прототипирования устройств. Кнопки подключаются к микроконтроллеру непосредственно.

Для совместимости с различными USB загрузчиками на плате установлен резистор 1 кОм, подключенный к порту PE2 (HWB) микроконтроллера через джампер.

Сигналы линий ввода/вывода микроконтроллера выведены на коннекторы, которые располагаются по периметру платы.

Вид печатной платы

Рисунок печатной платы для отладочной платы на базе Atmega32U4
Нажмите для увеличения

Загрузки

Принципиальная схема и печатная плата отладочной платы (Eagle) – скачать

Часть 2 – прошивка микроконтроллера, демонстрационное ПО, приложения для Windows
Часть 3 – USB Generic HID библиотека коммуникационных функций и ее использование

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: USB Generic HID Open Source Framework for Atmel AVR and Windows. Part 1 - Reference Hardware

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя