USB программатор своими руками на микроконтроллере Atmega8. Схема
Главная » Микроконтроллеры » USB программатор своими руками на микроконтроллере Atmega8. Схема
в Микроконтроллеры 1 Комментарий 3,930 Просмотров
С развитием компьютерной техники, с каждым разом становится все меньше и меньше компьютеров оснащенных COM и LPT портами. Это в свою очередь вызывает затруднения, в частности у радиолюбителей, связанные с сопряжением средств программирования микроконтроллеров с персональным компьютером.
Блок питания 0…30 В / 3A
Набор для сборки регулируемого блока питания…
Подробнее
В данной статье приведено описание USB программатора для микроконтроллеров AVR, который можно собрать своими руками. Построен он на микроконтроллере Atmega8 и способен работать от USB разъема компьютера. Данный программатор совместим с STK500 v2.
Описание USB программатора
USB программатор построен на плате, сделанной из одностороннего фольгированного стеклотекстолита по технологии ЛУТ.
После того как все детали будут запаяны нужно прошить микроконтроллер Atmega8 прошивкой приведенной в конце статьи. Фьюзы, которые необходимо выставить при программировании микроконтроллера Atmega8, должны выглядеть следующим образом:
Портативный паяльник TS80P
TS80P- это обновленная версия паяльника TS80 Smart, работающий от USB…
Подробнее
- SUT1 = 0
- BOOTSZ1 = 0
- BOOTSZ0 = 0
- CKOPT = 0
- SPIEN = 0
Необходимо напомнить, что в некоторых программах фьюзы выставляются противоположно этому. Например, в программе CodeVisionAVR необходимо проставить галочки напротив вышеперечисленных фьюзов, а в программе PonyProg наоборот.
Программирование Atmega8 через LPT-порт компьютера
Самый быстрый и дешевый способ запрограммировать Atmega8 – применить LPT-программатор для AVR. Подобная схема приведена ниже.
Питание микроконтроллера осуществляется от простого стабилизатора напряжения 78L05. В качестве оболочки для программирования можно использовать программу UniProf.
При первом включении программы и при не подключенном контроллере, нажав кнопку «LPTpins», необходимо настроит выводы LPT-порта следующим образом:
В момент запуска UniProf, она автоматом определяет вид микроконтроллера. Загружаем в память UniProf прошивку Atmega8_USB_prog.hex, отклоняем подключение файла EEPROM.
Выставляем следующим образом фьюзы (для программы UniProF), нажав кнопку «FUSE»:
Для запоминания установок нажимаем все три кнопки «Write». Затем нажав на «Erase» предварительно очищаем память прошиваемого микроконтроллера. После этого уже жмем на «Prog» и дожидаемся завершения прошивки.
Настройка USB программатора
После того как наш микроконтроллер прошит, его необходимо установить в плату USB программатора. Далее подключаем программатор к USB порту компьютера, но пока питание не подаем.
Далее необходимо настроить программу терминал (HyperTerminal) которая находится по следующему пути: Пуск > Программы > Стандартные > Связь > HyperTerminal. Настраиваем порт, параметры терминала и ASCII
Настройка порта:
Настройка терминала:
Настройка ASCII:
Теперь после всех проделанных процедур, подаем питание на USB программатор. Светодиод HL1 должен промигать 6 раз и затем светится постоянно.
Для проверки связи USB программатора с компьютером 2 раза нажимаем клавишу «Enter» в программе HyperTerminal. Если все в порядке мы должны увидеть следующую картину:
Если это не так проверяем еще раз монтаж, особенно линию TxD.
Далее вводим версию программатора 2.10, так как без этого программатор не будет работать с программами «верхнего уровня». Для этого вводим «2» и нажимаем «Enter», вводим «а» (английская) и нажимаем «Enter».
USB программатор способен распознавать подключение программируемого микроконтроллера. Выполнено это в виде контроля «подтяжки» сигнала Reset к источнику питания.
- «0», «Enter» — режим выключен.
- «1», «Enter» — режим включён.
Изменение скорости программирования ( 1МГц):
- «0», «Enter» – максимальная скорость.
- «1», «Enter» – сниженная скорость.
На этом подготовительная работа завершена, теперь можно попробовать прошить какой-нибудь микроконтроллер.
Скачать прошивку, печатную плату USB программатора и программу UniProf (829,4 KiB, скачано: 1 741)
Источник: http://r-lab.narod.ru
Паяльный фен YIHUA 8858
Обновленная версия, мощность: 600 Вт, расход воздуха: 240 л/час…
Подробнее
Atmega8AVRПрограмматор 2014-06-28С тегами: Atmega8 AVR Программатор
USBasp – USB программатор для микроконтроллеров Atmel AVR « схемопедия
USBasp – простой внутрисхемный USB-программатор для микроконтроллеров Atmel AVR. Программатор построен на микроконтроллере ATMega88 (или ATMega8) и содержит минимум деталей. Программатор использует свой USB-драйвер, никакие специальные USB контроллеры не нужны.
Особенности программатора:
– работа под любой платформой: Windows, Linux и Mac OS X
– какие-либо специальные компоненты или smd не нужны
– скорость программирования до 5 кБ/сек
– SCK-джампер позволяет программировать низкоскоростные контроллеры (< 1.5МГц)
– в планах: последовательный интерфейс (например для отладки)
Схема программатора
Схема предназначена для программирования только 5В кристаллов. В других случаях, уровни должны быть преобразованы!
Заливка прошивки
Т.к. в схеме программатора используется микроконтроллер, то его необходимо предварительно прошить. Для этого подключите другой рабочий программатор и установите джампер J2, для активации функции обновления прошивки.
Прошейте программатор при помощи прошивки: «bin/firmware/usbasp.atmega88.xxxx-xx-xx. hex» или «bin/firmware/usbasp.atmega8.xxxx-xx-xx.hex«
Необходимо будет установить фьюзы для подключения внешнего кварца
# TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef
# TARGET=atmega48 HFUSE=0xdd LFUSE=0xff
# TARGET=atmega88 HFUSE=0xdd LFUSE=0xff
Установки джамперов
J1 – источник питания (от USB, либо внешний источник). Будьте аккуратнее, т.к. схема не содержит какой-либо защиты от КЗ.
J2 – обновление прошивки (сам себя обновлять не может!). Установленный джампер позволяет программировать контроллер программатора другим рабочим программатором.
J3 – если программируемый МК низкоскоростной <1.5 МГц, то необходимо установить данный джампер. Тогда SCK уменьшится с 375 кГц до примерно 8 кГц.
Установка драйверов под Windows
Подключите программатор USBasp к USB. Windows найдет устройство и попросит указать драйвер, укажите ему папку «bin/win-driver«.
Теперь можно запустить avrdude, к примеру:
1. Войти в терминальный режим, МК: AT90S2313: avrdude -c usbasp -p at90s2313 -t
2. Записать main.hex в flash-память МК ATmega8: avrdude -c usbasp -p atmega8 -U flash:w:main.hex
Сборка их исходников (под Linux)
Компиляция прошивки:
1. Установите GNU toolchain для микроконтроллеров AVR (пакеты avr-gcc, avr-libc)
2. Войдите в директорию firmware/
3. Выполните команду «make main.hex«
4. Прошейте «main.hex» ATMega(4)8. Например при помощи uisp или avrdude (используйте
Makefile с опцией «
Также нужно установить фьюзы для работы от внешнего кварца (используйте Makefile
с опцией «make fuses«).
Компиляция avrdude:
ПО AVRDUDE поддерживается программатором USBasp начиная с версии 5. 2.
1. Установите пакет libusb
2. Скачайте последнюю версию avrdude
3. cd avrdude-X.X.X
4. Сконфигурируйте:
./bootstrap
./configure
5. Компиляция:
make
make install
- AVRDUDE – поддерживается USBasp начиная с версии 5.2
- BASCOM-AVR – поддерживается USBasp начиная с версии 1.11.9.6
- Khazama AVR Programmer – Windows XP/Vista GUI приложение для USBasp и avrdude
- eXtreme Burner – AVR – программа Windows GUI для USBasp
Скачать прошивку, исходники, драйверы: usbasp.2011-05-28.tar.gz
Последнюю версию всегда можно взять на официальном сайте USBasp
Печатные платы
Под данный программатор разработано более 10 различных вариантов разводки печатной платы, которые можно скачать, либо на страничке официального сайта.
Перевод: Колтыков А.В. для сайта cxem.
|
avr — USB-программатор ATmega8
спросил
Изменено 6 лет, 8 месяцев назад
Просмотрено 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 уже имеет этот резистор.