Отладочная плата AT90USB162

Сегодня предлагаю рассмотреть ещё один микроконтроллер компании Atmel  — AT90USB162. В чем его особенность вы наверно уже догадались из названия – он поддерживает интерфейс USB на аппаратном уровне, причем это полноценный USB 2.0 интерфейс (Full-speed со скоростью передачи до 12 Мбит/с). Иногда необходимость передачи данных на компьютер от микроконтроллера дает о себе знать – это как изготовление USB программаторов, так и каких-то пользовательских устройств, работающих в связке с персональным компьютером, причем на сегодняшний день набирают обороты USB устройства для планшетов (Android). Так вот такой микроконтроллер отлично подходит для разработки подобных устройств (более современные ARM пока что не затрагиваем). Но, кроме USB в AT90USB162, в принципе, больше ничего особенного и не найдем: привычный корпус tqfp32, 16 кб флэш памяти, по 512 байт оперативной и энергонезависимой памяти eeprom, 1 таймер 8 бит и 1 таймер 16 бит, интерфейсы USART и SPI, дополнительно к USB PS/2 интерфейс. Печалит отсутствие аппаратного I2C и хоть какого-нибудь АЦП. В связке с аппаратным USB микроконтроллер может работать с двумя кварцами – 8 МГц и 16 МГц. При этом если питание МК на уровне 2,7 вольта, то максимально можно использовать кварц на 8 МГц, при питании на уровне 4,5 вольт можно использовать кварц до 16 МГц.

Фишкой Atmel в линейке 90USB микроконтроллеров является возможность программировать их без программатора, подключив просто напрямую через USB к компьютеру (естественно программируется не само, а при помощи специального софта — Flip). На самом деле это очень удобно, а скоростью прошивки вы будете приятно удивлены, недаром ведь Full-speed – все операции для записи микропрограммы займут от долей секунды до 1 секунды. В каждом плюсе этого микроконтроллера кроется и минус, здесь он заключается в том, что общий объем флэш памяти составляет 16 кбайт, но для возможности прошивки через USB необходим bootloader, который съедает 4 кбайта флэш памяти AT90USB162, остается всего 12 кбайт для использования. Конечно, жалко, но вообще-то большинство прошивок не выйдут за пределы 12 кбайт, поэтому это можно стерпеть, а вообще этот же микроконтроллер можно программировать как по USB, так и стандартными средствами – через программатор по SPI. В этом случае bootloader удаляется из памяти и освобождается вся память для использования. Но при необходимости bootloader всегда можно загрузить через SPI и снова использовать программирование через USB. Последние версии можно найти на сайте Atmel’a.

Ну вот, с функционалом AT90USB162 разобрались, теперь можно приступить к разработке какого-нибудь устройства, но что нам для этого понадобится? В первую очередь необходима какая-нибудь отладочная или макетная плата с данным микроконтроллером. Пожалуй, этим и займемся в продолжение статьи.

Итак, предлагаю свой вариант отладочной платы для микроконтроллера AT90USB162:

Вся плата питается от USB компьютера напряжением 5 вольт, при этом используется кварц на частоту 16 МГц. На плате присутствует весь необходимый минимал обвязки микроконтроллера, для того чтобы соединить с компьютером и сразу же приступить к работе с микроконтроллером: конденсаторы по питанию микроконтроллера и внутреннего стабилизатора 3,3 вольта, резисторы по выводам Data + и Data -, подтягивающие резисторы для кнопок Reset и HWB (необходимо для использования bootloader’a, об этом чуть позже), два светодиода с токоограничивающими резисторами – один светодиод красного цвета соединен с землей и плюсом питания для индикации присутствия напряжения, другой светодиод через перемычку соединен с выводом микроконтроллера для индикации чего-либо. Перемычка дает возможность отключить вывод микроконтроллера от светодиода и использовать его для других целей. Таким же образом присутствует перемычка для отключения подтягивающего резистора кнопки HWB, чтобы использовать этот вывод в своих целях. Все порты ввода/вывода микроконтроллера выведены на штыревые соединения, а также плюс и минус питания.

Схема отладочной платы:

Схема построена на микроконтроллере AT90USB162, питание которого берется от порта 5 вольт. Микроконтроллер внутри содержит стабилизатор на 3,3 вольта для питания линий USB (которые как раз и работают именно на таком напряжении). Конденсатор C6 выполняет функцию фильтра для этого внутреннего стабилизатора напряжения. Номинал можно увеличить. Резисторы R2, R3 необходимы для корректной работы по линиям данных USB порта. Кварц используется номиналом 16 МГц, потому что микроконтроллер питается от 5 вольт, что позволяет поставить кварцевый резонатор на более высокую частоту. При питании 3,3 вольта, согласно даташиту, максимальная частота кварца для этого микроконтроллера составила бы 8 МГц. Резисторы R5 и R6 подтягивают 5 вольт к линиям микроконтроллера для правильной работы кнопок и исключения воздействия помех на этих линиях. Резисторы R1 и R4 ограничивают ток, протекающий через светодиоды, чтобы исключить их выход из строя.

Берем в руки паяльник, кусок текстолита и паяем отладочную плату. Готово? Хорошо. Теперь можно подключить устройство к USB компьютера или ноутбука. Ага, но не тут то было. Нужны какие-то драйвера, потому что устройство не распознается должным образом. Сначала необходимо установить софт от компании Atmel – Flip, он необходим для программирования МК через USB. Этот софт содержит как раз тот драйвер, который необходим для AT90USB. Его можно найти по следующему пути c:Program Files (x86)AtmelFlip 3.4.7usb (в зависимости от версии windows путь может немного отличаться). Через диспетчер устройств указываем путь к драйверу и получаем сообщение из трея.

Это значит устройство загрузилось и определилось успешно. В диспетчере устройств после успешной установки драйвера микроконтроллер определится вот так:

Теперь можно смело начинать работу с микроконтроллером. Для первых опытов с отладочной платой была написана тестовая прошивка, которая моргает зеленым светодиодом на отладочной плате, прошивка и исходник предоставлены в конце статьи, видео работы там же.

Для загрузки тестовой прошивки будем использовать программу Flip (кто не скачал, качаем последнюю версию с сайта Atmel’a). Открываем ее (интерфейс очень простенький и разобраться с программой займет одну минуту времени).

Открыли Flip, появилось вот такое окно, жмем на иконку микросхемки и выбираем наш микроконтроллер AT90USB162, далее жмем на шнурок USB рядышком с предыдущей иконкой и выбираем соединение по USB и жмем открыть – все можно загружать прошивку. Для этого либо жмем на третью обведенную в красный квадрат иконку, либо меню File -> Load HEX и выбираем путь к прошивке. Стоит учитывать, что путь не должен содержать русских символов (лишь латиница), иначе, возможно, будет появляться ошибка при попытке выбрать файл. Итак, сделали все правильно и выбрали файл прошивки, теперь жмем на кнопку RUN, доля секунды и процесс прошивки завершен, жмем Reset на отладочной плате AT90USB162 и светодиод начинает бодро моргать! При этом из диспетчера устройств пропал наш микроконтроллер и мы не можем снова прошить его в Flip. Без паники! Все так и задумано! Чтобы снова активировать bootloader жмем и удерживаем кнопку Reset, жмем кнопку HWB и удерживаем ее, отпускаем Reset, отпускаем HWB, через секунду в трее снова определяется микроконтроллер, можно снова перепрошить его. Жмем на Reset и снова запускается прошитая программа.

К статье прилагается прошивка, исходник прошивки, печатная плата для AT90USB162, документация на микроконтроллер,  Proteys не содержит модели данного микроконтроллера, поэтому экспериментировать можно лишь на отладочной плате, также небольшое видео работы.

На этом все, спасибо за внимание, все вкусности ещё впереди!


Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

IC1
МК AVR 8-битAT90USB1621
C1, C6
Конденсатор1 мкФ2
1206C2
Конденсатор0.1 мкФ1
1206C3, C4
Конденсатор22 пФ2
1206C5
Конденсатор10 мкФ1
1206R1
Резистор1.5 кОм1
1206R2, R3
Резистор22 Ом2
1206R4
Резистор1 кОм1
1206R5, R6
Резистор10 кОм2
1 — 0805, 1 — выводнойLED1
СветодиодКрасный1
1206LED2
СветодиодЗеленый1
1206Z1
Кварцевый резонатор16 МГц1
Jmp1, Jmp2
ПеремычкаДжемпер2
S1, S2
Тактовая кнопкаIT-1127-5-160G-G2
smdX1
Штыревое соединениеPLS-41
X2
Штыревое соединениеPLS-21
X3
Штыревое соединениеPLS-141
X4
Штыревое соединениеPLS-81
X5
РазъемminiUSB1
smd
Штыревое соединениеPLS-2 угловой2
для джемперовДобавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.