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

AT-USB Start мини-отладочная платформа на базе AT90USB162

Описание

AT-USB Start — это компактная отладочная платформа на базе контроллера AT90USB162, которая содержит все необходимое и помещается у Вас на ладони. Создана специально для использования с беспаечными макетными платами, что позволяет удобно и быстро расширить используемую совместно с ней переферию.

С этой отладочной платой Вы можете собрать множество подключаемых по USB устройств — кейлоггер, MP3-плеер, подключить внешние датчики и вообще сделать все, на что хватит фантазии. Ведь контроллер AT90USB162 поддерживает интерфейс USB 2.0 и уже содержит загрузчик. Просто установите отладку на макетную плату и в считанные минуты Вы соберете Ваш собственный USB-гаджет!

Питается AT-USB Start от внешнего источника 5 В, либо прямо от USB, что очень удобно.

Что на борту

  • Контроллер AT90USB162 с поддержкой USB 2.0 интерфейса
  • Разъем Mini-USB
  • Сменный кварц
  • Кнопка RESET и кнопка вызова загрузчика

Вот и все, что нужно для быстрого старта. Чтобы залить программу в чип Вам даже не потребуется программатор, все делается через порт USB с использованием бесплатной программы FLIP, которую можно скачать с сайта ATMEL.COM. Ну а сама программа (прошивка) пишется в бесплатной среде AtmelStudio6.2

Назначение пинов

SS, PCINT0.

SS — этот вывод может работать как аппаратная выборка интерфейса SPI (Slave Port Select input). PCINT0 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня.

PB1 — SCK, PCINT1. SCK — тактовый сигнал интерфейса SPI (Master Clock output, Slave Clock input). PCINT1 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня.

PB2 — PDI, MOSI, PCINT2. Этот вывод не выведен на контакты P1..P22, поскольку используется для для программирования ISP. PDI — SPI Serial Programming Data Input. Во время последовательного программирования AT90USB162 этот вывод используется как вход данных. MOSI — сигнал данных интерфейса SPI. PCINT2 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня.

PB3 — PDO, MISO, PCINT3. Этот вывод не выведен на контакты P1..P22, поскольку используется для для программирования ISP. PDO — SPI Serial Programming Data Output. Во время последовательного программирования AT90USB162 этот вывод используется как выход данных. MISO — сигнал данных интерфейса SPI. PCINT3 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня.

PB4 — T1, PCINT4. эта ножка может работать как тактовый вход для таймера/счетчика 1 (Timer/Counter1 External Counter Input). PCINT4 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня.

PB5 — PCINT5 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня.

PB6 — PCINT6 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня.

PB7 — OC0A, OC1C, PCINT7. OC0A и OC1C могут работать как выходы сигнала события совпадения таймера/счетчика 0 и 1 (Timer/Counter Compare Match Output). PCINT7 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня.

PC2 — PCINT11 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня.

PC4 — PCINT10 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня.

PC5 — OC1B, PCINT9. OC1B — выход сигнала события совпадения таймера/счетчика 1 (Timer/Counter1 Output Compare Match Output). PCINT9 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня.

PC6 — OC1A, PCINT8. OC1A — выход сигнала события совпадения таймера/счетчика 1 (Timer/Counter1 Output Compare Match Output). PCINT8 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня.

PC7ICP1, INT4, CLKO. ICP1 — вход для захвата внешних импульсов (Timer/Counter1 Input Capture Pin). Может использоваться для измерения длительностей сигнала с помощью таймера 1. INT4 — внешний источник прерывания 4 (External Interrupt source 4). CLK0 — может работать как выход тактов генератора, эта возможность разрешается программированием фьюза.

PD0 — OC0B,

INT0. OC0B — выход сигнала события совпадения таймера/счетчика 1 (Timer/Counter1 Output Compare Match Output). INT0 — внешний источник прерывания 0

PD1 — AIN0,

INT1. AIN0 — положительный вход аналогового компаратора (Analog Comparator Positive input). INT1 — внешний источник прерывания 1

PD2 — AIN1, RXD1,

INT2. AIN1 — отрицательный вход аналогового компаратора (Analog Comparator Positive input). RXD1 — вход приемника UART (USART1 Receive Data). INT2 — внешний источник прерывания 2

PD3 — TXD1,

INT3. TXD1 — вход передатчика UART (USART1 Transmit Data). INT3 — внешний источник прерывания 3.

PD4 — INT5 — эта ножка может работать как внешний источник прерывания 5.

PD5 — XCK1, PCINT12. XCK1 — тактовый вход для UART (USART1 External Clock). PCINT12 — этот вывод может также работать как вход внешнего прерывания по изменению логического уровня

RTS, INT6 управление входным потоком данных UART (USART1 Receiver Flow Control). INT6 — внешний источник прерывания 6.

CTS, INT7. HWB — Hardware Boot, вход активации бутлоадера (загрузчика программы через USB), подключен к кнопке HWB. T0 — тактовый вход для таймера/счетчика 0.

CTS — управление потоком данных передачи UART (USART1 Transmitter Flow Control). INT7 — внешний источник прерывания 6

Давайте попробуем залить простейшую программу в наш чип. Схема будет банальна. помигать диодиком.

Как вызвать загрузчик

В микроконтроллере уже присутствует загрузчик, с помощью которого будем заливать программы. Загрузчик активируется автоматически при очищенной памяти, либо его нужно активировать вручную, если Вы уже залили свою прошивку. Делается это по следующему алгоритму:

  • нажимаем и удерживаем кнопку Reset;
  • нажимаем и удерживаем кнопку HWB;
  • отпускаем кнопку Reset;
  • делаем паузу порядка 1-2 секунд (всё ещё удерживая кнопку HWB);
  • отпускаем кнопку HWB.

Все, теперь снова можно заливать прошивку.

Внимание! Некоторые программы, например dfu-programmer, может выдавать ошибку следующего содержания, при попытке залить прошивку:

Error while flashing.

В этом случае, перед заливкой прошивки нужно выполнить:

dfu-programmer AT90USB162 erase

А сейчас посмотрим что у нас получилось. Скачать проект из видео можно здесь.

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

Эта отладочная плата позволяет разрабатывать маленькие устройства USB. Чип AT90USB162, который установлен на плате, имеет встроенный аппаратный интерфейс, позволяющий изготавливать full-speed USB 2.0 устройства, соответствующие современным требованиям.

С помощью макетной платы AVR-USB162 и библиотеки LUFA Вы легко можете разработать собственные устройства HID (клавиатуры, джойстики, мыши, устройства ввода/вывода и т. д.) или сделать последовательный порт на классе CDC (виртуальный COM-порт), причем разрабатывать драйвер для устройств HID и CDC не нужно — они работают на всех современных компьютерных платформах. Программное обеспечение для разработки также присутствует на всех современных операционных системах — включая Linux, Windows, и Macintosh (Mac OS).

На макетной плате AVR-USB162 установлены:
miniUSB коннектор J1, через который питается плата.
— кнопка SW2 HWB, управляющая работой bootloader-а, и кнопка SW1 RESET.
— коннектор ISP/debugWIRE J4, через который можно запрограммировать плату с помощью стандартного программатора (avrdude, JTAGICE-mkII, PonyPROG, STK200, STK500, AVR Dragon, AVRISP-MkII, USBasp и проч.), а также отлаживать программу через аппаратный отладчик, поддерживающий шину debugWIRE (например, JTAGICE-mkII, AVR Dragon). Программирование и отладка работают в широко известных IDE AVR Studio и IAR Embedded Workbench.
— перемычка J3, управляющая напряжением питания ядра микроконтроллера (иногда это может понадобиться).
— индикационный светодиод VD1.
— макетное поле с шагом 2.54 мм (100 mil), которое можно при необходимости отпилить, уменьшив тем самым размер USB-устройства.
— контактные площадки P1..P22, на которые разведены порты микроконтроллера и питание.

Размеры платы с макетным полем 64.8 x 30.7 мм, без макетного поля 45.4 x 30.7 мм (для уменьшения размеров макетное поле можно отрезать). Толщина платы вместе с монтажом 11.5 мм (определяется самым высоким элементом на плате — ISP коннектором, он выступает над поверхностью TOP платы на 9 мм). USB-коннектор выступает за край платы на 2 мм.

Читайте также  Особенности приема сигналов с круговой поляризацией
[Дополнительные возможности портов ввода-вывода AT90USB162]

Все порты микроконтроллера AT90USB162 могут работать не только как простые ножки ввода вывода GPIO. Они также могут нести дополнительные функции, привязанные к богатой внутренней аппаратуре ядра AVR. В таблице ниже представлено краткое описание этих функций (полное описание см. в даташите на микроконтроллер AT90USB162).

SS, PCINT0.

RTS, INT6.

HWB, TO,

CTS, INT7. HWB — Hardware Boot, вход активации бутлоадера (загрузчика программы через USB), подключен к кнопке SW2 HWB. T0 — тактовый вход для таймера/счетчика 0.

Сигналы совпадения таймера OC0A, OC1C, OC1B, OC1A, OC0B могут использоваться для генерации постоянного аналогового уровня и звуковых сигналов с помощью ШИМ (PWM). Сигнал совпадения выдается, когда содержимое счетчика таймера совпало с предопределенным заранее значением. Подробнее см. статью «ATmega16 — PWM с помощью T/C0, T/C1, T/C2» и даташит на AT90USB162.

[Чем программировать — USB bootloader Atmel, Flip DFU]

В микроконтроллер прошито заводское программное обеспечение (bootloader, называемое также DFU — Device Firmware Uploader или Device Firmware Upgrade), позволяющее загрузить программу пользователя в память микроконтроллера через интерфейс USB и запустить её на выполнение. Это позволяет писать и отлаживать программы, не имея вообще никакого отладчика и программатора. Конечно, не те удобства, что предоставляет аппаратный отладчик JTAGICE-mkII, но зато дешево и сердито, затраты для быстрого старта минимальные. Программа и технология, предоставляющая такие возможности, называется Flip (FLexible In-system Programmer), программа бесплатна и доступна для скачивания на сайте atmel.com. Подробная документация, как все это делается, также доступна, правда на английском языке.

После заливки firmware с помощью загрузчика Flip DFU сам загрузчик не стирается, поэтому Вы можете перепрошивать макетную плату через USB практически неограниченное количество раз. Это очень удобно использовать для обновления программного обеспечения в приборах, где работает макетная плата, потому что ISP-программатор оказывается не нужен.

Прошивку-bootloader, записанную на фабрике Atmel (она обеспечивает работу Flip), нельзя считать ISP-программатором, поскольку она защищена lock-битами. Для того, чтобы можно было воспользоваться ISP-программатором или debugWIRE-отладчиком, чип придется стереть, что полностью уничтожит Flip-bootloader. Но особо печалиться по этому поводу не надо, так как на сайте atmel.com доступен для свободного скачивания бинарник bootloader-a (см. [7]), и его всегда можно восстановить. Как я понял, использование Flip исключает применение для отладки обычного ISP-программатора и отладчика debugWIRE, и наоборот.

Установка программы, интерфейс Flip и работа с ним под Windows до предела упрощены. Скачайте инсталлятор по ссылке [6], установите. При подключении макетной платы AVR-USB162 через USB система запросит драйвера, подсуньте ей путь до c:Program FilesAtmelFlip 3.3.2usb (это драйвер для bootloadera и Flip), после этого в системе появится устройство AT90USB162:

Запускаем программу Flip, выбираем в меню Device -> Select. -> AT90USB162, жмем вторую кнопочку со шнурком на картинке (Select a Communication Medium), выбираем USB, в появившемся маленьком окошке жмем Open. Вуаля! Появился нехитрый интерфейс программатора Flip:

Как видно на скриншоте, доступно для использованием пользователем только 12 килобайт памяти (4 килобайта съел Flip-bootloader).

Имеется также удобная консольная программа batchisp.exe, избавляющая от лишних телодвижений при программировании памяти микроконтроллера. Вот пример командного файла для программирования памяти чипа AT90USB162:

«c:Program FilesAtmelFlip 3.4.7binbatchisp.exe» -device AT90USB162 -hardware usb -operation erase f memory flash blankcheck loadbuffer releasepsw-storage.hex program verify

В этом примере сразу друг за другом выполняются 4 операции: очистка FLASH памяти чипа (команда erase), проверка качества очистки памяти (команда blankcheck), программирование памяти файлом releasepsw-storage.hex (команды loadbuffer и program), проверка записанных данных программы (команда verify). Весь процесс занимает считанные секунды.

После программирования можно сразу запустить записанную программу firmware, если к списку команд добавить команду start. Команда start имеет следующий индекс:

Если указана опция reset, то на ножке RESET микроконтроллера будет сформирован импульс сброса, который может использоваться для сброса внешних схем. Если к ножке сброса RESET микроконтроллера никаких устройств не подключено, то может быть указана опция noreset. Параметр address задает адрес, не который должен произойти безусловный переход (обычно это адрес 0). Пример:

«%ProgramFiles%AtmelFlip 3.4.7binbatchisp.exe» -device AT90USB162 -hardware usb -operation erase f memory flash blankcheck loadbuffer debugpsw-storage.hex program verify start noreset 0

[Если bootloader не работает, программа Flip не видит чип AT90USB162]

При исправной и правильной схеме может быть два варианта — у Вас стерт bootloader, либо записана пользовательская программа, которая получает управления вместо bootloader.

Если стерт bootloader — его надо восстановить с помощью ISP-программатора. Скачайте бинарник bootloader (см. [7]) и прошейте в чип AT90USB162.

Если запускается пользовательская программа, то bootloader можно запустить стандартной процедурой, описанной в документации:

— подключаем плату через USB
— нажимаем кнопку SW1 RESET
— удерживая кнопку SW1 RESET, нажимаем кнопку SW2 HWB
— удерживая кнопку SW2 HWB, отпускаем кнопку SW1 RESET
— отпускаем SW2 HWB

После этой процедуры у нас в системе должно появиться устройство LibUSB-Win32 DevicesAT90USB162 (см. в Диспетчере Устройств), и теперь снова будет работать программирование через USB с помощью программы DFU Flip. Если устройство LibUSB-Win32 DevicesAT90USB162 в Диспетчере Устройств не появилось, значит надо перепрошить bootloader (Вы его каким-то образом стерли).

[Если не устанавливается драйвер Flip для чипа AT90USB162]

Вы установили Flip, подключаете макетную плату к компьютеру, система Windows видит новое устройство и запрашивает драйвер. Но после того, как Вы ей указываете путь до драйвера %ProgramFiles%ATMELFLIP 2.4.6usb, система говорит, что не нашла драйвер, и устройство остается в Диспетчере Устройств с желтым восклицательным знаком. Причина в том, что Вы по ошибке установили старый Flip, который не поддерживает чип AT90USB162. Удалите этот Flip, и установите самый свежий — на момент декабря 2011 это был Flip 3.4.5 for Windows (он написан на Java, если у Вас в системе не установлена подсистема Java, выбирайте для закачки полный пакет, где имеется Java Runtime Environment). После этого повторите процесс установки драйвера, указав папку %ProgramFiles%ATMELFlip 3.4.5usb.

[Как заказать]

Если хотите приобрести макетную плату AVR-USB162, отправьте мне email (адрес см. на страничке Контакты ), или оставьте комментарий ниже, указав контакты для связи с Вами (email, ICQ или телефон). Если Вы находитесь не в Москве, возможна по предоплате. Внимание: в таблице указана цена без учета стоимости пересылки (180 руб. — это мои расходы на отправку бандероли). Таким образом, например, готовая плата Вам обойдется 600+180=780 рублей).

Стоимость готовой макетной платы AVR-USB162
(ничего паять не надо, плата полностью готовая
и рабочая)
600 руб.
Стоимость пустой печатной платы (только пустая,
голая печатная плата, и больше ничего)
100 руб.
[Аналоги]

AVRopendous
Teensy USB Development Board
AVR-USB-162 от Olimex
Benito at90USB162 Board
Bumble-B AT90USB162 development board (fletchtronics.net)
Minimus AVR USB Dev Kit

[Проблемы и способы их решения]

Программатор AVRISP mkII на базе AT90USB162 (часть I)

Введение.

Возникла необходимость переделать ПТК Штрих-LIGHT-200 в АСПД Штрих-LIGHT-200. В процессе доработки, выяснилось, вместо привычной для Штриха ATMega128 с ISP интерфейсом, на борту была установлена ATXMega128A1 с PDI интерфейсом. Такого программатора в наличии не оказалось, соответственно варианта два: просить у коллег программатор прошить процессор, либо собрать программатор самостоятельно. Второй вариант показался сложнее — поэтому вполне очевидно, что мы выбрали именно его. За основу был взят AVRISP mkII на базе AT90USB162 для ATXMega128A1 предложенный коллегой Lion V на профсоюзе инженеров ККМ.

Сборка.

Скажем честно – основной проблемой стала именно плата, сперва по привычке попытались сделать навесным монтажом, идея оказалась хоть и реализуемой, но трудоемкой. Поэтому решили воспользоваться советом коллеги и сделать плату самостоятельно, по технологии ЛУТ, на всякий случай — наш опыт по изготовлению платы. Плата получилась не эталонного качества, но нас даже это устроило. В архиве платы двух вариантов DIP и SMD, мы выбрали SMD вариант

Читайте также  Сигнализатор уровня сред (емкостное реле)

Схема клона программатора Atmel AVR MKII на базе AT90USB162

Сборка схемы не представляет сложностей, кварцевый резонатор 8МГц берется с ОКА102, резисторы 75, 300 Ом, не нашли откуда снять — пришлось покупать. Конденсаторы на 22 пФ не нашли, установили 27 пФ. В качестве PDI разъема используется USB разъем с материнской платы, он как раз по габаритам подходит. Длина проводников PDI разъема должна быть как можно меньше, у нас она 5 см.

Установка внутреннего ПО (новый микроконтроллер AT90USB162).

Данная методика верна только для установки ПО на новый микроконтроллер AT90USB162, для смены ПО процедура имеет некоторые отличия. При первом включении микроконтроллер AT90USB162 автоматически уходит в режим программирования, и не требует дополнительных операций для перевода в этот режим.
Программировать будем программой Flip (второе название программатор DFU Flip), которую устанавливаем на компьютер.
Подключаем собранный программатор к USB, система обнаружит новое устройство «AT90USB162 DFU» .

На этом этапе Windows 7 все сделал самостоятельно, Windows 2000 запросил DFU драйверы, которые находятся в папке «Atmel Flip usb», после установки драйверов устройство определится уже без ошибок и с другим названием «AT90USB162».

Запускаем программу Flip.


Окно программы Flip

В окне программы запускаем меню выбора микроконтроллера для программирования, в нашем случае это микроконтроллер AT90USB162.


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

После выбора микроконтроллера указываем тип подключения и факт подключенного устройства, для этого щелкаем по иконке с картинкой USB кабеля, в открывшемся меню выбираем тип интерфейса – USB, после чего появляется окно предложением открыть соединение с подключенным устройством, соответственно выбираем вариант «Open». При удачном подключении в StatusBar появится надпись «USB ON»


Указываем программе тип подключения, в нашем случае USB.

Выбираем файл для загрузки, в нашем случае вариант под кварцевый резонатор 8 мГц «AVRISP-MKII (8 MHz).hex». Тут важное замечание программа Flip в принципе не видит пути Windows, а понимает только DOS пути, на практике это означает, что каталог с файлом прошивки должен находится в директории с именем не более 8 знаков и в имени директории не должно быть кириллицы.

Правильный путь для загрузки файла прошивки. Файл загрузится.


Неправильный путь для загрузки файла прошивки, в пути к файлу есть директория с кириллицей «ПО». Файл не загрузится.


Ошибка загрузки файла прошивки при неправильном пути к файлу.

После загрузки файла окно программы примет следующий вид.


Окно программы после успешной загрузки файла и удачного подключения по USB интерфейсу.

Устанавливаем «галочки» Erase, Program, Verify и нажимаем клавишу «Run», при успешном программировании все radiobutton отмеченные checkbox должны гореть зеленым. После прошивки выдергиваем и снова вставляем разъем USB программатора. С этого момента программа Flip больше не будет видеть микросхему AT90USB162, а программатор теперь будет определяться системой как LUFA AVRISP MkII Clone, при этом на программаторе горят два светодиода, в нашем случае красный и желтый.


После программирования программатор будет определяться системой как LUFA AVRISP MkII Clone.

Что бы программатор виделся системой корректно, необходимо установить AVR Studio из него подтянутся USB драйвера. Windows 7 находит драйвера автоматически, Windows 2000 драйвера надо указать вручную, которые лежат в папке с установленным AVR Studio (у нас такой вариант c:Program Files (x86)AtmelAtmel USB Drivers).

Установка внутреннего ПО (ранее прошитый микроконтроллер AT90USB162).

После того, как микроконтроллер AT90USB162 будет прошит, для входа в программирование для работы с программой Flip необходима другая процедура.

— Подключаем плату через USB

— Замыкаем перемычку RESET на землю (24 нога на землю)

— Не снимая перемычки RESET, устанавливаем перемычку MOD (S1 замыкает 13 ножку на землю)

— Не снимая перемычки MOD, снимаем перемычку RESET (24 ногу отрываем от земли)

— Снимаем перемычку MOD (S1 в положение Normal, то есть 13 ножку отрываем от земли)

После этой процедуры в системе должно появиться устройство AT90USB162

и теперь снова будет работать программирование через USB с помощью программы DFU Flip. Если устройство AT90USB162 в Диспетчере Устройств не появилось, значит надо перепрошить bootloader.

Файлы.

Заключение.

Собранный программатор подключаем к плате Штрих-LIGHT-200, пытаемся прошить, и … ничего, AVR Studio выдает кучу предупреждений, но при этом отказывается шить плату. Материал по работе с программатором и разбором ошибок получился довольно громоздким, поэтому мы решили его выделить в отдельную часть.

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

9zip.ru Радиотехника, электроника и схемы своими руками Программатор AVRISP mkII для ATXmega на микроконтроллере AT90USB162

Ранее мы уже писали о популярных программаторов для микроконтроллеров AVR. Это, прежде всего, универсальный программатор для AVR и PIC, подключаемый к COM-порту. Он прекрасно работает, но компьютеры с последовательным портом сейчас уже не очень распространены. Другой популярный программатор — это USBasp (он же USBisp). Он уже может работать на любом компьютере, так как подключается к USB порту. И всем бы он был хорош, если бы умел ещё программировать микроконтроллеры ATXmega, имеющие интерфейс PDI. Именно для последних и предлагается к самостоятельной сборке рассматриваемый здесь программатор AVRISP mkII (он же AVRISP MK2). Он умеет всё то же, что и USBasp, но дополнительно работает и с ATXmega.

Клонов этого программатора много. Основой их является микроконтроллер AT90USB162. Он уже достаточно старенький, но его всё ещё можно найти на Aliexpress. Кстати, там же можно найти и готовый программатор, если не хочется паять. Некоторые клоны устроены очень просто — микроконтроллер и минимальный обвес. Их использование требует внимательности, потому что выходы микроконтроллера ничем не защищены.

Существует и более продуманный вариант — с 245 буфером, предложенный пользователем Grott на радиокоте, к которому развёл печатную плату Gordon Shumway:

Пользователь sio предложил свою доработку этой платы, заведя линию PTd напрямую от микроконтроллера, минуя буфер. По его словам, так эта линия работает более стабильно:

Авторская прошивка программатора от Grott:

Схема данного клона программатора несложная:


нажми для увеличения
Буфер, расположенный между микроконтроллером AT90USB162 и контактной колодкой программатора защищает выходы. Кнопки HWB и RESET предназначены для программирования AT90USB162 через USB без использования стороннего программатора. Хотя это можно делать и любым программатором, например — USBasp, подцепившись к одноимённым выводам микроконтроллера (на схеме они помечены зелёным цветом). Последнее может понадобиться, если попался микроконтроллер без бутлоадера. Говорят, что такое бывает. При этом AT90USB162 не будет видеться компьютером при подключении к USB.


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

Колодка для подключения шлейфа программирования совместима с USBasp, поэтому можно пользоваться проводом от него.

Для заливки прошивки AVRISP mkII в AT90USB162 через USB следует:

  • скачать программу Flip
  • подключить программатор к USB порту
  • установить драйверы из каталога программы C:Program FilesAtmelFlip 3.4.7usb
  • нажать RST
  • нажать HWB
  • отпустить RST
  • отпустить HWB
  • в программе Flip нажать на кнопку с изображением шнура USB и нажать Open
  • загрузить прошивку и нажать Run

С данным программатором должна работать avrdude, но нам так и не удалось их подружить, как бы мы ни колдовали с драйверами и фильтрами. Поэтому самым простым вариантом оказалась установка AVR Studio 4.9, взятая с сайта разработчика:

Вместе с ней идут все необходимые драйверы. Для работы с программатором в avr studio необходимо:

  • нажать на кнопку connect на панели инструментов
  • выбрать устройство AVRISP mkii, интерфейс USB и нажать кнопку connect
  • появится окно программирования, на вкладке main следует указать тип программируемого микроконтроллера
  • дальнейшая работа ведётся в соответствующих вкладках

В архиве at90usb162_avrisp_mkii.zip находятся:

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

Пожалуйста, сообщите об этом — просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Читайте также  Электронный датчик газа

Здесь рассматриваются часто задаваемые вопросы (Frequently Asked Questions, FAQ) по макетным платам AVR-USB162 и AVR-USB162MU (чип AT90USB162 с аппаратным интерфейсом USB).

AVR-USB162 AVR-USB162MU

[QUES001]
1. Поставил перемычку — 5В
2. подключил USB
— в Диспетчере устройств (другие устройства) — AT90USB162DFU (с ! и ?) «для устройства не установлены драйверы» — FLIP серенький, контроллер недоступен. Указанного тобой LibUSB-Win32 DevicesAT90USB162 — НЕТ! Нажимание кнопок результата не дает.

Поскольку вариант, что плата не работает — исключается (я каждую перед отправкой проверяю), то остается только следующее — Вы не установили драйвер для устройства AT90USB162 DFU. Процедура установки драйвера подробно описана в файле подсказки Flip «C:Program FilesAtmelFlip 3.3.2infoUpdating the USB Driver — Windows XP.html», ну и на моей страничке тоже, но не так подробно — см. http://microsin.ru/content/view/685/44/ , начиная со слов «При подключении макетки AVR-USB162 по USB система запросит драйвера, . «.

[QUES002]
Подключаю 162 мегу, система не определяет устройство и дрова не просит (как описано на сайте), может их вручную ставить?

Вы наверное, забыли установить перемычку J3 «5V/3.3V», которая задает напряжение питания периферии чипа AT90USB162. Перемычку можно и нужно поставить в любое из двух положений. Без перемычки плата не работает. Как поставите перемычку, Windows увидит подключенную по USB плату и запросит для неё драйвера. После установки драйверов можете прошивать плату с помощью USB Flip-технологии Atmel.

[QUES003]
Все сделал по вашей инструкции, все установилось, программатор Flip чуствует макетку AVR-USB162. Сделал тестовую прошивку с мигающим светодиодом. Загрузил, нажал кнопочку RUN. Все замигало как положено, НО как теперь эту плату остановить и снова к ней подключиться? Светодиод моргает, компьютер кристалл на usb видеть перестал. Пограмматор пишет не могу открыть USB порт. Такое чуство что что то случилось с 4кв загрузчиком, изначально зашитым в кристалл. Как определить плата ведет себя правильно или я стер загрузчик тестовой прошивкой?

Поведение платы, которое Вы описали, совершенно нормальное — при включении платы управление передается в код пользователя, а не в загрузчик. Ваш тестовый код, мигающий светодиодом, наверняка мал по объему, поэтому загрузчик (bootloader) с большой вероятностью не стерт. Чтобы вернуться снова в загрузчик (чтобы снова заработал программатор Flip), существует стандартная процедура (описана в документации на чип AT90USB162 http://atmel.com/dyn/resources/prod_documents/doc7707.pdf , см. секцию Entering the Boot Loader Program, а также краткая инструкция на русском есть тут — http://microsin.ru/content/view/737/44/ , см. шаг 3):
— подключаем плату через USB
— нажимаем кнопку SW1 RESET
— удерживая кнопку SW1 RESET, нажимаем кнопку SW2 HWB
— удерживая кнопку SW2 HWB, отпускаем кнопку SW1 RESET
— отпускаем SW2 HWB
После этой процедуры у нас в системе должно появиться устройство LibUSB-Win32 DevicesAT90USB162 (см. в Диспетчере Устройств), и теперь снова будет работать программирование через USB с помощью программы DFU Flip. Если устройство LibUSB-Win32 DevicesAT90USB162 в Диспетчере Устройств не появилось, значит надо перепрошить bootloader (Вы его каким-то образом стерли).

Как перепрошить bootloader:
— скачиваем бинарник bootloader-а с сайта atmel.com. Последний раз я его скачивал по ссылке http://www.atmel.com/dyn/resources/prod_documents/bl_usb_162v105.zip
— распаковываем из архива файл bl_usb_162v105.a90 (прошивка bootloader-а в HEX-формате)
— подключаем ISP-программатор к коннектору J4 ISP макетки AVR-USB162, стираем чип и прошиваем туда файл bl_usb_162v105.a90

[QUES004] 090929
На будущее видимо потребуется AVR-USB162. Пока нет эмулятора для debugWire. Но уже хотел бы посмотреть firmware и ПО хоста для этой платы. Но на Atmel-сайте из appnote AVR328 скачивается только pdf-файл и не качается ПО. Я так понял, Вы его качали и проверяли. Так что, есть ли возможность прислать мне AVR328 программы?

Плата AVR-USB162 позволяет себя загружать (программировать) без debugWire и даже без ISP-программатора — через USB bootloader Flip. Удобств в отладке правда нет, но зато дешево и сердито. Ссылки на примеры firmware и ПО хоста действительно найти на сайте Atmel непросто. Эти ссылки у меня есть в статье «AVR-USB162: где найти рабочие примеры кода firmware и ПО хоста» ( http://microsin.ru/content/view/793/44/ ), но наверное даже в них ориентироваться трудно, поэтому я выложил примеры еще и в отдельном файле (там все вместе — и firmware, и ПО хоста) — http://depositfiles.com/files/ver75zyju . Как с этими примерами обращаться, см. в той же статье http://microsin.ru/content/view/793/44/ . Других примеров для платы AVR-USB162 у меня нет, за исключением программатора, совместимого с avrdude — http://microsin.ru/content/view/737/44/ .

[QUES005] 091006
Плату получил, спаял, проверил. Все отлично. Но возникли вопросы:
1. Как поменять фьюзы? (стоит делитель тактовой на 8, оно мне не надо).
2. При установке кварца на 16 МГц девайс перестает определяться в бутлоадере.

1. Перемычки (фьюзы) можно изменить только с помощью обычного ISP-программатора, а программа Flip, через которую Вы прошиваете макетку AVR-USB162 по USB, этого делать не позволяет. Будьте внимательны с изменением фьюзов через программатор ISP — это может повлиять на работоспособность bootloader-а.
2. Это потому, что код бутлоадера в Вашем чипе AT90USB162 не имеет автодетекта частоты кварца, который Вы установили, и рассчитан строго на частоту 8 МГц. Если верить документации Atmel «USB DFU Bootloader Datasheet» http://www.atmel.com/dyn/resources/prod_documents/doc7618.pdf , секция 7 «Using the USB bootloader for In System Programming», то версия бутлоадера начиная с 1.0.1 должна поддерживать кварц 16 МГц с установленной по умолчанию перемычкой CKDIV8. Может быть, у Вас старая версия bootloader, попробуйте перепрошить его (bootloader лежит здесь — http://www.atmel.com/dyn/resources/prod_documents/bl_usb_162v105.zip ). Наверное, перепрошить bootloader с помощью Flip (через USB) не получится и придется использовать стандартный программатор ISP.

Сменил я бутлоадер на новый. Прошил фьюзы как мне нужно. Поставил кварц на 16 МГц. Завел девайс и все заработало.

[QUES006] 101108
При открытии прошивки (hex) программа Flip выдаёт следующее «Cannot open file!».

На сайте Atmel описан рецепт решения проблемы:

«Возможно, что путь до Вашего файла неприемлем для программы Flip. Попробуйте скопировать открываемый файл в корень диска, и попробуйте поле этого открыть его программой Flip. Например, скопируйте ваш файл в C:myhexfile.hex.

Если после этого файл открылся, то может быть что он не открывался ранее из-за нераспознанных символов в пути файла на системе Windows XP (все догадались наверное — имеются в виду русские буквы, применяемые часто в именах файлов и папок).

Иногда бывает проблема с форматом Вашего hex-файла. Проверьте его формат — в конце hex-файла должна быть строка :00000001FF

[QUES009] 121121
У меня похоже стерт bootloader — его надо восстановить с помощью ISP-программатора. Где можно почитать как именно прошивать AT90USB162 по ISP?

По прошивке по ISP микроконтроллер AT90USB162 ничем не отличается от других микроконтроллер ов AVR, поэтому см. документацию на Ваш ISP-программатор, и даташит на AT90USB162.

Комментарии

  1. #2 Виталий
    2013-02-11 13:24:49 Где можно взять печатную схему данного девайса?

microsin: смотрите статьи с описанием макетных плат AVR-USB162 и AVR-USB162MU, там даны рисунки верхней и обратной сторон плат.
#1 qra
2011-12-06 03:28:38 Такая проблемка — спаял мне знакомый плату на этом чипе AT90USB162, подключаю к компу по USB — пишет устройство не опознано Я вот думаю, что чип пустой. Помогите как туда bootloader записать, программатора у меня нет, или что делать подскажите. Схему 10 раз проверил — всё верно спаяно. Всё делал, как написано выше — нажимал сброс и т. д. Жду ответа?

microsin: ответ простой — проверьте 11-раз, так как либо у Вас ошибка в схеме, либо не тот кварц (плохой или не та частота), либо просто спалили чип. Бутлоадер уже прописан в память чипа AT90USB162 на заводе, его программировать не надо, так что правильно собранная схема заведется сразу. Без программатора, кстати, бутлоадер никак не записать, если по какой-то причине он у Вас стерт.