Usbaspчто с ним делать: Не работает AVR USB Программатор? Настроим / Хабр
Содержание
Не работает AVR USB Программатор? Настроим / Хабр
Не работает программатор
Данная статья написана для тех, кто только начинает учиться программировать микроконтроллеры.
Гуру микроконтроллинга здесь делать нечего, а вот новичкам, столкнувшихся с проблемами китайского производства. Или нелепой фасовкой готовых программаторов или людей делающих первый шаг в радиоэлектронику эта статья может быть весьма-весьма полезной. Я так же опишу методы поиска неисправностей, с которыми столкнулся сам. Не у всех людей есть выдержка, тем более Интернет для этого и создан, что бы делиться опытом, не так ли?
Не работает программатор AVR — тысячи запросов в Яндексе и Гугл. Не работает USB asp — еще больше. Сотни сайтов, на которые попадаешь и везде читаешь одно и тоже, как кто то собирает очередной программатор, но ни кто, повторюсь НИ КТО не пишет, почему не работает именно твой личный девайс.
Быстрое решение. Для тех, кто не желает читать весь пост, а на быструю руку пришел за поиском решения выкладываю эту картинку. Обвожу изменения сделанные мной и не описанные ни на одном сайте.
Описание и подробности будут ниже.
Покупка и внешний вид
Посещая радио-рынок в нашем городе наткнулся я на конструктор Радио-Кит — аналог известного Радио-Кот. Поторговавшись с любезной мадам, выкупил сие чудо за 65 украинских тугриков — 8.2 долл. Вот фото.
Дальше предстояло все это собрать и спаять — благо это дело я люблю, и на пайку ушло полчаса — час.
Итак. Мы собрали все, что было в пакете, спаяли по инструкции — у нас получился USBasp программатор. Подключаем его к компьютеру и о боже — Неизвестное устройство. Поиск «программатор USBasp неизвестное устройство» и получаем сотни обсуждений на форуме, где такие же, как и я обманутые или молодые и неопытные юзеры, желающие начать программировать микроконтроллеры — попадают в засаду. Ужас. Еще раз проверяем все ли правильно спаяно и не спаяли ли мы вместе две ножки AtMega8 контроллера? Нет? Правильно ли припаяли все микросхемы? Мы не будем останавливаться на этой ерунде, ведь если да — то вам стоит скачать энциклопедию юного радиолюбителя и читать. Как делал я в свое время. Но мой программатор был спаян идеально. Мультиметром я прозвонил каждую дорожку и проблем не обнаружил! И начал искать в Интернете ответ. Тем более что я не новичок в этом деле. В 2005 году я впервые столкнулся с программированием PIC контроллеров для спутниковых карт. Даже откопал древний программатор UNIPROG 2003. Вот фотки — раритет. Работал как часы. Я еще школьником был, а столько карт перешил.
Достаешь контроллер с карты, вставляешь его в специальную карту с мостиком, вставляешь карту в программатор, и PonyProg творит чудеса на 700м целероне. Вставляешь обратно карту в тюнер — каналы раскодированные. Чудо техники было на то время. Вот фото.
Решение проблемы
Дело в том, что в инструкции и на всех сайтах, где рекламируют этот программатор — советуют не ставить джампер — перемычку JP3 — в моей инструкции написано: «Перемычка ставиться в случае перепрошивки внутреннего контроллера ATMega8» Я и так долгое время грешил на то, что контроллер не прошит. И продавец просто всунул в пакет чистый чип. Но через пару часов, когда начал искать в плате пробел или обрыв — заметил маленькие полосочки и четыре дырки, соединяющие 20ю и 4ю ножку Меги8.
Выход SCK и 19ю ножку Меги8.
Почему так, вы скоро поймете. Вот скриншоты с обведенными в кружочек местами.
Как вы заметили на первой и предыдущей картинке — кроме двух перемычек я обвел еще и джампер. В комплекте повторюсь, не было ни джампера ни перемычки. Её пришлось докупать отдельно, цена 5грн за 40 ячеек. Джампер был в старой материнской плате. Повторюсь в инструкции и схеме — он НЕ НУЖЕН. Но разобравшись со схемой понимаешь что программируемый чип не получает питание +5V. Очень небрежная ошибка производителей. Припаяйте перемычку и замкните джампер.
Внимательно изучите основную работу чипа. Основные ножки:
1 ножка — RESET
17я — MOSI
18z — MISO
19 — SCK
20 — AVCC ( в инструкции к программатору именовалась как VTG)
RESET — МИНУС а VCC — ПЛЮС ( исправьте если я не прав)
На одном сайте вычитал, что при программировании чипов питание должно подключаться ко всем ножкам VCC (AVCC)
Как работает программатор
Самый глупый и самый главный вопрос возникший у меня и сотни других новичков в Интернете купивших микроконтроллер скажем ATTINY2313 и программатор — что дальше? И вот на этот вопрос так же мало ответов в сети. Очень мало фотографий реально работающей схемы. Специально для неопытных, только начинающих знакомиться с этим удивительным миром пару фотографий, что еще необходимо для прошивки чипа:
Как вы видите на фотографии нам необходимо следующее:
-Кабель, соединяющий USBasp программатор с самим контроллером(на фото он на плате с кварцевым генератором( в чипе уже есть свой генератор)
Плата собрана по статье с сайта Простая отладочная плата для устройств AVR ATTiny2313 с кварцем
-Как вы поняли, что бы выходы из программатора MOSI, MISO, USCK, VCC(VTG) и RESET подключались к выходам на настроечной плате, где установлен программируемый чип. На многих ATMEL’овских контроллерах 1я ножка RESET напротив — 4 ножки подряд ( сверху вниз с 20й по 17ю) идут VCC, SCK, MISO, MOSI. То есть в ATTINY2313 — 20ножка VCC, 19 — USCK, 18-MISO, 17-MOSI.
Соедините выход на программаторе и плату с установленным чипом соответственно.
Если вы хотите узнать расположение и распиновку чипа — вы можете скачать ДАТАШИТ любого контроллера с сайта alldatasheet. com Вот даташит на ATTINY2313
В TINY13 и в 2313 и в МЕГЕ8 одинаковая распиновка для программного ISP программирования. Только питание придется менять на плате. Но не для каждого контроллера. Например, TINY13 — так же идеально работает и без кварца на той же плате что я сделал по статье для 2313. MOSI MISO SCK VCC RESET в одинаковых местах. Так что одной платы хватит пока для тестов.
Послесловие
После проделанных манипуляций. Измерения подающего на плату от программатора питания. После того как я разобрался в каждой ножке и допаял третий джампер — наконец-то заработал мой программатор. Он определился компьютером после припайки двух металлических дорожек — как libusb-win32 devices. Но работать не хотел.
Extreme Burner писал «Cannot Comunicate with TargetChip». Я не буду писать, сколько методов я использовал, когда думал что проблема в драйверах — сотню. Даже посоветовали войти в безопасный режим и установить программу по подписыванию драйверов — но он определялся как неизвестное устройство. Вот определился, но не работал. У кого таже проблема вы поняли, да?
И на всех схемах JP3 — ТОЛЬКО для перепрошивки внутреннего чипа. Это так. Но и питание через него необходимо подавать на программируемую плату.
Повторюсь ГУРУ — эта статья для новичков. Если можете дополнить статью, или подправить я буду только рад, так как сам еще новичок. Но очень много людей не могли толком ответить на данную проблему ни в одном из форумов. Даже перечитал все англоязычные форумы.
Даже спаял Программатор Громова. Но деньги та уже потрачены — необходимо довести до ума. Вот им и посвящается данная статья. Спасибо за внимание
6 применений в «умном доме» платы USBasp. Нестандартное использование USBasp / Хабр
Иногда дешевле купить готовое устройство, чем собирать его самому. Да и самодельное устройство не всегда и не у всех будет выглядеть аккуратно- это зависит от наличия оборудования/материалов и прямоты рук.
Пользователи, знакомые с микроконтроллерами Atmel или хотя бы с Arduino скорее всего знают о дешевом программаторе USBasp, цена которого на Ebay около $ 3. Распространены две версии программатора:
USBasp 2.0 — с стабилизатором на 3.3 вольта.
USBasp 3.0 — плата поменьше, без стабилизатора. Так же у него не выведены на разъем порты PD0 и PD1(Аппаратный UART).В руках не держал и соответственно рассматривать его тут не будем.
Ниже мы рассмотрим как превратить программатор USBasp в I2C-USB переходник, научимся читать датчики влажности и температуры, получим простой набор портов ввода/вывода (PIO), RS232-USB, а так же попытаемся создать устройство nRF24L01-USB для чтения беспроводных датчиков и управления устройствами. Ну и для любителей Arduino — будем программировать в среде Arduino IDE используя USBasp как макетную плату.Проекты используют популярную библиотеку V-USB для работы с USB в программной реализации.
Архив с прошивками можно скачать в конце статьи. Я намеренно не публикую тут прямые ссылки на свои проекты -вы их найдете в архиве.
Устройство программатора USBasp
Программатор состоит из небольшого числа деталей. Мозгом программатора является микроконтроллер Atmega8, который имеет всего 8 кб флеш памяти и 1 кб ОЗУ(SRAM).Вроде и слабенький микроконтроллер по современным меркам, но столько всего можно на нем сделать.Из-за особенностей работы программного USB м/к работает на частоте 12мгц. Соответственно, при написании своей прошивки необходимо учитывать это.
USBasp имеет 10 контактный разъем, на который выведены 6 выводов микроконтроллера: PB5 (SCK), PB4 (MISO), PB3 (MOSI, PWM), PB2(PWM), PD0 (RXD), PD1 (TXD).Питание 5в или 3.3в, которое переключается перемычкой JP1.
Плата имеет два встроенных светодиода на выводах PC0 и PC1.Выводы м/к PB0,PB1 и PD2 используются для программного USB,PC2 выведен на перемычку JP3.Остальные выводы микроконтроллера не распаяны.
Со схемой устройства можно ознакомится в архиве в конце статьи.
Установка загрузчика на плату
Для быстрой смены прошивки, без сторонних программаторов можно установить загрузчик USBaspLoader. Официальная страница проекта USBaspLoader
К сожалению загрузчик отнимает 2 кб флеш памяти, но для большинства применений нам хватит оставшихся 6 кб.
Установка загрузчика:
Команда программирования используя Arduino как программатор:
avrdude -c avrisp -P COM1 -b 19200 -p m8 -U flash:w:boot_m8.hex -U hfuse:w:0xc0:m -U lfuse:w:0x9f:m -U lock:w:0x2f:m
Команда программирования через другую USBasp:
avrdude -c usbasp -p m8 -U flash:w:boot_m8.hex -U hfuse:w:0xc0:m -U lfuse:w:0x9f:m -U lock:w:0x2f:m
После этого уже можно заливать свою прошивку без программатора стандартной командой
avrdude -c usbasp -p m8 -U flash:w:имя_файла.hex
Для того, чтобы «залить» прошивку в устройство с установленным USBaspLoader необходимо установить перемычку JP3, которая переводит устройство в режим программирования и сбросить устройство, замкнув контакт ближний к перемычке выбора питания(JP1) на перемычке JP2 на землю.
Использование USBasp как макетную плату в Arduino IDE
Для прошивки в среде Arduino IDE (проверено на версиях 1.0.х) необходимо в файл board.txt вписать следущий текст:
atmega8usb.name=ATmega8 USB 12 MHz atmega8usb.upload.protocol=arduino atmega8usb.upload.maximum_size=6144 atmega8usb.upload.speed=19200 atmega8usb.bootloader.low_fuses=0x9f atmega8usb.bootloader.high_fuses=0xc0 atmega8usb.bootloader.path=atmega8 atmega8usb.bootloader.file=boot_m8.hex atmega8usb.bootloader.unlock_bits=0x3F atmega8usb.bootloader.lock_bits=0x2F atmega8usb.build.mcu=atmega8 atmega8usb.build.f_cpu=12000000L atmega8usb.build.core=arduino atmega8usb.build.variant=standard
После этого в среде Arduino IDE можно выбрать появившуюся плату ATmega8 USB 12 MHz. Прошивка осуществляется через меню «загрузка с помощью программатора».
Доступные пины по нумерации Arduino: 13 (SCK),12 (MISO),11 (MOSI,PWM),10 PB2(PWM) ,1 (TXD),0 (RXD).Так же доступны цифровые выводы 14 и 15 для управления светодиодами на плате.
Можно задействовать и интерфейс USB, используя библиотеку для Arduino V-USB, но возможностей тут меньше, чем на Си.
nRF24L01-USB
Позволяет обмениваться данными между nRF24L01/nRF24LE1 и компьютером с устройством nRF24L01-USB. Теоретически поддерживается до 22 клиентов(при пакете передачи 32 байта) на базе nRF24L01/nRF24LE1, но пока на практике проверено до 3. Ограничение связано с тем, что для приема и отправки данных используется буфер в ОЗУ устройства, а его как известно у Atmega8 всего 1кб.Размер приемного пакета может быть до 32 байт, а отправки — 4 байта, это ограничение связано со способом реализации работы с библиотекой V-USB.
Работа nRF24L01-USB адаптера основана на временном разделении, когда клиенты отправляют/принимают данные в разное время. При большом количестве клиентов время опроса должно быть бОльшим. Для обмена данными в реальном времени количество клиентов должно быть наименьшим. Пока у устройства имеются некоторые недостатки, но думаю это решаемо.
Клиентская утилита управления, чтения и отправки данных работает как в Linux, так и Windows, но пока, к сожалению, требуется компиляция для настройки принятых данных. Для удобства настройки и отладки через утилиту можно менять канал, скорость и включать/выключать аппаратное подтверждение, работать напрямую с регистрами радио модуля.
Устройство можно применить для беспроводных датчиков или управления в системах умного дома.
Кстати, ранее был разработан и испытан вариант беспроводных датчиков влажности и температуры на базе attiny13 на частоте 315 или 433 мгц, но это уже другая тема.
RS232-USB
На основе программатора USBasp можно создать устройство-переходник RS232-USB на базе проекта cdc-232.
Подойдет для программирования плат Arduino, на которых нет микросхемы FT232RL или другого преобразователя usb-uart.
PIO-USB
6 выводов, которые выведены на разъеме программатора могут использоватся как обычные PIO выводы, для «дерганья» светодиодами и релюшками, а так же считывания логического состояния порта. В архиве в конце статьи имеется мой вариант PIO-USB, который так же позволяет считывать датчик влажности DHT11/DHT22, а так же транслировать код для управления розетками/люстрами, если подключить радио перадтчик на 433/315 мгц. Планируется новая версия, в которой увеличится количество подключаемых датчиков влажности и исправлены ошибки.
DS18B20-USB
Программатор можно «научить» работать с несколькими датчиками температуры DS18B20.Например использовать проект USBTemp.
Возможны и другие варианты реализации схемы и прошивки устройства, а так же интеграция с PIO-USB.
К сожалению из-за размера прошивки загрузка не возможна через USBaspLoader.
I2C-USB
Устройство позволяет подключить практически любые устройства i2c к компьютеру.Проверено как на Linux так и в Windows XP.Прошивка основана на известном проекте i2c tiny usb.
Мои примеры использования устройства:
Чтение датчика давления BMP085.
Управление микросхемой расширителем портов MCP23017, получив тем самым почти тот же PIO на компьютере.
Вариантов применения масса: программирование EEPROM памяти, чтение спецефичных разных датчиков, управление FM приемником.
Это конечно же далеко не все варианты использования программатора в нестандартном функционировании.
Все исходные коды сторонних проектов можно найти на их официальных сайтах. В архиве в конце статьи имеются прошивки, которые адаптированы под выводы платы USBasp.
Архив с прошивками: usbasp.zip
UPD: Ещё одно применение USBasp в статье «Программируем nRF24LE1 через Raspberry PI и USBasp».
USBASP ICSP Programmer Quickstart Guide
USBasp — это адаптер ICSP (внутрисхемное последовательное программирование), который позволяет устанавливать новые загрузчики и встроенное ПО на обычные микроконтроллеры AVR, например те, которые используются в платах, совместимых с Arduino.
Плата, которую вы будете программировать, называется «целью».
Характеристики платы
Для типичного использования вы можете оставить USBasp настроенным точно так же, как он поставляется в пакете. Для определенных целей вам может потребоваться изменить некоторые из этих настроек.
Гнездо Micro USB. Подключитесь к компьютеру с помощью прилагаемого кабеля.
Выбор целевого напряжения. USBasp поддерживает целевые платы, работающие от 5 В или 3,3 В. Большинство плат, совместимых с Arduino, работают при напряжении 5 В. Установите переключатель в положение, соответствующее плате, которую вы будете программировать.
Перемычка «Программа». Если вы замкнете эту перемычку, USBasp перейдет в специальный режим, который изменит его из режима программатора в режим цели. Это сделано для того, чтобы вы могли обновить прошивку на самом USBasp с помощью другого программатора.
Перемычка целевого питания. Если эта перемычка установлена, USBasp будет подавать питание на цель через разъем ICSP. Обычно это желательно. Однако, если цель питается независимо (например, через разъем постоянного тока или USB-соединение), вы должны удалить эту перемычку.
Заголовок ICSP для цели. Программный выход USBasp, который вы подключаете к целевому разъему ICSP с помощью прилагаемого кабеля.
Перемычка «Slow Clock». Если закоротить эту перемычку, USBasp будет работать на более низкой скорости для максимальной совместимости с некоторыми целевыми устройствами. Обычно не требуется, если только вы не программируете новые AVR (см. ниже).
Светодиод состояния. Показывает состояние питания, записи и активности.
Подключение оборудования
1. Отключите целевую плату от других источников питания, если только у вас нет особых требований к ее независимому питанию во время программирования.
2. Подключите USBasp к компьютеру с помощью прилагаемого USB-кабеля.
3. Подключите USBasp к целевой плате с помощью прилагаемого 6-жильного кабеля.
ПРЕДУПРЕЖДЕНИЕ: Обратите особое внимание на ориентацию кабеля. Вы увидите, что на одной стороне кабеля есть красная полоса, указывающая, какой конец является контактом 1. У USBasp есть точка рядом с заголовком ICSP на конце контакта 1, и ваша целевая плата также должна иметь маркировку рядом с контактом. 1. Подсоедините кабель так, чтобы сторона с красной полосой была ближе всего к контакту 1 как на USBasp, так и на мишени. На большинстве мишеней это естественно встанет на место, если вы положите доски лицом к себе, как показано ниже.
Драйверы Windows
Пользователи Linux и OS X могут пропустить этот раздел (хотя, если вы являетесь пользователем Linux, обязательно прочитайте раздел «Разрешения в Linux» внизу этой страницы).
Для Windows требуется универсальный драйвер USB для связи с USBAsp. Инструмент под названием Zadig упрощает установку этого драйвера.
- Отключите USBasp.
- Загрузите Zadig с http://zadig.
akeo.ie/. Обратите внимание, что существуют отдельные версии для Windows XP или более новых версий Windows.
- Запустите Zadig, а затем подключите USBasp. Отмените все всплывающие диалоговые окна Windows.
- Настройте диалог Zadig следующим образом, проверьте выделенные поля:
- «Usbasp» выбран в главном раскрывающемся списке (это должно появиться автоматически при подключении USBasp. Если вы не видите его в списке, выберите «List All Devices» в меню «Options» в Zadig.
- libusb-win32 в качестве типа драйвера (используйте маленькие стрелки вверх/вниз, чтобы выбрать эту запись).
- Нажмите «Установить драйвер» и дождитесь окончания установки драйвера.
- Вы закончили с Zadig, пора использовать USBasp!
Использование из Arduino IDE
Важное примечание: В отличие от многих других плат и программаторов, USBasp не отображается как последовательный порт USB. Поэтому порт не указан в разделе «Инструменты > Последовательный порт» в Arduino IDE или в других местах. Это нормально.
Установка нового загрузчика
Среда разработки Arduino IDE включает загрузчики для различных поддерживаемых плат. Подключите компьютер, USBasp и таргет, как показано выше, затем запустите IDE и используйте следующие пункты меню.
1. Выберите Tools > Board и выберите тип платы, соответствующий вашей цели.
2. Выберите Tools > Programmer и выберите «USBasp» в качестве типа программатора.
3. Выберите Инструменты > Записать загрузчик . Затем Arduino IDE установит загрузчик на вашу целевую плату.
Установка скетча
Обычно скетчи устанавливаются через USB-порт на Arduino, но вы также можете установить их напрямую с помощью USBasp, который минует загрузчик и USB-соединение. Открыв эскиз, используйте следующие пункты меню.
1. Выберите Tools > Board и выберите тип платы, соответствующий вашей цели.
2. Выберите Инструменты > Программатор и выберите « USBasp » в качестве типа программатора.
3. Выберите Файл > Загрузить с помощью программатора . Затем Arduino IDE скомпилирует и загрузит ваш эскиз на целевую плату.
Использование из командной строки
Инструмент командной строки avrdude также можно использовать для программирования AVR. Это более сложный инструмент, чем программирование через Arduino IDE, но гораздо более гибкий.
Аргумент программиста для использования avrdude с USBasp: -c usbasp
.
Вы можете установить avrdude для Windows как часть пакета WinAVR или для OS X как часть AVR CrossPack. Пользователи Linux обычно могут установить его как часть системы управления пакетами своего дистрибутива.
Например, чтобы использовать avrdude для чтения состояния ATMega328P на плате Freetronics Eleven:
avrdude -p m328p -c usbasp -v
из Khazama AVR Programmer или eXtreme Burner — AVR. eXtreme Burner также работает в Linux.
Программирование Новые AVR
По умолчанию USBasp программирует цель с «тактовой частотой программирования» 375 кГц. Это обеспечивает быстрое программирование, но работает только в том случае, если микросхема AVR настроена на тактовую частоту не менее 1,5 МГц.
Новые микросхемы AVR обычно поставляются с заводской конфигурацией с внутренней тактовой частотой 1 МГц. Это устанавливается как часть «фьюз-битов» внутри микроконтроллера. Если вы используете Arduino IDE, он перепрограммируется для использования внешнего кристалла 16 МГц при загрузке загрузчика Arduino.
Симптомы попытки запрограммировать AVR со слишком быстрыми часами программирования такие же, как и при отсутствии AVR вообще:
avrdude: ошибка: запуск программы: цель не отвечает. 1 avrdude: инициализация не удалась, rc=-1 Дважды проверьте соединения и повторите попытку или используйте -F для переопределения. этот чек.![]()
Эту проблему можно решить двумя способами.
Установите перемычку «Slow Clock»
Это наилучший вариант, если вы используете Arduino IDE для программирования прошивки на новых AVR.
Замыкание перемычкой замедленной синхронизации снижает частоту программирования до 8 кГц, что достаточно медленно для AVR, работающих только на частоте 32 кГц.
Вы можете установить перемычку в два отверстия для перемычки, или, если вы используете ее только время от времени, вы можете обойтись просто куском провода или даже парой пинцетов!
Установите часы в программе
Это лучший вариант, если вы используете avrdude в командной строке. Опция Avrdude -B
позволяет программировать тактовую частоту из программного обеспечения, перемычка не требуется!
Опция -B 4
устанавливает скорость программирования 187,5 кГц, все еще высокую, но достаточно медленную для нового AVR с частотой 1 МГц.
Например, чтобы прочитать конфигурацию нового ATTiny85:
avrdude -p t85 -B 4 -c usbasp -v
Если вам нужны еще более медленные часы программирования, просто продолжайте увеличивать -B
. Максимум
-B 64
дает тактовую частоту программирования 8 кГц, как если бы была установлена перемычка «медленные часы».
Обратите внимание, что -B
полностью игнорируется, если установлена перемычка «медленные часы».
Разрешения в Linux
Пользователи Linux могут столкнуться с ошибкой типа « ошибка отправки управляющего сообщения: операция не разрешена » при попытке использовать USBAsp. Это связано с тем, что по умолчанию обычные пользователи не имеют доступа к USB-устройствам.
Временный обходной путь — запустить операцию от имени пользователя root с помощью sudo или su. Гораздо лучшим решением будет сообщить Linux, что вы хотите, чтобы всем пользователям был разрешен доступ к USBAsp. Это делается путем создания правила udev. Особенности создания правил udev немного различаются в зависимости от того, какой дистрибутив Linux вы используете, однако обычно существует каталог /etc/udev/rules.d
, который содержит файлы с пользовательскими правилами. От имени пользователя root создайте в этом каталоге новый файл с именем «
usbasp.rules 9».0138 " со следующей единственной строкой содержимого:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE="0666"
Затем перезапустите службу udev, выполнив следующую команду:
sudo /etc/init.d/udev restart
USBasp — программатор USB для контроллеров Atmel AVR
Ознакомьтесь с другими моими проектами! Например:
ISPnub - Автономный модуль программатора AVR
USBasp — это OpenSource, это бесплатно!
Нравится? Вы можете поддержать через PayPal:
€ 5
€ 10
€ 15
USBasp — это встроенный USB-программатор для контроллеров Atmel AVR. Это просто
состоит из ATMega88 или ATMega8 и пары пассивных компонентов. Программист
использует USB-драйвер только для прошивки, специальный USB-контроллер не требуется.
Характеристики
- Работает на нескольких платформах. Linux, Mac OS X и Windows тестируются.
- Никаких специальных контроллеров или компонентов smd не требуется.
- Скорость программирования до 5Кбайт/сек.
- SCK для поддержки целей с низкой тактовой частотой (< 1,5 МГц).
Опция
Скачать
Прошивка и схема
Следующие пакеты включают схему и прошивку.
usbasp.2011-05-28.tar.gz (519 КБ)
Поддержка TPI, поддерживает программистов с ATMega88 и ATMega8.
usbasp.2009-02-28.tar.gz (260 кБ)
usbasp.2007-10-23.tar.gz (172 кБ)
usbasp.2007-07-23.tar.gz (176 кБ)
usbasp .2006-12-29.tar.gz (118 КБ)
Поддерживает программистов с ATMega48 и ATMega8.
usbasp.2006-09-16.tar.gz (116 КБ)
Новый VID/PID!
usbasp.2005-11-14.tar.gz (175 кБ)
usbasp.2005-07-03.tar.gz (166 кБ)
usbasp.2005-04-21.tar.gz (169kB)
Подробнее о сборке, установке и использовании USBasp см. в файле Readme.txt.
Драйверы
В Linux и MacOS X драйвер ядра не требуется. Для Windows требуется драйвер для USBasp. Пожалуйста, используйте этот инструмент для установки драйвера для Windows (см. также: успешная установка в Windows 10):
Zadig - простая установка драйвера USB
Программное обеспечение
- AVRDUDE поддерживает USBasp, начиная с версии 5.2.
- BASCOM-AVR поддерживает USBasp, начиная с версии 1.11.9.6.
- Khazama AVR Programmer — это приложение с графическим интерфейсом пользователя Windows XP/Vista для USBasp и avrdude.
- eXtreme Burner - AVR - это программное обеспечение с графическим интерфейсом Windows для программистов USB AVR на базе USBasp.
Оборудование
Схема
Список деталей
Номер детали | Значение | Reichelt No |
---|
4,7u | RAD 4,7/35 | |||
C2 | 100n | X7R-5 100N | ||
C3, C4 | 22p | KERKO 22P | ||
D1, D2 | 3V6 zener | ZF 3,6 | ||
CON1 | USB-B | USB BW | ||
CON2 | 10pol | WSL 10W | ||
IC1 | ATmega8-16 | ATMEGA 8-16 (не запрограммировано!) | ||
JP1, JP2 | 2pol 2,54mm | SL 1X36G 2,54 | ||
LED1 | 3mm LED green | LED 3MM 2MA GN | ||
LED2 | 3mm LED red | LED 3MM 2MA RT | ||
Q1 | 12Mhz | 12,0000-HC49U-S | ||
R1, R2 | 68 | 1/4W 68 | ||
R3 | 2,2k | 1/4W 2,2к | ||
R4, R5, R6, R7 | 270 | 1/4W 270 | ||
R8 | 10K 9033 | M1, M2 | Jumper | JUMPER 2,54GL SW |
M3 | Socket 28S | GS 28-S | ||
M4 | Case | TEKO 10007 | ||
M5 | PCB | - |
Макеты печатных плат пользователя
Вот список проверенных макетов печатных плат. Если вы разработали свою собственную печатную плату, пожалуйста, дайте мне знать.
usbasp_single_side.t3001.zip Томас Фишл Односторонняя печатная плата, TARGET 3001! файл макета Размер: 90x40 мм (оптимизирован для корпуса Hammond 1591ATBU) | ||
lv_usbasp.tar.gz Павел Шрамовски (11/2007) С Низковольтный интерфейс . Односторонняя печатная плата, файлы разводки EAGLE, некоторые компоненты SMD | ||
Бернхард Валле Двухсторонняя печатная плата, файлы компоновки EAGLE, список деталей с номерами заказов для Reichelt. ![]() Размер: оптимизирован для корпуса Hammond 1591ATBU | ||
http://thomaspfeifer.net/atmel_usb_programmer.htm Томас Пфайфер Односторонняя печатная плата, файлы макетов PDF, компоненты SMD | ||
Томаш Островский Файлы макетов односторонней печатной платы, PDF и EPS, только четыре детали 0805 SMD, остальные отдельные компоненты | ||
USBasp_CH.zip Кристиан Хейгемейр Односторонняя плата, с некоторыми компонентами SMD 0805, PDF-файлы С дополнительными кнопками сброса и отключения цели | ||
USBasp.![]() USBasp.pcb ComponentSide.pdf, TopSide.pdf, Схемы.pdf Журов Павел Односторонняя печатная плата, формат P-CAD 2002 и файлы PDF Добавлены крестовины TXD и RXD для разъема ISP | ||
usbasp_gr.rar Дж.А. де Гроот Плата односторонняя (формат EAGLE), имеет размеры 3 на 8 см и использует только обычные компоненты. | ||
usbasb_mg.zip Матиас Гёрнер Односторонняя печатная плата, формат eagle, с файлами PS/PDF | ||
Tarball с макетом Ханнес Эстлунд Двухсторонняя печатная плата, компоненты SMD, очень маленькие | ||
Сергей Богданцев (01/2010) Версия 3,3 В, только ATMega48. | ||
Файлы Eaglefiles (sch/brd) и дизайн корпуса CAD (dxf) Ханс Хафнер, HTL Mössingerstrasse-Klagenfurt, Австрия, hans.hafner (at) htl-klu (точка) в (01/2010) Фрезерованный корпус с ЧПУ (доступен файл DXF), компоновка Eagle, только несколько деталей SMD | ||
Различные версии USBasp: простая в сборке версия без smd, smd и очень маленький USBasp . Свен Хедин (01/2011) Доступны файлы Eagle. ![]() | ||
USB-ключ Программатор AVR Фабио Балтьери (09/2011) Очень маленький USB-ключ, как размеры. СМД детали. | ||
Программатор AVR ISP Ярослав Вадель (04/2012) Маленький программатор. СМД детали. | ||
Целевой проект и PDF-файлы (макет/схема) Мариус Шефер (09/2013) | ||
tinyUSBboard с USBasp-совместимой прошивкой Стефан Бервольф (04/2014) | ||
USBasp на макетной плате с разъемом для дочерних плат контроллера.![]() Фабиан Хуммель (11/2018) | ||
Тьяарт ван Асвеген разработал плату SMD: файлы DIP TRACE и GERBER. Тьяарт ван Асвеген (09/2019) | ||
Многофункциональный (например, различные уровни напряжения, встроенный преобразователь USB в последовательный порт, разъем USB-C), совместимый с USBasp дизайн. | ||
Плата USBasp с дополнительным 6-контактным разъемом и возможностью выбора целевого источника питания (3,3 В/выкл.![]() Марти Э. (10/2020) | ||
Джон включил 40-контактный универсальный разъем, который подходит для устройств с 8, 14, 20 и 28 контактами. Он также добавил универсальный кварцевый генератор с выходами 1, 2, 4, 8 и 16 МГц для синхронизации микросхем. Также имеется стандартный 6-контактный разъем ICSP и пользовательский светодиод, подключенный к контакту MOSI. Джон П. (11/2020) | ||
QUSBASP отличается небольшим размером и гибкостью (различные варианты подключения: USB-A или штыревой разъем, ICSP с 6 или 10 или пого-пинами). от Кетеша (07/2021) | ||
Открытый аппаратный USBasp с USB-C с 6- и 10-контактным разъемом ICSP.![]() от Littleliu (10/2021) | ||
USBasp с красивым корпусом, кнопками для медленного SCK и целевого питания, а также опцией для небольшого 6-контактного целевого разъема 1,27 мм. Томас Дж. (01/2022) | ||
Версия USBasp от Makeriot2020 добавляет преобразование логического уровня и регулятор 3,3 В, что позволяет программировать цели 3,3 В. от Makeriot2020 (03/2022) | ||
USBasp с разъемом ZIF и сквозными компонентами. от ИОЭлектро (08/2022) | ||
USBasp с разъемом ZIF и сквозными компонентами: проект KiCad 6.![]() |