Главная » Микроконтроллеры
Призовой фонд
на октябрь 2020 г.
1. 1500 руб
Сайт Паяльник
2. Тестер компонентов MG328
Сайт Паяльник
3. 150 руб.
От пользователей

Похожие статьи:



Плата Digispark Kickstarter на основе микроконтроллера ATTINY85

Отладочная плата 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)\Atmel\Flip 3.4.7\usb\ (в зависимости от версии 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-бит
AT90USB162
1 Поиск в магазине ОтронВ блокнот
C1, C6 Конденсатор1 мкФ2 1206Поиск в магазине ОтронВ блокнот
C2 Конденсатор0.1 мкФ1 1206Поиск в магазине ОтронВ блокнот
C3, C4 Конденсатор22 пФ2 1206Поиск в магазине ОтронВ блокнот
C5 Конденсатор10 мкФ1 1206Поиск в магазине ОтронВ блокнот
R1 Резистор
1.5 кОм
1 1206Поиск в магазине ОтронВ блокнот
R2, R3 Резистор
22 Ом
2 1206Поиск в магазине ОтронВ блокнот
R4 Резистор
1 кОм
1 1206Поиск в магазине ОтронВ блокнот
R5, R6 Резистор
10 кОм
2 1 - 0805, 1 - выводнойПоиск в магазине ОтронВ блокнот
LED1 СветодиодКрасный1 1206Поиск в магазине ОтронВ блокнот
LED2 СветодиодЗеленый1 1206Поиск в магазине ОтронВ блокнот
Z1 Кварцевый резонатор16 МГц1 Поиск в магазине ОтронВ блокнот
Jmp1, Jmp2 ПеремычкаДжемпер2 Поиск в магазине ОтронВ блокнот
S1, S2 Тактовая кнопкаIT-1127-5-160G-G2 smdПоиск в магазине ОтронВ блокнот
X1 Штыревое соединениеPLS-41 Поиск в магазине ОтронВ блокнот
X2 Штыревое соединениеPLS-21 Поиск в магазине ОтронВ блокнот
X3 Штыревое соединениеPLS-141 Поиск в магазине ОтронВ блокнот
X4 Штыревое соединениеPLS-81 Поиск в магазине ОтронВ блокнот
X5 РазъемminiUSB1 smdПоиск в магазине ОтронВ блокнот
Штыревое соединениеPLS-2 угловой2 для джемперовПоиск в магазине ОтронВ блокнот
Добавить все

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

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

Теги:

Опубликована: 0 2
Я собрал 0 2
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.7 Проголосовало: 2 чел.

Комментарии (7) | Я собрал (0) | Подписаться

0
viktor26 #
Все хорошо, но, ничего не сказано про fusebit. Неужели их нет?
Ответить
0

[Автор]
Gauss #
2 попытки угадать очевидное
Ответить
0
viktor26 #
Свернул даташит в трубочку, курнул, оказывается рано я радовался. У AVRов это наверное отличительная феничка. Я расстроен
Ответить
0

[Автор]
Gauss #
Курить нужно правильно, а не по китайски, а лучше вообще не курить, это вредно - короче есть бутлодер с юсб, есть обычный ISP с фьюзами
Ответить
0
viktor26 #
Ну с бутлоадером я не работал никогда, а вот если бы isp без фьюзов это другое дело
Ответить
0

[Автор]
Gauss #
И вообще даташит параграф 25. Memory Programming целиком
Ответить
0
Ashim #
Зачем нужны конденсаторы С1, С2, С5?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
Arduino UNO Автомобильный GPS-трекер с GSM/GPRS и дистанционным управлением
вверх