Миниатюрный USB программатор для AVR микроконтроллеров / Хабр
Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.
Автором данного программатора является немец Thomas Fichl, страничка его разработки со схемами, файлами печатных плат и драйверами.
Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):
Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:
На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.
Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно
Прошивка управляющего микроконтроллера
Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:
После прошивки должен загореться светодиод подключенный к 23 ноге микроконтроллера. Это будет верный признак того, что программатор прошит удачно и готов к работе.
Установка драйвера
Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:
Выбираем папку где лежат дрова и жмем Далее
Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:
Забиваем на предупреждение и продолжаем установку, после небольшой паузы появится окно, сообщающее об успешном окончании операции установки драйвера
Все, теперь программатор готов к работе.
Khazama AVR Programmer
Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer. Замечательная программка, с минималистичным интерфейсом.
Она работает со всеми ходовыми микроконтроллерами AVR, позволяет прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор. Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности.
Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
Скачать файл печатной платы в SprintLayout можно по этой ссылке
Ну вроде все, если возникнут вопросы, постараюсь ответить.
Добро пожаловать в NIOZ.RU
Сортировать по
Название товара +/-
Цена товара
Выделенные товары
Наличие товара
Показано 1 – 60 из 662
153060150
Товары
3D Сканер Ciclop
8500,00 руб
Сообщить о поступлении
Описание товара
400 мл
1940,00 руб
Описание товара
390,00 руб
Описание товара
350 мл
850,00 руб
Описание товара
Готов к печати
23700,00 руб
Описание товара
Готов к печати из коробки
14500,00 руб
Сообщить о поступлении
Описание товара
Готов к печати
19900,00 руб
Описание товара
Готов к печати
20900,00 руб
Сообщить о поступлении
Описание товара
Готов к печати
23900,00 руб
Описание товара
Готов к печати из коробки
43500,00 руб
Описание товара
Готов к печати
39000,00 руб
Описание товара
LCD 0. 7/1.75 мм
1550,00 руб
Сообщить о поступлении
Описание товара
OLED, 0.6/1.75мм, USB
2150,00 руб
Сообщить о поступлении
Описание товара
650,00 руб
Описание товара
Wiznet W5100 Arduino Shield
650,00 руб
Сообщить о поступлении
Описание товара
550,00 руб
Описание товара
Комплект для сборки
2500,00 руб
Сообщить о поступлении
Описание товара
Объем:1 л.
3100,00 руб
Описание товара
Boscam 200мВт, 5,8Ггц
4550,00 руб
Описание товара
Химера, e3d
1700,00 руб
Описание товара
Печатающая головка 1,75мм 0,4мм
1100,00 руб
Описание товара
Двойная печатающая головка 1,75мм 0,4мм
2500,00 руб
Сообщить о поступлении
Описание товара
Длинный
750,00 руб
Описание товара
Короткий
700,00 руб
Описание товара
100,00 руб
Сообщить о поступлении
Описание товара
Количество: 1 комплект Вес: 10 г
100,00 руб
Описание товара
1900,00 руб
Сообщить о поступлении
Описание товара
APM2. 6 mavlink
1350,00 руб
Описание товара
ESP8266-это высокоинтегрированный чип
650,00 руб
Описание товара
250,00 руб
Описание товара
11.1V, 20C
1900,00 руб
Описание товара
11.1V, 25C
1250,00 руб
Сообщить о поступлении
Описание товара
11.1V, 25C
2100,00 руб
Описание товара
Heat block v6
150,00 руб
Описание товара
картриджный тип термистора
190,00 руб
Описание товара
Heat block Volcano
170,00 руб
Описание товара
Выходные параметры: 24 В, 600 Вт.
3300,00 руб
Описание товара
12В 20А
1550,00 руб
Описание товара
12В 30А
1950,00 руб
Описание товара
12В 5А
450,00 руб
Сообщить о поступлении
Описание товара
24В 15А
2100,00 руб
Сообщить о поступлении
Описание товара
250,00 руб
Описание товара
Hobbed bolt
150,00 руб
Описание товара
Цена за 10мм (резка бесплатная)
13,00 руб
Описание товара
Цена за 10мм (резка бесплатная)
17,00 руб
Описание товара
Отрезок 400мм
650,00 руб
Описание товара
Цена за 10мм (резка бесплатная)
25,00 руб
Описание товара
10мм (резка в размер)
70,00 руб
Описание товара
10мм (резка в размер)
90,00 руб
Описание товара
Цена за 10мм (резка бесплатная)
7,00 руб
Описание товара
Цена за 10мм (резка бесплатная)
10,00 руб
Описание товара
Отрезок 400мм
400,00 руб
Описание товара
2х400мм, 2х350мм, 2х325мм
2100,00 руб
Описание товара
2х420мм, 2х405мм, 2х350мм, 1х20мм
2200,00 руб
Описание товара
25х25×10мм
150,00 руб
Описание товара
25х25×10мм
150,00 руб
Описание товара
30х30х10мм
150,00 руб
Описание товара
30х30х10мм
150,00 руб
Описание товара
40х40×10мм
150,00 руб
Сообщить о поступлении
Описание товара
40х40×10мм
150,00 руб
Описание товара
Интернет-провайдер AVR ATmega64 ATmega128 ATmega1280 ATmega1281
Подключение USB AVRISP XPII к целевой плате
(Нажмите на изображение, чтобы увеличить)
Совместимость с AT AVRISP mkII
— Совместимость с AT AVR ISP, простота в использовании, стабильность и надежность
Основано на прошивке AT AVRISP mkII
— определяется как AVRISP mkII в AVRStudio, высокоскоростное программирование
Обновляемая прошивка
— Прошивка может быть обновлена для поддержки будущих устройств
– Автоматическое обновление
Поддерживаемое программное обеспечение
– AVR Studio 4/5/6 или WINAVR(GCC) используется в качестве внешнего программного обеспечения
– Поддерживает программные файлы, сгенерированные IAR, ICCAVR, CVAVR
Поддержка устройств
– USB AVRISP XPII поддерживает все устройства AVR с интерфейсом ISP и PDI. Поддержка новых устройств будет добавлена в новых версиях AVR Studio.
– Поддерживает AT86RF401/AT89S51/AT89S52
АВР Мега |
---|
AT90CAN128 AT90CAN32 AT90CAN64 AT90PWM1 AT90PWM161 AT90PWM216 AT90PWM2B AT90PWM316 AT90PWM3B AT90PWM81 AT90USB1286 AT90USB1287 AT90USB162 AT90USB646 AT90USB647 AT90USB82 ATA5702M322 ATA5782 ATA5790 ATA5790N ATA5795 ATA5831 ATA5832 ATA5833 ATA6285 ATA6286 ATA6612C ATA6613C ATA6614Q ATA6616C ATA6617C ATA664251 ATmega128 ATmega1280 ATmega1281 ATmega1284 ATmega1284P ATmega1284RFR2 ATmega128A ATmega128RFA1 ATmega128RFR2 ATmega16 ATmega162 ATmega164A ATmega164P ATmega164PA ATmega165A ATmega165P ATmega165PA ATmega168 ATmega168A ATmega168P ATmega168PA ATmega168PB ATmega169A ATmega169P ATmega169PA ATmega16A ATmega16HVA ATmega16HVB ATmega16HVBrevB ATmega16M1 ATmega16U2 ATmega16U4 ATmega2560 ATmega2561 ATmega2564RFR2 ATmega256RFR2 ATmega32 ATmega324A ATmega324P ATmega324PA ATmega325 ATmega3250 ATmega3250A ATmega3250P ATmega3250PA ATmega325A ATmega325P ATmega325PA ATmega328 ATmega328P ATmega329 ATmega3290 ATmega3290A ATmega3290P ATmega3290PA ATmega329A ATmega329P ATmega329PA ATmega32A ATmega32C1 ATmega32HVB ATmega32HVBrevB ATmega32M1 ATmega32U2 ATmega32U4 ATmega48 ATmega48A ATmega48P ATmega48PA ATmega48PB ATmega64 ATmega640 ATmega644 ATmega644A ATmega644P ATmega644PA ATmega644RFR2 ATmega645 ATmega6450 ATmega6450A ATmega6450P ATmega645A ATmega645P ATmega649ATmega6490 ATmega6490A ATmega6490P ATmega649A ATmega649P ATmega64A ATmega64C1 ATmega64HVE2 ATmega64M1 ATmega64RFR2 ATmega8 ATmega8515 ATmega8535 ATmega88 ATmega88A ATmega88P ATmega88PA ATmega3U88ATB 08megaVA8A |
Миниатюрный АРН |
ATtiny10 ATtiny13 ATtiny13A ATtiny1634 ATtiny167 ATtiny20 ATtiny2313 ATtiny2313A ATtiny24 ATtiny24A ATtiny25 ATtiny26 ATtiny261 ATtiny261A ATtiny4 ATtiny40 ATtiny4313 ATtiny43U ATtiny44 ATtiny441 ATtiny44A ATtiny45 ATtiny461 ATtiny461A ATtiny48 ATtiny5 ATtiny828 ATtiny84 ATtiny841 ATtiny84A ATtiny85 ATtiny861 ATtiny861A ATtiny87 ATtiny88 ATtiny9 |
АВР Хмега |
ATxmega128A1 ATxmega128A1U ATxmega128A3 ATxmega128A3U ATxmega128A4U ATxmega128B1 ATxmega128B3 ATxmega128C3 ATxmega128D3 ATxmega128D4 ATxmega16A4 ATxmega16A4U ATxmega16C4 ATxmega16D4 ATxmega16E5 ATxmega192A3 ATxmega192A3U ATxmega192C3 ATxmega192D3 ATxmega256A3 ATxmega256A3B ATxmega256A3BU ATxmega256A3U ATxmega256C3 ATxmega256D3 ATxmega32A4 ATxmega32A4U ATxmega32C3 ATxmega32C4 ATxmega32D3 ATxmega32D4 ATxmega32E5 ATxmega384C3 ATxmega384D3 ATxmega64A1 ATxmega64A1U ATxmega64A3 ATxmega64A3U ATxmega64A4U ATxmega64B1 ATxmega64B3 ATxmega64C3 ATxmega64D3 ATxmega64D4 ATxmega8E5 |
Поддерживает все версии устройств с различными напряжениями и скоростями, перечисленные в таблице выше.
Проверьте другие поддерживаемые устройства: UC3, Mega, SAM , Tiny, Xmega
Производительность
— Высокоскоростные программы FLASH, EEPROM, Fuses и Lock Bit
— Требуется всего 2,5 с для программирования 12-килобайтного файла программы с проверкой (скорость программирования была установлена на 1M, а максимальная скорость может достигать 8M)
Подключается к ПК
— Использует интерфейс USB для связи с интерфейсным программным обеспечением (вероятно, AVR Studio)
– Использование PDIUSBD12, USB 1.1 (USB 2.0 Full Speed) 12 Мбит/с
– Каждый USB AVRISP XPII имеет уникальный идентификатор, ПК может подключаться к нескольким устройствам одновременно
USB AVRISP XPII подключается к целевой плате с помощью 3 дополнительных кабелей. В зависимости от существующего разъема на целевой плате необходимо соответствующим образом заменить кабель.
— стандартный 6-контактный разъем ISP, с использованием 6-контактного кабеля ISP
— стандартный 10-контактный разъем ISP, с использованием кабеля ISP с 6 на 10 контактов
– Пользовательский разъем ISP, с использованием 6-жильного многоцветного кабеля с нестандартным разъемом
На рисунках 1 и 2 показаны выводы для 10-контактного и 6-контактного разъемов ISP.
Рис. 1. 10-контактный разъем ISP | Рис. 2. 6-контактный разъем ISP |
Питание от шины USB
— питание от шины USB, дополнительный источник питания не требуется
— целевая плата должна питаться от другого источника питания
Программатор USBASP AVR — Future Electronics Egypt
Дом — Программатор USBASP AVR
Заголовок по умолчанию — LE 85.00
USBasp — внутрисхемный USB-программатор для контроллеров Atmel AVR. Он основан на дизайн-проекте USBasp Томаса Фишла. Интерфейс USB достигается за счет использования процессора atmega8, а все остальное делается в прошивке.
Прошивку можно бесплатно загрузить с встроенного USB-программатора для контроллеров Atmel AVR. Он основан на веб-сайте Томаса Фишла. Вы можете скачать драйверы для Windows отсюда, чтобы без проблем использовать их в Windows Vista и более поздних версиях. Драйвер будет работать как на 32-битных, так и на 64-битных платформах. Для Linux и Mac OS X драйвер не требуется, просто используйте AVRdude и укажите правильный порт.
Программатор AVR будет работать с широким спектром микроконтроллеров Atmel AVR, включая Atmega8a и Atmega168a. Доступный список поддерживаемых микроконтроллеров показан ниже.
Особенности
- Позволяет читать или записывать EEPROM микроконтроллера, прошивку, фьюз-биты и биты блокировки
- Поддержка Windows, Mac OS X и Linux
- Максимальная скорость записи 5 КБ/с
- Опция SCK с программным управлением для поддержки целей с низкой тактовой частотой (< 1,5 МГц)
- 10-контактный интерфейс ISP (соответствует стандартной 10-контактной распиновке ISP)
Рабочее программное обеспечение
- AVRdude — версия 5.