Форма входа |
---|
Категории раздела | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Поиск |
---|
|
Наш опрос |
---|
Мини-чат |
---|
Контроль |
---|
Партнёры |
---|
Главная » Статьи » Радиолюбителям | [ Добавить статью ] |
Решил заменить свою рабочую лошадку STK200+PonyProg, на нечто более
современное, легко собираемое и обязательно поддерживающее подключение
по USB. Выбор пал на хорошо зарекомендовавший себя программатор USBASP,
мозгом которого служит микроконтроллер Atmega8 (так же есть варианты
прошивки под atmega88 и atmega48) . Минимальная обвязка микроконтроллера
позволяет собрать достаточно миниатюрный программатор, который всегда
можно взять с собой, как флэшку. Еще одним плюсом программатора является
то, что благодаря большой популярности он приобрел поддержку во многих
средствах разработки, в том числе и в Bascom-AVR начиная с версии
1.11.9.6. И поэтому консольность программы, с которой он работал
первоначально, перестала быть отпугивающим моментом для начинающих.
Схема
программатора USBASP под микроконтроллер Atmega8 в корпусе TQFP32
приведена ниже (обратите внимание, что распиновка микроконтроллера
отличается от распиновки в корпусе DIP):
Перемычка J1 применяется, в случае если необходимо прошить
микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку
вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор
будет всегда работать на пониженной частоте. Лично для себя отметил, что
программирование на пониженной скорости на доли секунды дольше, и
поэтому теперь перемычку не дергую а постоянно шью с ней. Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования.
Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-и пинового ISP разъема:
На этот разъем выведены контакты для питания программируемых устройств,
здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть
внимательным и не допускать кз.
Этот же разъем применяется и для программирования управляющего
микроконтроллера, для этого достаточно соединить выводы Reset на разъеме
и на мк (см. красный пунктир на схеме). В авторской схеме это делается
джампером, но я не стал загромождать плату и убрал его. Для единичной
прошивки хватит и простой проволочной перемычки.
Плата получилась двухсторонняя, размерами 45х18 мм.
Разъем для программирования и перемычка для снижения скорости работы
программатора вынесены на торец устройства, это учень удобно Прошивка управляющего микроконтроллера Прошивать,
как я писал выше, можно с разъема программирования, соединив выводы
Reset микроконтроллера (29 нога) и разъема. Прошивка существует для
моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из
двух последних камней, так как поддержка версии под Atmega48 прекращена и
последняя версия прошивки датируется 2009 годом. А версии под 8-й и
88-й камни постоянно обновляются, и автор вроде как планирует добавить в
функционал внутрисхемный отладчик. Прошивку под свой тип контроллера
можно скачать ниже: Для
работы устройства необходимо настроить фьюзы на внешний кварц 12МГц. В
PonyProg настройка фьюзов будет выглядеть следующим образом:
После
прошивки должен загореться светодиод подключенный к 23 ноге
микроконтроллера. Это будет верный признак того, что программатор прошит
удачно и готов к работе.
Установка драйвера
Установка велась на машину с системой Windows 7 и никаких проблем не возникло.
При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:
Выбираем папку где лежат дрова и жмем Далее Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких: Забиваем
на предупреждение и продолжаем установку, после небольшой паузы
появится окно, сообщающее об успешном окончании операции установки
драйвера Все, теперь программатор готов к работе. Осталось выбрать программу, посредством которой будем работать с программатором. USBASP и Bascom
Как писал ранее, полную поддержку USBASP в Bascom-AVR сделали начиная с версии 1.11.9.6. Попалась тут
мне страничка, иллюстрирующая, как можно подружить USBASP с более
ранней версией компилятора, но тогда придется ставить avrdude.
Настройка программатора для совместной работы с Bascom-AVR происходит в
пункте меню Options-Programmer, в списке программаторов выбираем USBASP
Строка
конфигурации Clock Frequency служит для выбора частоты работы
программатора. Помнишь про джампер который необходимо замыкать когда
нужно прошить микроконтроллер с частотой тактирования меньше 1,5 МГц?
Так вот, в новой версии прошивки программатора реализавана возможность
программно изменять частоту работы, эту фишку и использует Bascom. Можно
выбрать частоту работы в диапазоне от 500Гц до 1,5МГц, по рекомендациям
частота должна быть вчетверо меньше частоты работы прошиваемого
микроконтроллера. Например, если требуется прошить контроллер с тактовой
частотой 1МГц, нужно ставить частоту работы не более 250кГц или, для
надежной работы, еще меньше. Я оставил в этом пункте автоопределение
частоты. Khazama AVR Programmer
Еще
одна небольшая программа для работы с программатором USBASP. Мне она
понравилась минимальным интерфейсом и кнопочками, срисованными с
PonyProg =)
Она работает со всеми ходовыми микроконтроллерами AVR, позволяет
прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а
также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор.
Настройка фьюзов осуществляется выбором источника тактирования из
выпадающего списка, таким образом, вероятность залочить кристалл по
ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем
поле, при этом нельзя расставить галки на несуществующую конфигурацию, и
это тоже большой плюс в плане безопасности.
Запись
фьюзов в память мк, как можно догадаться, осуществляется при нажатии
кнопки Write All.
Кнопка Save сохраняет текущую конфигурацию, а Load возвращает
сохраненную. Правда я так и не смог придумать практического применения
этих кнопок.
Кнопка Default предназначена для записи стандартной конфигурации фьюзов,
такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от
внутреннего RC).
В
общем, за все время пользования этим программатором, он показал себя с
наилучшей стороны в плане стабильности и скорости работы. Он без проблем
заработал как на древнем стационарном пк так и на новом ноутбуке. Ниже можно скачать архив с прошивками и печатной платой, а так же программу Khazama: Источник: http://avrproject.ru | |
Просмотров: 6030
| Теги: |
Всего комментариев: 0 | |