Avr-программатор ulti-sp

AVR-программатор ULTI-SP

Введение

ULTI-ISP – проект и продолжение основанное на работе Thomas Fischl, Fabio Baltieri.

Рамкой стремлений данного продукта является сочетание мощностей программирования AVR и 8051 в небольшом программаторе, который сейчас называется “ULTI-ISP” (ULTImate-In-System-Programmer). Продукт сделан на V-USB платформе.

Аппаратная часть является полной работой Fabio Baltieri. Он разработал аппаратную часть таким образом, что Вы даже можете поместить её в брелок.

ULTI-ISP может быть использован для программирования широкого спектра микроконтроллеров AVR, а также 8051 серии. Устройство может быть использовано для чтения, записи и стирания флэш-памяти, EEPROM, Fuse бит.

Имеет два режима скорости программирования. Он может быть само запрограммирован любым другим AVR программатором или другим ULTI-ISP с помощью 6 контактного IDC кабеля.

 Другие контакты могут быть использованы для питания целевого устройства.

ULTI-ISP включает в себя встроенную AVR ATMega8 которая занимается всеми USB операциями и предоставляет необходимые для прошивки данные целевому устройству.
Для программирования целевого устройства может быть использован стандартный 6-контактный IDC ISP кабель. Для отображения конечного ISP статуса используется два индикатора, один для питания и другой для статуса программирования.

Для программирования устройств с помощью программатора ULTI-ISP может быть использовано программное обеспечение “ProgISP”. И наконец весь проект с открытым исходным кодом, Вы можете добавить и использовать ваши разработки для дальнейшего улучшения.

Описание аппаратной части Устройство совместимо с USB v1.1.

Внешний вид программатора показан ниже:

Вид программатора сверху:

Стандартная распиновка 6-ти контактного AVR разъема:

Краткое руководство

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

Краткая история Архитектура AVR была разработана двумя студентами Норвежского технологического института (NTH) Alf-Egil Bogen и Vegard Wollan. Первой линейкой МК AVR был AT90S8515, который в 40 контактном DIP корпусе имел такую же распиновку как и микроконтроллер 8051, в том числе адресную шину и шину данных.

Полярность линии сброса была противоположной (8051 имели активно-высокий RESET, а AVR имеет активно-низкий RESET), но кроме этого, распиновка была идентичной.

Компиляция и генерация Hex файлов AVR программаторы имеют широкий спектр официальных и неофициальных компиляторов и сред разработки, доступных для программирования.

Среди них ATMEL дает бесплатное программное обеспечение ATMEL Studio 6. Его можно легко загрузить с официального сайта. Его среда разработки основана на Visual Studio, что программисту максимальную гибкость для легкого написани программы.

Подключение аппаратной части

Подключите IDC-“мама” разъем ULTI-ISP, а затем остальные контакты к целевому контроллеру в следующей последовательности:

1-MOSI->Зеленый
2-MISO->Серый
3-SCK->Синий
4-RST->Желтый
5-VCC->Пурпурный(фиолет.)
6-GND->Оранжевый

Убедитесь, что используете кварц на XTAL контактах для предотвращения других проблем при программировании. Например, к ATMega8 аппаратная часть подключается, как на рисунке ниже.

Загрузка HEX файл в микроконтроллер

После генерации HEX файла, вы можете следовать шагам описанным в данном руководстве ниже. Я рассматриваю, что вы сделали программу для AVR микроконтроллера ATmega8 и используете среду Windows.

1 – Скачайте и установите последнюю версию Prog-ISP. Откройте её после установки.

2 – После подключения устройства PRG ISP логотип включается.

3 – Перейдите “File > Load Flash” и выберите HEX файл.

4 – Выберите Atmega 8 из выпадающего списка.

5 – Взгляните на ваш контрольный список, который необходим вам для выполнения в автоматическом режиме, после проверки всех необходимых операций вы можете просто нажать “AUTO” для начала процесса программирования.

(Примечание: Проверьте все соединения, прежде чем продолжить этот шаг, иначе вы получите общие ошибки типа “Chip Enable” и т.д.).

Несколько режимов

1 – Программатор включает в себя два режима работы, т.е. БЫСТРЫЙ и МЕДЛЕННЫЙ.
Вы можете удалить джампер, чтобы запустить программирование в быстром режиме, но вы сначала должны установить микроконтроллер для поддержки высокой скорости обработки процессора.

2 – Питание может подаваться в целевой микроконтроллер путем установки перемычки на выводы питания.

Оригинал статьи

Прикрепленные файлы:

Источник: http://cxem.net/mc/mc202.php

SPA0008, USB программатор для AVR-микроконтроллеров

Артикул: SPA0008

PartNumber: 0324

Ном. номер: 9000106256

Производитель: Smartmodule

USB программатор SPA0008 предназначен для программирования AVR-контроллеров через USB порт компьютера из среды Algorithm Builder. Программатор имеет гальваническую развязку выходных сигналов с «компьютерной стороной» программатора. Рассчитан на работу с популярным графическим ассемблером Algorithm Builder (http://www.algrom.

net/russian.html). Среда Algorithm Builder – простой и понятный инструмент даже для новичков в программировании AVR. Имеет русскоязычный интерфейс. Среда предназначена для производства полного цикла разработки начиная от ввода алгоритма, включая процесс отладки и заканчивая программированием чипа.

Разработка программы может быть как на уровне ассемблера, так и на макроуровне с манипуляцией многобайтными величинами со знаком. В отличие от классического ассемблера программа вводится в виде алгоритма с древовидными ветвлениями и отображается на плоскости, в двух измерениях.

Сеть условных и безусловных переходов отображается графически, в удобной векторной форме. Это к тому же освобождает программу от бесчисленных имен меток, которые в классическом ассемблере являются неизбежным балластом. Вся логическая структура программы становится наглядной. Графические технологии раскрывают новые возможности для программистов.

Визуальность логической структуры уменьшает вероятность ошибок и сокращает сроки разработки. С помощью программатора из среды Algorithm Builder, в программируемый кристалл без труда может быть загружен HEX-файл, созданный в любой другой среде программирования.

При первом подключении программатора к компьютеру операционная система обнаружит новое устройство “FT232R USB UART”, необходимо указать путь к папке с драйверами. Драйвера имеются в составе дистрибутива Algorithm Builder и при установке с параметрами по-умолчанию находятся в папке C:Program FilesAlgorithm BuilderV544COMM ADAPTERUSB (isolated)DRIVER.

Драйвера так же можно скачать по ссылке Драйвер для SPA0008. При правильной установке драйверов в операционной системе появится устройство USB Serial Converter.

После этого система так же обнаружит новое устройство USB Serial port, при этом мастеру нового оборудования необходимо позволить выполнить автоматическую установку, после чего в системе появится новый порт USB Serial port (Пользователям Windows 7: в лаборатории Ekits проверена работоспособность SPA0008 и Algorithm Builder в ОС Windows 7 Home Basic.

При подключении SPA0008 драйвера операционная система находит и устанавливает сама без проблем, программа работает корректно). Компьютерная сторона программатора питается от USB-порта, вторичная сторона должна быть запитана +5В со стороны программируемого устройства. Выходной разъем программатора полностью совпадает c разъемом популярных модулей SEM0007M и SEM0010M. В комплект программатора входит шлейф длинной 50см, с разъемами IDC-08F с обеих сторон.

Внимание!

1. Программатор всегда должен подключаться к компьютеру до момента запуска Algorithm Builder, иначе среда может не увидеть, виртуальный порт программатора. Перед программированием в настройках порта нужно выставить COM-порт который был присвоен программатору операционной системой. 2. В опциях среды, нужно установить галочки в настройках порта «всегда открыт», «через адаптер». 3. Если программирование кристалла не происходит или происходит с ошибкой, нужно увеличить замедление в “опции среды” / “порт”.SPA0008, USB программатор для AVR-микроконтроллеров

Выберите регион, чтобы увидеть способы получения товара.

Источник: https://www.chipdip.ru/product/spa0008

Эволюция программаторов AVR. Обновление прошивки USBasp. Макетка — DRIVE2

Приветствую, читатель!

Решил показать, какими программаторами я пользуюсь и пользовался раньше.

LPT программатор

Самым простым программатором является программатор для LPT-порта. Чтобы собрать такой программатор потребуется всего лишь штеккер LPT и 4 сопротивления.

LPT программатор

Это был мой первый программатор. К нему я припаял колодку для прошивки ATmega8. Питание 5В брал с разъема molex компьютера.

Главным минусом этого программатора является то, что сейчас трудно найти LPT порт. Он канул в лету. Я использовал завалявшуюся у меня терминальную станцию на базе Pentium III, которая загружалась с флешки и жутко тормозила, но для первых экспериментов хватало.

Самодельный USBasp

Вскоре мой коллега тоже заразился программированием микроконтроллеров и даже соорудил танк с беспроводным управлением! Ну а для отладки танка собрал программатор USBasp.

Самодельный USBasp

И я стал тоже им пользоваться. Надо сказать, что пользоваться им гораздо приятнее, причем на любом компьютере и операционке.

Китайский USBasp

Негоже на халяву пользоваться чужим и я заказал с ebay себе китайский USBasp за скромную цену в 170 рублей.

Китайский USBasp

Рейтинг продавца хороший, но к сюрпризам с китайцами все равно будь готов. И без них не обошлось. Программатор работает, но avrdude выдает такое сообщение:

warning: cannot set sck period. please check for usbasp firmware update.

Обновление прошивки

Решено обновить прошивку. Долго высматривал схему USBasp и плату полученного девайса. Все совпало. Значит можно спокойно обновляться.

Для обновления нам понадобиться еще один USBasp, благо у нас есть самопальный! Соединяем оба программатора их родным проводом ISP10.

Контакты перемычки для обновления находятся под чипом ATmega с обратной стороны. Их нужно замыкать, когда обновляешь прошивку программатора.

Обратная сторона программатора. Посередине контакты для перемычки

Китайцы не перестают удивлять. Попробовал считать прошивку, дабы попробовать определить версию, ну и сделать резервную копию — получил кашу. Это значит, что выставлен Lock bit, он защищает прошивку от считывания. Защитить прошивку открытого проекта — очень логичное решение. Но тем кто захочет обновить прошивку своего программатора, все равно попробуйте сделать резервную копию.

Вообщем, зашил последнюю прошивку с официального сайта, прошивал только FLASH. Теперь все работает хорошо, avrdude ничего лишнего не пишет.

Еще один сюрприз кроется в том, что на программаторе стоит ATmega8L, который по документации работает на частоте до 8 МГц, но на программаторе он работает в разогнанном режиме с внешним кварцем на 12МГц. На долго ли его хватит?

Вот еще добрый человек выложил видео, как обновить прошивку.

Макетка

Так же хотел похвастаться макетной платой. Шла вместе с модулем питания и проводами для отладки схем. Приобрел за 270 рублей.

Макетная плата, модуль питания, провода. Шлейф и чип под ним в комплект не входят

Модуль питания

Успехов в программировании микроконтроллеров!

P.S. Теперь мучает вопрос. Для чего на программаторе переключатель 5В/3.3В?

Источник: https://www.drive2.ru/b/2666490/

USB ISP программатор FC-116 для AVR

Описание

USBasp ISP (внутрисхемный) программатор для микроконтроллеров AVR Atmel. Программатор содержит единственную микросхему микроконтроллер Atmel ATmega8. USB интерфейс реализован программно.

Характеристики:

  • Поддерживаемые операционные системы Linux, Mac OS и Windows
  • Микросхема ATmega8A AU
  • Кварц 12,000 МГц
  • Скорость программирования до 5 kBytes / сек
  • Автоматическое управление скоростью
  • Самовосстанавливающийся предохранитель с порогом 500mA для защиты USB компьютера
  • Габариты 65×20мм
  • коннектор папа 10pin с шагом 2.54мм

Разводка:

  • 1 MOSI
  • 3 NC
  • 5 /RESET
  • 7 SCK
  • 9 MISO
  • 2 +5V
  • 4,6,8,10 GND

Индикация

  • Красный светодиод G — Включен
  • Красный светодиод R — Обмен данными

Перемычки

  • JP2 — POWER Выбор напряжения на выходе 5В / 3,3В
  • JP — SERVICE Обновление прошивки
  • JP — SLOW Программирование на низких скоростях

Поддерживаемые микроконтроллеры

AT89S51, AT89S52, AT86RF401, AT90CAN32, AT90CAN64, AT90CAN128, AT90PWM2, AT90PWM2B AT90PWM3, AT90PWM3B, AT90PWM81, AT90PWM216, AT90PWM316, AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535, AT90SCR100H, AT90USB82, AT90USB162, AT90USB646, AT90USB647, AT90USB1286, AT90USB1287, ATmega8, ATMEGA8A, ATmega8U2, ATmega8HVA, ATmega16, ATmega16A, ATmega16HVA, ATmega16HVB, ATmega16M1, ATmega16U2, ATmega16U4, ATMEGA32, ATmega32A, ATmega32C1, ATmega32HVB, ATmega32M1, ATmega32U2, ATmega32U4, ATmega32U6, ATMEGA48, ATMEGA48P, ATmega48PA, ATmega64, ATmega64A, ATmega64C1, ATmega64M1, ATMEGA88, ATMEGA88P, ATMEGA88PA, ATmega103, ATmega128, ATmega128A, ATmega128RFA1, ATmega161, ATmega162, ATmega163, ATmega164P, ATmega164PA, ATmega165, ATmega165P, ATMEGA168, ATmega168P, ATmega168PA, ATmega169 ATmega169P, ATmega323, ATmega324, ATmega324PA ATmega325, ATmega325P, ATMEGA328P, ATmega329, ATmega329P, ATmega406, ATmega640 ATmega644, ATmega644P, ATmega644PA, ATMEGA645, ATmega649, ATMEGA1280 ATmega1281, ATmega1284P, ATmega2560 ATmega2561, ATmega3250, ATmega3250P, ATmega3290, ATmega3290P, ATmega6450, ATmega6490, ATmega8515, ATmega8535, ATtiny10, ATtiny11, ATtiny12, ATtiny13, ATtiny13A, ATtiny15, ATtiny22, ATTINY24, ATtiny24A, ATTINY25, ATTiny26, ATtiny28, ATtiny43U, ATtiny44, ATTINY44A, Attiny45, ATTINY48, ATTINY84, ATtiny85, ATtiny88, ATtiny167, ATtiny261, ATtiny261A, ATTINY461, ATtiny861, ATtiny861A, ATtiny2313, ATtiny2313A

Установка драйвера под Windows XP

С сайта разработчика USBasp программатора Thomas Fischl скачайте usbasp-windriver драйвер для Windows. Распакуйте архив. Подключите ваш USBasp программатор через USB порт к компьютеру. Установите драйвер. В диспетчере устройств убедитесь что USBasp устройство установлено.

Пример использования с avrdude под Windows

avrdude -pattiny13 -cusbasp avrdude: warning: cannot set sck period. please check for usbasp firmware update . avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.03s avrdude: Device signature = 0x1e9007 avrdude: safemode: Fuses OK avrdude done. Thank you.

Под Linux драйверы не требуются.

Подключите USBasp программатор через USB порт к компьютеру. В командной строке выполните:

lsusb Bus 001 Device 007: ID 16c0:05dc VOTI shared ID for use with libusb

Пример использования с avrdude под Linux

sudo avrdude -p attiny13 -c usbasp avrdude: warning: cannot set sck period. please check for usbasp firmware update. avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e9007 avrdude: safemode: Fuses OK (E:FF, H:FF, L:7A) avrdude done. Thank you.

Для работы с USBasp программатором не под суперпользователем необходимо инсталлировать правила 99-USBasp.rules. USBasp.rules можно найти в архиве с драйверами для windows, схемами и прошивками для программатора на сайте разработчика USBasp программатора Thomas Fischl

Прежде чем запускать файл install_rule, посмотрите членом каких групп вы являетесь:

groups

Затем отредактируйте файл 99-USBasp.rules:

# USBasp – USB programmer for Atmel AVR controllers # Copy this file to /etc/udev/rules.d so # SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, SYSFS{idVendor}==”16c0″, SYSFS{idProduct}==”05dc”, MODE=”0666″ SUBSYSTEMS==”usb”, ATTRS{idVendor}==”16c0″, ATTRS{idProduct}==”05dc”, GROUP=”plugdev”, MODE=”0666″

добавив в файл 99-USBasp.rules свою группу.

После инсталляции правил перезагрузите все правила:

sudo restart udev

Источник: http://sportltd.ru/index.php/programmers/usbisp-detail

Миниатюрный, быстрый, автономный программатор AVR микроконтроллеров с SD картой памяти. Часть 1 – Основные характеристики, поддерживаемые режимы и принципиальная схема программатора

» Схемы » Применение микроконтроллеров

21-06-2011

Журнал РАДИОЛОЦМАН, июль 2011

Paweł Kisielewski

В статье мы рассмотрим конструкцию и возможности программатора AVR микроконтроллеров µProg, который является простым в использовании, очень дешевым в изготовлении, миниатюрным, очень быстрым и автономным, использующим SD карту памяти. Такой вид программатора пригодится, если целевое устройство на микроконтроллере находится в труднодоступном месте и вы не можете (или не хотите) подключать ноутбук для программирования или обновления ПО целевого устройства.

Отличительные особенности и основные характеристики программатора:

  • компактные размеры – 44 мм × 39 мм × 5.5 мм;
  • высокая скорость программирования:
    • запись – до 12.5 Кбит/с;
    • чтение – до 14.5 Кбит/с;
  • поддержка файловой системы FAT16 и FAT32;
  • поддержка чтения, записи, верификации Flash-памяти и EEPROM;
  • поддержка чтения, записи, верификации Fuse-битов и Lock-битов;
  • поддержка чтения/записи фалов BIN, HEX и TXT;
  • возможность установки заводских установок Fuse-битов для целевого микроконтроллера;
  • организация пользовательского интерфейса на базе графического дисплея LPH7779 с контроллером PCD8544;
  • анимация работы и при выполнении операций;
  • стандартный разъем программирования – 6-выводный Atmel ISP;
  • возможность обновления собственного ПО с SD карты памяти;
  • простой в использовании, 4 кнопки управления;
  • автовыбор скорости программирования (до 4 МГц);
  • рабочее напряжение 3 В, поддержка целевых микроконтроллеров с напряжением питания от 3 в до 5 В.

Поддерживаемые микроконтроллеры

Зеленым цветом выделены протестированные микроконтроллеры.

Заметьте, что не все микроконтроллеры полностью поддерживаются программатором – для некоторых поддерживаются только операции с Fuse- и Lock-битами. Системная информация о поддерживаемых микроконтроллерах содержится в системном файле chip.db (храниться на SD карте).

  • Микроконтроллеры с Flash-памятью 1 КБайт:
    • AT90s1200, ATtiny11, ATtiny12, ATtiny13/A, ATtiny15
  • Микроконтроллеры с Flash-памятью 2 КБайт:
    • ATtiny2313/A, ATtiny24/A, ATtiny26, ATtiny261/A, ATtiny28, AT90s2333, ATtiny22, ATtiny25, AT90s2313, AT90s2323, AT90s2343
  • Микроконтроллеры с Flash-памятью 4 КБайт:
    • ATmega48/A, ATmega48P/PA, ATtiny461/A, ATtiny43U, ATtiny4313, ATtiny44/A, ATtiny48, AT90s4433, AT90s4414, AT90s4434, ATtiny45
  • Микроконтроллеры с Flash-памятью 8 КБайт:
    • ATmega8515, ATmega8535, ATmega8/A, ATmega88/A, ATmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, ATtiny84, ATtiny85, ATtiny861/A, ATtiny87, ATtiny88, AT90s8515, AT90s8535
  • Микроконтроллеры с Flash-памятью 16 КБайт:
    • ATmega16/A, ATmega16U2, ATmega16U4, ATmega16M1, ATmega161, ATmega162, ATmega163, ATmega164A, ATmega164P/PA, ATmega165A/P/PA, ATmega168/A, ATmega168P/PA, ATmega169A/PA, ATtiny167, AT90pwm216, AT90pwm316, AT90usb162
  • Микроконтроллеры с Flash-памятью 32 КБайт:
    • ATmega32/A, ATmega32C1, ATmega323/A, ATmega32U2, ATmega32U4, ATmega32U6, ATmega32M1, ATmega324A, ATmega324P, ATmega324PA, ATmega325, ATmega3250, ATmega325A/PA, ATmega3250A/PA, ATmega328, ATmega328P, ATmega329, ATmega3290, ATmega329A/PA, ATmega3290A/PA, AT90can32
  • Микроконтроллеры с Flash-памятью 64 КБайт:
    • ATmega64/A, ATmega64C1, ATmega64M1, ATmega649, ATmega6490, ATmega649A/P, ATmega6490A/P, ATmega640, ATmega644/A, ATmega644P/PA, ATmega645, ATmega645A/P, ATmega6450, ATmega6450A/P, AT90usb646, AT90usb647, AT90can64
  • Микроконтроллеры с Flash-памятью 128 КБайт:
    • ATmega103, ATmega128/A, ATmega1280, ATmega1281, ATmega1284, ATmega1284P, AT90usb1286, AT90usb1287, AT90can128
  • Микроконтроллеры с Flash-памятью 256 КБайт:

Принципиальная схема программатора

Кликните для увеличения

Основой программатора является микроконтроллер Atmel AVR ATmega328P-20AU, работающий от внутреннего RC осциллятора 8 МГц. Для организации пользовательского меню применяется монохромный графический ЖК дисплей LPH7779 на базе контроллера PCD8544 (установлен в мобильном телефоне Nokia 3310). Организация дисплея 84×48 точек, имеет стандартный набор инструкций и может работать на частоте 4 МГц.

Если при включении питания программатора (после сборки) на дисплее появится «мусор» или вообще ничего не будет отображаться, то этому может быть две причины:

  1. это китайский вариант дисплея, который собран на ином драйвере (не PCD8544);
  2. дисплей не поддерживает работу на частоте 4 МГц.

Некоторые способы решения этих проблем мы рассмотрим в третьей части описания.

Для работы дисплея требуется два конденсатора (С2, С3) для встроенного преобразователя напряжения, номинальное значение емкости – 1 мкф. Однако, как было замечено, дисплей прекрасно работает при установке конденсаторов номиналом 100 нФ.

Для навигации по меню и управления программатором используются 4 кнопки (LEFT, RIGHT, UP, DOWN).

Программатор разработан для работы от батареи, но возможно использовать надлежащий блок питания.

Основные параметры питания программатора:

  • номинальное напряжение питания: 3.3 В;
  • максимальное напряжение питания: 3.6 В;
  • минимальное напряжение питания: 2.7 В;
  • потребление тока при инициализации: до 100 мА*;
  • потребление тока при программировании: до 10 мА*;
  • потребление тока при навигации по меню: 5 мА;
  • потребление тока в отключенном состоянии (режим Power Down): 0.1 мкА.

* – потребляемый ток зависит от применяемой SD карты памяти.

Карта памяти, в зависимости какой тип используется, может потреблять ток при инициализации до 100 мА и это большой ток для батареи питания.

Конденсатор С5 помогает удерживать напряжение в процессе инициализации, и необходимо, чтобы он имел большую емкость, но не слишком большую, т.к. заряжается он через 3 линии ввода/вывода микроконтроллера.

Опытным путем было установлено, что конденсатора емкостью 10 мкФ достаточно для многих SD карт памяти.

Источник питания – две батареи типа CR2032 включенных параллельно, в таком случае напряжение питания программатора будет 3.

0 В, но емкости данных батареек не хватит чтобы питать целевой микроконтроллер – падение напряжения сделает невозможным процесс программирования или может повредить данные на SD карте памяти.

Возможно подключение батареи с большей емкостью (например, от мобильного телефона), но помните, что максимальное напряжение питания не должно превышать 3.6 В.

Программатор работает только от напряжения получаемого от батареек, не установлено никаких регуляторов напряжения. Процесс программирования целевого микроконтроллера может проходить при питании его от 3 В до 5 В, в то время как программатор имеет напряжение питания 3 В.

С одной стороны (со стороны программатора) с целью защиты входной линии микроконтроллера программатора от напряжения выше напряжения питания, вход MISO подключен через стабилитрон 3.3 В (D1) и резистор (R1).

Со стороны целевого микроконтроллера, который имеет напряжение питания 5 В, уровень напряжения 3 В распознается по линии SCK и MOSI как высокий уровень (согласно технического описания VIH=0.6VCC=0.6×5 В = 3 В – гарантированное значение).

Как вы заметили, программатор не имеет механического выключателя питания, включение и выключение производится удерживанием кнопки LEFT. После выключения питания, микроконтроллер отключает питание дисплея и SD карты и переходит в режим Deep Sleep, в котором потребляет от батареи ток 0.1 мкА (типовое значение).

Печатная плата размерами 39 мм × 44 мм × 5.5 мм, двухсторонняя.

Следует обратить внимание на один важный момент в аппаратной части программатора – по сигнальным линиям MOSI и SCK включены защитные резисторы номиналом от 33 до 330 Ом (на схеме программатора они не указаны). Это позволит защитить чип программатора при программировании микроконтроллеров с питанием 5 В.
Включение резисторов показано на схеме ниже.

Кликните для увеличения

Обновленное ПО и сам процесс обновления мы рассмотрим в 3 части статьи.

Часть 2. Описание функций и опций, режимы работы, тестирование скорости работы

Загрузки

Принципиальная схема (Eagle 5.10, PDF), рисунки печатной платы (Eagle 5.10, PDF), список компонентов – скачать
Рисунок печатной платы ver.1.1 (с защитными резисторами интерфейса программирования) – скачать

diy.elektroda.eu

Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Фрагменты обсуждения: Полный вариант обсуждения »
  • сколько стоит и как купить
  • Вообще-то можно и самому собрать, все необходимое для этого (схема, рисунок печатной платы и прошивки) имеется.
  • Вот если бы на другой кристалл прошивку перекомпилить… А то с приобретением меги328 возникли трудности.
  • Здравствуйте. Я хочу собрать этот программатор. Всем он хорош, да только запитывается от батареек, которые придётся время от времени менять. Хочу туда приспособить Li-ion (или Li-pol) аккумулятор, нужно придумать как устроить систему зарядки, чтоб, например, от USB (или любого другого источника) заряжалось. Подскажите, как это можно сделать.
  • К примеру, для информации: от Microchip микросхема MCP73831, в которой реализована возможность задания тока предзаряда, встроены контроль и защита по температуре.
Рекомендуемые публикации по теме:
Обсуждение: Миниатюрный, быстрый, автономный программатор AVR микроконтроллеров с SD картой памяти. Часть 3 – ПО, файлы на SD карте памяти, обновление ПО, демонстрация работы
Миниатюрный, быстрый, автономный программатор AVR микроконтроллеров с SD картой памяти. Часть 3 – ПО, файлы на SD карте памяти, обновление ПО, демонстрация работы
Миниатюрный, быстрый, автономный программатор AVR микроконтроллеров с SD картой памяти. Часть 2 – Описание функций и опций, режимы работы, результаты тестирования
Как получить физический объем SD карты в связке AVR ATmegaXX
STC-IPM3096A – 1.3-мегапиксельная IP-камера наблюдения «день/ночь» с картой памяти SD на 2 Гб

При перепечатке материалов с сайта прямая ссылка на РадиоЛоцман обязательна.

Приглашаем авторов статей и переводов к публикации материалов на страницах сайта.

Источник: https://www.rlocman.ru/shem/schematics.html?di=107017

Программатор AVR-mkII для работы с МК семейства с xMega

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}
");let k=document.querySelector(".flat_pm_modal[data-id-modal=\""+a.ID+"\"]");if(-1===d.indexOf("go"+"oglesyndication")?flatPM_setHTML(k,d):jQuery(k).html(b+d),"px"==a.how.popup.px_s)e.bind(h,()=>{e.scrollTop()>a.how.popup.after&&(e.unbind(h),f.unbind(i),j())}),void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&f.bind(i,()=>{e.unbind(h),f.unbind(i),j()});else{let b=setTimeout(()=>{f.unbind(i),j()},1e3*a.how.popup.after);void 0!==a.how.popup.close_window&&"true"==a.how.popup.close_window&&f.bind(i,()=>{clearTimeout(b),f.unbind(i),j()})}f.on("click",".flat_pm_modal .flat_pm_crs",()=>{jQuery.arcticmodal("close")})}if(void 0!==a.how.outgoing){let b,c="0"==a.how.outgoing.indent?"":" style=\"bottom:"+a.how.outgoing.indent+"px\"",e="true"==a.how.outgoing.cross?"":"",f=jQuery(window),g="scroll.out"+a.ID,h=void 0===flatPM_getCookie("flat_out_"+a.ID+"_mb")||"false"!=flatPM_getCookie("flat_out_"+a.ID+"_mb"),i=document.createElement("div"),j=jQuery("body"),k=()=>{void 0!==a.how.outgoing.cookie&&"false"==a.how.outgoing.cookie&&h&&(jQuery(".flat_pm_out[data-id-out=\""+a.ID+"\"]").addClass("show"),j.on("click",".flat_pm_out[data-id-out=\""+a.ID+"\"] .flat_pm_crs",function(){flatPM_setCookie("flat_out_"+a.ID+"_mb",!1)})),(void 0===a.how.outgoing.cookie||"false"!=a.how.outgoing.cookie)&&jQuery(".flat_pm_out[data-id-out=\""+a.ID+"\"]").addClass("show")};switch(a.how.outgoing.whence){case"1":b="top";break;case"2":b="bottom";break;case"3":b="left";break;case"4":b="right";}jQuery("body > *").eq(0).before("
"+e+"
");let m=document.querySelector(".flat_pm_out[data-id-out=\""+a.ID+"\"]");-1===d.indexOf("go"+"oglesyndication")?flatPM_setHTML(m,d):jQuery(m).html(e+d),"px"==a.how.outgoing.px_s?f.bind(g,()=>{f.scrollTop()>a.how.outgoing.after&&(f.unbind(g),k())}):setTimeout(()=>{k()},1e3*a.how.outgoing.after),j.on("click",".flat_pm_out .flat_pm_crs",function(){jQuery(this).parent().removeClass("show").addClass("closed")})}countMode&&(flat_count["block_"+a.ID]={},flat_count["block_"+a.ID].count=1,flat_count["block_"+a.ID].click=0,flat_count["block_"+a.ID].id=a.ID)}catch(a){console.warn(a)}}function flatPM_start(){let a=flat_pm_arr.length;if(0==a)return flat_pm_arr=[],void jQuery(".flat_pm_start, .flat_pm_end").remove();flat_body=flat_body||jQuery("body"),!flat_counter&&countMode&&(flat_counter=!0,flat_body.on("click","[data-flat-id]",function(){let a=jQuery(this),b=a.attr("data-flat-id");flat_count["block_"+b].click++}),flat_body.on("mouseenter","[data-flat-id] iframe",function(){let a=jQuery(this),b=a.closest("[data-flat-id]").attr("data-flat-id");flat_iframe=b}).on("mouseleave","[data-flat-id] iframe",function(){flat_iframe=-1}),jQuery(window).on("beforeunload",()=>{jQuery.isEmptyObject(flat_count)||jQuery.ajax({async:!1,type:"POST",url:ajaxUrlFlatPM,dataType:"json",data:{action:"flat_pm_ajax",data_me:{method:"flat_pm_block_counter",arr:flat_count}}})}).on("blur",()=>{-1!=flat_iframe&&flat_count["block_"+flat_iframe].click++})),flat_userVars.init();for(let b=0;bflat_userVars.textlen||void 0!==a.chapter_sub&&a.chapter_subflat_userVars.titlelen||void 0!==a.title_sub&&a.title_subc&&cc&&c>d&&(b=flatPM_addDays(b,-1)),b>e||cd||c-1!=flat_userVars.referer.indexOf(a))||void 0!==a.referer.referer_disabled&&-1!=a.referer.referer_disabled.findIndex(a=>-1!=flat_userVars.referer.indexOf(a)))&&(c=!0),c||void 0===a.browser||(void 0===a.browser.browser_enabled||-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser))&&(void 0===a.browser.browser_disabled||-1==a.browser.browser_disabled.indexOf(flat_userVars.browser)))){if(c&&void 0!==a.browser&&void 0!==a.browser.browser_enabled&&-1!=a.browser.browser_enabled.indexOf(flat_userVars.browser)&&(c=!1),!c&&(void 0!==a.geo||void 0!==a.role)&&(""==flat_userVars.ccode||""==flat_userVars.country||""==flat_userVars.city||""==flat_userVars.role)){flat_pm_then.push(a),flatPM_setWrap(a),flat_body.hasClass("flat_pm_block_geo_role")||(flat_body.addClass("flat_pm_block_geo_role"),flatPM_ajax("flat_pm_block_geo_role")),c=!0}c||(flatPM_setWrap(a),flatPM_next(a))}}}let b=jQuery(".flatPM_sticky");b.each(function(){let a=jQuery(this),b=a.data("height")||350,c=a.data("top");a.wrap("
");let d=a.parent()[0];flatPM_sticky(this,d,c)}),debugMode||countMode||jQuery("[data-flat-id]:not([data-id-out]):not([data-id-modal])").contents().unwrap(),flat_pm_arr=[],jQuery(".flat_pm_start, .flat_pm_end").remove()}

Программатор AVR-mkII для работы с МК семейства с xMega

Автор: Рудаков Г.В.

Дата: 2011-07-28

Два года назад в статье я предлагал вариант программатора AVR910 с USB интерфейсом, который позволял работать с микроконтроллерами AVR (tiny, mega). В магазинах в продаже появились более гибкие и богатые архитектурно микроконтроллеры семейства xMega. Однако для работы с ними нужен программатор с интерфейсом PDI (см. рисунок 1).

Рисунок 1 – Интерфейс PDI.

Данная статья посвящена изготовлению клона программатора AVR-mkII позволяющего прошивать микроконтроллеры xMega..

На рисунке 2 представлена принципиальная электрическая схема. Предлагаемый вариант программатора способен работать и с привычными МК tiny и mega, но я сознательно исключил из схемы необходимые колодки, для простоты. Поэтому программатор будет специализированным, только для работы с xMega.

На рисунке 2 представлена принципиальная электрическая схема. Предлагаемый вариант программатора способен работать и с привычными МК tiny и mega, но я сознательно исключил из схемы необходимые колодки, для простоты. Поэтому программатор будет специализированным, только для работы с xMega.

Рисунок 2 – Электрическая схема программатора AVR-mkII.

В случае когда питать микроконтроллер для его прошивки невозможно от источников питания платы, программатор имеет собственный стабилизатор напряжения на 3,3В или на 5В (на выбор перемычкой).

По сути, процесс заливки прошивки таким микроконтроллером происходит по двум проводам: DATA и CLOCK. Ну и собственно земля (GND).

Печатная плата фотовида, разработанная в программке Sprint Layout 5.0, представлена на рисунке 3.

Рисунок 3 – Фотовид печатной платы.

Рисунок 4 – Вытравленная печатная клона AVR-mkII.

После пайки всех компонентов получаем устройство отображенное на рисунках 5 и 6:

Рисунок 5 – Программатор AVR-mkII.

Рисунок 6 – Программатора AVR-mkII. Вид сверху.

Применяемый для программатора микроконтроллер AT90USB162 шьется посредством USB, причем никаких дополнительных проводов не надо. Заливаем прошивку все через тот же кабель miniUSB утилитой Flip Installer. О том, как прошить AT90USB162, читаем здесь (дублировать эту статью нет смысла).

После прошивки МК, операционная система распознает свежеиспеченный программатор и попросит установить драйвера. А вот тут небольшой подвох! Драйвера в отдельности я не нашел.

Поэтому придется ставить AVR Studio не ниже версии 4.18 вроде. Лично я ставил 5-тую. Кстати, после установки дров я пытался их выдернуть из ОС различным софтом. Успехом не увенчалась данная попытка.

Если у Вас получится такой трюк, присылайте, выложим.

Ну, все! Программатор и ОС Windows готовы к работе (рисунок 7).

Рисунок 7 – AVR-mkII в “свойствах системы”.

Помимо AVR Studio программатор отлично работает в CodeVisionAVR последних версий. Шьет очень шустро!

P.S. По мотивам ветки форума на сайте РадиоКот.

Необходимо зарегистрироваться чтобы прочитать текст

Рейтинг:

Источник: http://www.3e-club.ru/view_full.php?id=32&name=avr_mk2