В этой теме предлагаю выкладывать информацию и обсуждать вопросы, касающиеся микроконтроллеров производства Atmel с USB-интерфейсом (кроме работы с портами, таймерами и прочей периферией - в этом AT90USB не отличается от прочих МК).
Добавлено спустя 15 минут 57 секунд: Как прошить AT90USBxxx из-под Linux.
AT90USBxxx поставляются с зашитым бутлоадером, выполненным по стандарту USB DFU. Это позволяет прошивать МК через USB, без специального программатора - для этой цели Atmel предлагает бесплатную программу FLIP (http://www.atmel.com/dyn/products/tools ... ol_id=3886). FLIP работает под Windows и Linux. Использование программы описано в документации, повторять его здесь нет смысла. Но пользователи некоторых дистрибутивов Linux (в частности, Ubuntu и Debian) могут столкнуться с проблемой - FLIP не распознает подключенный МК. Причина в том, что в поисках МК FLIP лезет в /sys/bus/usb, а должен - в /dev/bus/usb. Решается просто - открываем libatlibusbdfu.so в HEX-редакторе (я использовал встроенный в Midnight Commander), ищем строку /sys/bus/usb, меняем на /dev/bus/usb
Т.к. для себя делал перевод datasheet-а от AT90USB162 можно выложить данну инфу тут. Конечно она прямой подстрочник. Но не проблема причесать её к литературному виду. В частности меня интересовало и перевелось: 1 Boot loader (глава 23) 2 USB контроллер (главы 19,20) 3 Система сброса (глава 9) - в меньшей степени Так же есть заметки-мысли про Загрузичк с форматом DFU и про загрузчик с форматом CDC (usb-com) где Загрузчик поддерживает систему команд программатора AVR500, на основе проекта LUFA.
Сегодня час убил на попытки запустить встроеный бутлоадер at90usb162, а причина оказалась в том, что по умолчанию в fuse битах был установлен внешний кварц хотя в ДШ указано что устанавливается внутренний RC генератор. при этом fuse без полного стирания не изменяются (защищен от записи) вот такие вот грабли обнаружил.
vvk74 писал(а):Сегодня час убил на попытки запустить встроеный бутлоадер at90usb162, а причина оказалась в том, что по умолчанию в fuse битах был установлен внешний кварц хотя в ДШ указано что устанавливается внутренний RC генератор. при этом fuse без полного стирания не изменяются (защищен от записи) вот такие вот грабли обнаружил.
Дак без кварца он наверно врядли смогбы грузится по USB.
vvk74 писал(а):Сегодня час убил на попытки запустить встроеный бутлоадер at90usb162, а причина оказалась в том, что по умолчанию в fuse битах был установлен внешний кварц хотя в ДШ указано что устанавливается внутренний RC генератор. при этом fuse без полного стирания не изменяются (защищен от записи) вот такие вот грабли обнаружил.
"6.3.1 Default Clock Source The device is shipped with internal RC oscillator at 8.0 MHz and with the fuse CKDIV8 programmed, resulting in 1.0 MHz system clock. The startup time is set to maximum and time-out period enabled. (CKSEL = "0010", SUT = "10", CKDIV8 = "0"). The default setting ensures that all users can make their desired clock source setting using any available programming interface."
The device is shipped with low power crystal oscillator and with the fuse CKDIV8 programmed. The startup time is set to maximum and time-out period enabled. (CKSEL = "1110", SUT = "01", CKDIV8 = "0").
т.е. кварц снаружи, но делитель на 8 всеравно включен. но он пофиг для ФАПЧ
6.9 PLL
The PLL is used to generate internal high frequency (48 MHz) clock for USB interface, the PLL input is generated from an external low-frequency (the crystal oscillator or external clock input pin from XTAL1).
6.9.1 Internal PLL for USB interface The internal PLL in AT90USB82/162 generates a clock frequency that is 6x multiplied from nom- inally 8 MHz input. The source of the 8 MHz PLL input clock is the output of the internal PLL clock prescaler that generates the 8 MHz.
========
Вобщем нужен кварц 8 Мгц
А по документу "USB DFU Bootloader doc7618.pdf" там автонастройка для кварцев 2 4 6 8 10 12 16 МГц
Последний раз редактировалось avr123.nm.ru 18 мар 2010, 21:45, всего редактировалось 1 раз.