Макетная плата AVR-USB162 |
![]() |
Добавил(а) microsin | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Эта отладочная плата позволяет разрабатывать маленькие устройства USB. Чип AT90USB162, который установлен на плате, имеет встроенный аппаратный интерфейс, позволяющий изготавливать full-speed USB 2.0 устройства, соответствующие современным требованиям. С помощью макетной платы AVR-USB162 и библиотеки LUFA Вы легко можете разработать собственные устройства HID (клавиатуры, джойстики, мыши, устройства ввода/вывода и т. д.) или сделать последовательный порт на классе CDC (виртуальный COM-порт), причем разрабатывать драйвер для устройств HID и CDC не нужно - они работают на всех современных компьютерных платформах. Программное обеспечение для разработки также присутствует на всех современных операционных системах - включая Linux, Windows, и Macintosh (Mac OS).
На макетной плате AVR-USB162 установлены: Размеры платы с макетным полем 64.8 x 30.7 мм, без макетного поля 45.4 x 30.7 мм (для уменьшения размеров макетное поле можно отрезать). Толщина платы вместе с монтажом 11.5 мм (определяется самым высоким элементом на плате - ISP коннектором, он выступает над поверхностью TOP платы на 9 мм). USB-коннектор выступает за край платы на 2 мм. [Дополнительные возможности портов ввода-вывода AT90USB162] Все порты микроконтроллера AT90USB162 могут работать не только как простые ножки ввода вывода GPIO. Они также могут нести дополнительные функции, привязанные к богатой внутренней аппаратуре ядра AVR. В таблице ниже представлено краткое описание этих функций (полное описание см. в даташите на микроконтроллер AT90USB162).
Сигналы совпадения таймера 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 Files\Atmel\Flip 3.3.2\usb\ (это драйвер для bootloadera и Flip), после этого в системе появится устройство AT90USB162: Запускаем программу Flip, выбираем в меню Device -> Select... -> AT90USB162, жмем вторую кнопочку со шнурком на картинке (Select a Communication Medium), выбираем USB, в появившемся маленьком окошке жмем Open. Вуаля! Появился нехитрый интерфейс программатора Flip: Как видно на скриншоте, доступно для использованием пользователем только 12 килобайт памяти (4 килобайта съел Flip-bootloader). Имеется также удобная консольная программа batchisp.exe, избавляющая от лишних телодвижений при программировании памяти микроконтроллера. Вот пример командного файла для программирования памяти чипа AT90USB162: "c:\Program Files\Atmel\Flip 3.4.7\bin\batchisp.exe" -device AT90USB162 -hardware usb -operation erase f memory flash blankcheck loadbuffer release\psw-storage.hex program verify @pause В этом примере сразу друг за другом выполняются 4 операции: очистка FLASH памяти чипа (команда erase), проверка качества очистки памяти (команда blankcheck), программирование памяти файлом release\psw-storage.hex (команды loadbuffer и program), проверка записанных данных программы (команда verify). Весь процесс занимает считанные секунды. После программирования можно сразу запустить записанную программу firmware, если к списку команд добавить команду start. Команда start имеет следующий индекс: start < reset | noreset > address Если указана опция reset, то на ножке RESET микроконтроллера будет сформирован импульс сброса, который может использоваться для сброса внешних схем. Если к ножке сброса RESET микроконтроллера никаких устройств не подключено, то может быть указана опция noreset. Параметр address задает адрес, не который должен произойти безусловный переход (обычно это адрес 0). Пример: "%ProgramFiles%\Atmel\Flip 3.4.7\bin\batchisp.exe" -device AT90USB162 -hardware usb -operation erase f memory flash blankcheck loadbuffer debug\psw-storage.hex program verify start noreset 0 [Если bootloader не работает, программа Flip не видит чип AT90USB162] При исправной и правильной схеме может быть два варианта - у Вас стерт bootloader, либо записана пользовательская программа, которая получает управления вместо bootloader. Если стерт bootloader - его надо восстановить с помощью ISP-программатора. Скачайте бинарник bootloader (см. [7]) и прошейте в чип AT90USB162. Если запускается пользовательская программа, то bootloader можно запустить стандартной процедурой, описанной в документации: - подключаем плату через USB После этой процедуры у нас в системе должно появиться устройство LibUSB-Win32 Devices\AT90USB162 (см. в Диспетчере Устройств), и теперь снова будет работать программирование через USB с помощью программы DFU Flip. Если устройство LibUSB-Win32 Devices\AT90USB162 в Диспетчере Устройств не появилось, значит надо перепрошить bootloader (Вы его каким-то образом стерли). [Если не устанавливается драйвер Flip для чипа AT90USB162] Вы установили Flip, подключаете макетную плату к компьютеру, система Windows видит новое устройство и запрашивает драйвер. Но после того, как Вы ей указываете путь до драйвера %ProgramFiles%\ATMEL\FLIP 2.4.6\usb\, система говорит, что не нашла драйвер, и устройство остается в Диспетчере Устройств с желтым восклицательным знаком. Причина в том, что Вы по ошибке установили старый Flip, который не поддерживает чип AT90USB162. Удалите этот Flip, и установите самый свежий - на момент декабря 2011 это был Flip 3.4.5 for Windows (он написан на Java, если у Вас в системе не установлена подсистема Java, выбирайте для закачки полный пакет, где имеется Java Runtime Environment). После этого повторите процесс установки драйвера, указав папку %ProgramFiles%\ATMEL\Flip 3.4.5\usb\. [Аналоги] AVRopendous [Проблемы и способы их решения] См. [8]. [Ссылки] 1. Общее описание библиотеки LUFA и документация по библиотеке LUFA на русском языке. |