Перейти к содержимому


Фотография

Программатор AVR микроконтроллеров USBASP


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 admin

    • Администраторы
    • сообщений 35

Отправлено 18 Ноябрь 2015 - 16:48

Установки джамперов

J1 - если программируемый МК низкоскоростной <1.5 МГц, то необходимо установить данный джампер. Тогда SCK уменьшится с 375 кГц до примерно 8 кГц.


J2 - обновление прошивки (сам себя обновлять не может!). Установленный джампер позволяет программировать контроллер программатора другим рабочим программатором.
J3 -источник питания (от USB, либо внешний источник). Будьте аккуратнее, т.к. схема не содержит какой-либо защиты от КЗ. На некоторых переключает питание 5В и 3,3В

 

ВНИМАНИЕ!!!

На разных программаторах джамперы по номерам не совпадают на платах. Смотрите по дорожкам какие куда идут.

 

Распиновка

a815ee9afb41.png

Схема

 

 

551015e0d1e6.png

 

Подключение программатора к контроллеру

5f96455f7ca0.jpg

Программатор прошит последней прошивкой usbasp_atmega8_2011-05-28.hex

 

Драйвер USBASP скачать - USBasp-win-driver-x86-x64-v3.0.7.zip

 

Программа для программатора

SinaProg очень приятная в использовании программа. Я думал, что проще UniProf программатора быть не может. Oказывается – может! Не смотря на простоту и доступность SinaProg, автор сохранил всю гибкость AVRdude и возможность тюнинговать саму SinaProg под свой вкус (например, можно запросто русифицировать описание фьюзов, создать свои пресеты и т.д.). Программа портативна – работает с любого места (как я люблю  ). SinaProg уже имеет в своем составе AVRdude – отдельно устанавливать не нужно. Из недостатков, пожалуй, можно отметить размер программы – чуть больше 20мБт (10 в архиве).

Программируем при помощи SinaProg.
Честно говоря, описывать процесс программирования через SinaProg просто нет смысла. Любой запустивший программу сразу поймет, что к чему. Вникать в подробности тонкой настройки я не буду – вещь не особо нужная, в данной ситуации – все и так хорошо работает. 

После запуска программы мы увидим главное окно.
b9f9d0baf30f.png

Сверху-вниз:
– окошко выбора пути и имени для HEX-файла;
– окошко системных сообщений;
– стрелочка вправо показывает/ прячет окно с логом сообщений от AVRdude (обычно не востребовано, но если появляются проблемы – открываем и смотрим что об этом «говорит»  AVRdude;
– прогресс-бар – отображает процесс работы с микроконтроллером;
– поле работы с Flash-памятью микроконтроллера. Программирование, проверка (сравнивается содержимое памяти с HEX-файлом) и чтение (до процедуры чтения должен быть выбран HEX-файл в верхним окошке – в противном случае быдет выдаватся ошибка);
– поле работы с EEPROM-памятью – аналогично Flash;
– поле выбора микроконтроллера –  в выпадающем списке выбираем микроконтроллер с которым будет работать программатор, кнопка «Search» запускает процесс проверки соответствия  выбранного микроконтроллера подключенному (полезно для проверки работоспособности цепочки программатор-шлейф-микроконтроллер);
– работа с фьюзами. Окошко пресетов и кнопку «Program» не трогаем – это для работы с пресетами. Захотите использовать – нужно будет вручную прописывать эти самые пресеты – оно Вам нада? Кнопка «Advanced…» открывает окно установки фьюзов;
– поле выбора программатора. В выпадающем списке выбираем USBASP, порт будет без вариантов USB. В новых версиях SinaProg есть возможность выбора различных портов и скорости работы с ними, но по факту все работает одинаково при любых настройках (недоработка программы?).

«Advanced…»  окно работы с фьюзами.

f028885aad52.png

Окно очень информативно. Содержит сигнатуру микроконтроллера (Device Signature), калибрационное значение для генератора (Calibration), и собственно, сами фьюз-биты, разбитые на четыре байта (Lock Bits, High Fuse, Low Fuse, Ext. Fuse). При открытии окна данные автоматически считываются с микроконтроллера. 
Запись фьз-бит возможна в двух вариантах:
1 Записью в соответствующие окошки значений всего байта (шестнадцатеричные числа). 
Этот способ более удобен (безопасен) если Вы повторяете готовое устройство и у Вас есть эти значения. 
Впредь я постараюсь не забывать выкладывать эти значения вместе с прошивкой для своих устройств. 
2 При помощи фьюз-калькулятора. Удобно если Вы создаете свое устройство и необходимо задать нужный Вам режим работы микроконтроллера. Для перехода в этот режим жмем «С» возле нужного байта фьзов. Откроется окно калькулятора, где и выбираются нужные режимы работы.
После того как все значения выставлены – жмем «Write».
Нижнее поле не трогаем.

 

Окно калькулятора фьюз-бит.
3dd9e7117597.png

В окне в выпадающих списках и чек-боксах выбираем нужный режим, в окошке снизу сразу видим значение всего байта. Когда установка завершена – жмем ОК.

Внимание!
Значения фьюз-бит здесь не как по даташиту, а инверсно.
Галочкой разрешается выбранная функция.

В данном случае это логично, если воспринимать калькулятор как настройщик конфигурации микроконтроллера, а не как отображение фьюз-бит. Будьте внимательны – неправильная установка некоторых бит сделает невозможным дальнейшее использование микроконтроллера.

Процедура программирования проста:
– включаем программатор USBASP в USB (драйвер уже должен быть установлен);
– подключаем программатор 
USBASP к программируемому устройству;
– запитываем программируемое устройство (если оно не запитывается от USB);
– запускаем SinaProg, выбираем в окошке программатора «
USBASP», выбираем тип микроконтроллера;
– выбираем HEX-файл прошивки, в поле Flash жмем кнопку «Program»  - микроконтроллер прошьется;
– нажимаем »Advanced…» и в новом окне выставляем фьюзы (как описано выше), жмем «Write» – прошиваем фьюзы;
– готово, микроконтроллер прошит. Отключаем питание, отключаем программатор, закрываем программу.

Вот и все описание. Ничего сложного!

 

Да не все программаторы работают с SinaProg в нормальном режиме, один контроллер я  смог зашить, другой нет. Но я нашел другую программу -Скачать -AVRDUDE_PROG v3.3  тоже неплохая программа, мне понравилась, удобные настройки. Пробуйте.

Программа для программатора

 

Скачать SinaProg

 

Скачать -AVRDUDE_PROG v3.3



#2 Alexmenoi

    • Пользователи
    • сообщений 6

Отправлено 24 Сентябрь 2016 - 23:44

Я тут поигрался немного с фьюзами у Тинни2313 и загнал ее в стопор, теперь она не определяется. Собственно вопрос, у кого есть параллельный программатор, чтоб все поправить?

#3 admin

    • Администраторы
    • сообщений 35

Отправлено 25 Сентябрь 2016 - 13:15

Я тут поигрался немного с фьюзами у Тинни2313 и загнал ее в стопор, теперь она не определяется. Собственно вопрос, у кого есть параллельный программатор, чтоб все поправить?

У нас есть, тинька в дип корпусе? Ты наверно выставил вьюзы, чтобы контроллер работал от внешнего генератора, то в этом случае тебе надо подать импульсы с внешнего генератора и тогда ты сможешь исправить фьюзы






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных