Программатор для AVR. Выбор типа программатора. AVR910.
Программатор для AVR
Решил собрать программатор для AVR. Что может быть проще самодельного программатора для AVR? Не угадаете, проще может быть только покупной программатор для AVR. Есть множество типов программаторов: параллельные, высоковольтные, битбэнг… Лично я попользовался разными программаторами и пришел к выводу, что просто программатор это скучно, нужно делать маленький комплекс по восстановлению МК. Практически единственное, с чем я сталкивался, так это с неправильно выставленным источником тактирования.
Я предпочитаю работать с микроконтроллерами фирмы Atmel. Если быть точным, то я работаю только с ATMEGA16, ATMEGA8, ATTINY2313 и ATTINY13. Скоро начну эксперименты с ATMEGA128. Остальное было баловство, либо не привлекло моего внимания.
Выбор типа программатора
Программатор является необходимой железкой при работе с микроконтроллерами.
К программаторам можно отнести и некоторые отладчики, типа JTAG. Они тоже позволяют прошить микроконтроллер. Поиграл я в свое время с JTAG ICE и пришел к выводу, что мне достаточно отладочных средств которыми я пользуюсь. Для моих целей JTAG явно избыточен и по этому я его не использую.
К битбэнг программаторам относятся программаторы банально дрыгающие лапами порта (быстро меняющие состояние выводов порта). Яркий пример программатор Громова. Надежный как топор, правда очень многие люди не смогли осилить его изготовление. Там в схеме всего несколько резисторов на килоОм и несколько любых одинаковых диодов.
У битбэнга есть огромный минус и он заключается в том, что для него нужен настоящий COM порт, а различные переходники с USB на COM его не устраивают. Есть случаи когда он разработал на них, но это единичные случаи и шьет он тогда катастрофически медленно.
В противоположность простым программаторам, использующим дрыганье лапок, стоят программаторы со вспомогательным микроконтроллером. Этот тип программаторов конектится к прошиваемому микроконтроллеру по SPI и пишет в него данные получаемые с компьютера. Это позволяет добиться высокой скорости записи. Этот тип программаторов страдает одной очень большой проблемой, для него нужен программатор. Программатор позволяет единоразово прошить этот вспомогательный микроконтроллер для программатора и больше не вспоминать о нем.
Окончательный выбор программатора для AVR
Среди всего многообразия я остановил свой взор на двух программаторах. На USBasp и AVR910. Но AVR910 был лидером по двум причинам. Во-первых, он совместим с программой идущей в комплекте с AVR Studio; во-вторых, он генерирует меандр, что позволило сэкономить на одной микросхемке.
Подбиваем хотелки и возможности
Я решил остановиться на AVR910, который реализован на ATMEGA8, с применением софтового USB. Самым заманчивым вариантом оказался вариант предложенный Рыжковым Андреем aka PROTTOSS из Новокузнецка. Схему программатора и прошивку с драйверами можно скачать по адресу http://prottoss.com. Поклонники USBAsp могут зашить свой любимый программатор.
На плате программатора разведена ZIF-панелька с выводом всех лапок на штыри. Использовалась универсальная панелька в которую входят узкие и широкие корпуса МК. на одну сторону выведена цанговая панелька для подключения кварцев разного номинала со всем нужным обвязом. Так же на одну лапку выведен меандр от программатора и RC-цепь из конденсатора на 22pF с резистором на 10 КОм. Плюс разведен классический разъем ISP и свой собственный штекер для быстрого подключения к штырям расположенным по краям ZIF.
Результат
Частенько этот программатор используется для отладочных целей, например если надо отработать небольшой алгоритм, а для отладки достаточно питания и пары светодиодов.
Отредактировано:2020-10-01 08:13:44
Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту, предлагать только интересную информацию и упростить заполнение форм. Я предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с использованием мной файлов cookies. Вы в любое время можете удалить и/или запретить их использование изменив настройки своего интернет-браузера.
Сообщайте мне о замеченных ошибках на: [email protected]. Все пожелания и советы будут учтены при дальнейшем проектировании сайта. Я готов сотрудничать со всеми желающими. В некоторых случаях, мнение автора может не совпадать с мнением автора!
avr — USB программатор ATmega8
спросил
Изменено 6 лет, 5 месяцев назад
Просмотрено 2к раз
\$\начало группы\$
Я купил этот USB программатор: USBasp USBISP 3.3V/5V AVR Programmer USB ATMEGA8.
Но не могу понять как его подключить. Это изображение имеет 9 круглых входов и 1 квадратный вход, но все входы квадратные в моем элементе. Может ли кто-нибудь помочь мне шаг за шагом, потому что я новичок.
- usb
- авр
- атмега
\$\конечная группа\$
\$\начало группы\$
Программатор, который у вас есть, программирует ATmega8 через интерфейс ISP на устройстве. Вот распиновка вашего программатора:
Вы видите круги и один квадрат? Квадрат обозначает 1-й контакт или MOSI.
Я думаю, что нашел подходящее техническое описание вашего микроконтроллера ATmega8, пожалуйста, дважды проверьте техническое описание имеющегося у вас микроконтроллера.
Взято из таблицы данных ATmega8/ATmega8L, найденной здесь: Таблица данных ATmega8
Вы можете видеть, что контакт 19 (PB5) является контактом SCK. Контакт 18 — MISO, 17 — MOSI, 1 — RESET. Это контакты, которые подключаются к соответствующим контактам ISP, которые вы можете видеть на первом рисунке выше.
Таким образом, ваша система в целом будет выглядеть следующим образом:
- Обеспечьте питание ATmega8 от надежного источника питания постоянного тока 5 В
- Убедитесь, что ATmega8 заземлен
- Подключите контакты программатора ISP к соответствующим контактам на ATmega8
- Подтяните резистор (~10 кОм) на контакте RESET.
Это все, что вам нужно, чтобы программатор мог общаться с вашим MCU с помощью вашего компьютера.
Удачи.
\$\конечная группа\$
8
\$\начало группы\$
«Круги» и «квадраты» — это просто условности; в этом случае квадрат указывает на контакт 1.
Я не уверен, что вы подразумеваете под «все входы квадратные в моем элементе».
Если вы посмотрите на разъем ленточного кабеля (справа на изображении, которое я добавил к вашему вопросу), на шелкографии есть треугольник, который также обозначает контакт 1. (Красная полоса на ленточном кабеле также обычно относится к контакту 1. , но на картинке он показан задом наперёд.Я бы доверился шелкографии.)
Распиновка (также добавленная) показывает назначение каждого контакта. MOSI, например, это «главный выход, подчиненный вход». Вы можете найти дополнительную информацию об этом, если исследуете внутрисистемное (ISP) программирование.
\$\конечная группа\$
1
\$\начало группы\$
Если у вас есть цифровой мультиметр с функцией «Проверка диодов», вы можете использовать его в качестве тестера подключения (здесь мы называем это «Проверка звукового сигнала» :D), вы просто узнаете, какой контакт A Разъем на стороне B подключается к разъему на стороне B. Изучите порядок соединений, потому что так принято соединять контакты этих плоских кабелей.
Далее вам нужно будет просто подключить MOSI к MOSI, MISO к MISO, SCK к SCK и абсолютно NRST к NRST (как говорили другие друзья, лучше подтянуть NRST с помощью резистора 10K~47K — однако AVR уже имеет этот резистор.Это просто для предосторожности).
И НЕ ЗАБЫВАЙТЕ PIN-код «ЗЕМЛЯ»! Каждые два устройства с электрической связью должны иметь общее ЗАЗЕМЛЕНИЕ.
Я должен добавить и отметить кое-что в дополнение к тому, что сказали мои друзья JYelton и Nick:
Пожалуйста, убедитесь, что ваш ATmega8 (или любая другая микросхема, которую вы используете) питается от внешнего адаптера (+5 В) ИЛИ от программатора. НЕ ОБОИХ!!!
В противном случае вы можете повредить USB-порт вашего компьютера или адаптер (а в некоторых случаях даже программатор и микроконтроллер)!!
\$\конечная группа\$
2
Зарегистрируйтесь или войдите
Зарегистрироваться через Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.Как загрузить загрузчик Arduino в микроконтроллер ATMEL ATMEGA328P
Ваша инженерная проблема — наша забота
Установите Mini-Core
Установите Mini-Core, следуя инструкциям на странице github:
«https://github.com/MCUdude/MiniCore#how-to-install»
Для этого метода установки требуется Arduino IDE версии 1.6.4 или выше.
- Откройте IDE Arduino.
- Откройте пункт меню Файл > Настройки .
- Введите следующий URL-адрес в URL-адреса менеджера дополнительных плат :
« https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json » - Откройте Инструменты > Плата > Диспетчер плат… 9Пункт меню 0094.
- Дождитесь завершения загрузки индексов платформы.
Прокрутите вниз, пока не увидите запись MiniCore, и щелкните ее.
Щелкните Установить. - После завершения установки закройте окно Boards Manager.
Подготовка программатора
Подключите устройство USBasp к компьютеру.
Если вы получили сообщение об ошибке, указывающее, что USBasp не найден,
используйте Zadig для загрузки драйвера устройства.
Перейдите по адресу: https://zadig.akeo.ie и загрузите программное обеспечение. После загрузки
Запустите программное обеспечение и перейдите к Параметры>Список всех устройств
В раскрывающемся меню выберите USBasp.
Затем в разделе «Выбор драйвера» нажимайте маленькие стрелки, пока не найдете «libusbK (v3.0.7.0)».
Затем нажмите «Заменить драйвер». Инструменты>Программист>USBasp
Выберите плату ATMEGA328
и выберите вариант 328/328A
Подключите USBASP к программированию Arduino (6 Pins Learer)
Go To gulloader> Go go to gulloader>
Go к > Bullighter> Go к > Bulloarder> . Вы должны увидеть это сообщение в консоли. Быстрый способ проверить, правильно ли был записан загрузчик, — попробовать загрузить его с пустым исходным кодом. Если загрузка не удалась, попробуйте изменить порт в Сервис>Порт. Если загрузка по-прежнему не работает, попробуйте для начала повторить шаг 3. Вы можете запрограммировать плату с помощью USB B mini, как и обычную плату Arduino. Для этого вам нужно изменить порт, если это необходимо: Tools>Port Используйте кнопку Check для компиляции и стрелку для загрузки кода на плату. Настройка: Контакты USBasp должны быть подключены к соответствующему разъему Arduino ICSP. Copyright © 2006-2019 PIC-CONTROL Pte. Программирование Arduino через USB
Другие ссылки
Рубрики Электронные справочники, Обмен знаниями