ПРОГРАММАТОР AVR USB

Содержание

USBASP: USB AVR программатор для микроконтроллеров ATmega, ATtiny

ПРОГРАММАТОР AVR USB

Программатор USBASP — устройство, распиновка, подключение, прошивка

Сегодня мы рассмотрим как, без особых затрат и быстро, запрограммировать любой микроконтроллер AVR поддерживающий режим последовательного программирования (интерфейс ISP) через USB-порт компьютера.

В качестве программатора мы будем использовать очень простой и популярный программатор USBASP, а в качестве программы — AVRdude_Prog V3.

3, которая предназначена для программирования МК AVR.

Программатор USBASP

Для того, чтобы запрограммировать микроконтроллер необходимо иметь две вещи:— программатор— соответствующее программное обеспечение для записи данных в МК

Одним из наиболее простых, популярных и миниатюрных программаторов для AVR является USBASP программатор, созданный немцем Томасом Фишлем.

Имеется много разных схемотехнических решений этого программатора, программатор можно собрать самому или купить (стоимость — 2-3 доллара). При самостоятельной сборке следует учитывать, что собранный программатор необходимо будет прошить сторонним программатором.

Мы рассмотрим наиболее «навороченную» версию программатора:

Характеристики программатора:— работает с различными операционными системами — Linux, Mac OC, Windows (для операционной системы Windows, для работы программатора, необходимо установить драйвера  — архив в конце статьи)— скорость программирования до (скорость программирования можно устанавливать самому, к примеру в AVRDUDE_PROG) 375 (5) кб/сек— имеет 10-контактный интерфейс ISP (соответствует стандарту ICSP с 10-контактной распиновкой)— поддерживает два напряжения питания программатора — 5В и 3,3В (не все USB порты ПК работают при 5 Вольтах)

— питается от порта USB компьютера, имеет встроенную защиту по току (самовосстанавливающийся предохранитель на 500 мА)

Назначение джамперов:
разъем JP1 — предназначен для перепрошивки микроконтроллера программатора (для перепрошивки — необходимо замкнуть контакты)
разъем JP2 — напряжение питания программатора — 5 Вольт или 3,3 Вольта (по умолчанию — 5 Вольт, как на фотографии).

Программируемый микроконтроллер, или конструкцию, в которой он установлен, при токе потребления 300-400 мА можно запитать с программатора, для этого на разъеме есть выход +5В (VCC).

разъем JP3 — определяет частоту тактирования данных SCK: разомкнутый — высокая частота (375 кГц), замкнутый — низкая частота (8 кГц)
Подробнее о разъеме JP3
Джампер JP3 предназначен для уменьшения скорости записи данных в микроконтроллер.

Если у микроконтроллера установлена частота тактирования более 1,5 мГц — джампер может быть разомкнут, при этом скорость программирования высокая. Если тактовая частота менее 1,5 мГц — необходимо закоротить выводы джампера — снизить скорость программирования, иначе запрограммировать микроконтроллер не получится.

К примеру, если мы будем программировать микроконтроллер ATmega8 (в принципе, практически все МК AVR настроены на тактовую частоту 1 мГц по умолчанию), у которого частота тактирования по умолчанию 1 мГц, необходимо будет замкнуть выводы джампера (как на фотографии). Лучше, наверное, держать этот джампер постоянно замкнутым, чтобы, забыв о его существовании, не мучиться вопросом — почему микроконтроллер не прошивается.

Если вы будете пользоваться программой AVRDUDE_PROG, выложенной на сайте, то о перемычке можно забыть

Программатор поддерживается следующим программным обеспечением:— AVRdude— AVRdude_Prog— Bascom-AVR— Khazama AVR Prog

— eXtreme Burner AVR

Работать с таким программатором очень просто — соединить соответствующие выводы программатора с микроконтроллером, подключить к USB-порту компьютера — программатор готов к работе.
Распиновка 10-контактного кабеля программатора USBASP:

1 — MOSI — выход данных для последовательного программирования2 — VCC — выход +5 (+3,3) Вольт для питания программируемого микроконтроллера или программируемой платы от порта USB компьютера (максимальный ток 200 мА — чтобы не сжечь порт USB)3 — NC — не используется4 — GND — общий провод (минус питания)5 — RST — подключается к выводу RESET микроконтроллера6 — GND7 — SCK — выход тактирования данных8 — GND9 — MISO — вход данных для последовательного программирования

10 — GND

Установка драйверов для программатора USBASP

Установка драйвера для программатора USBASB очень проста:— подсоедините программатор к USB порту компьютера, при этом в диспетчере устройств появится новое устройство «USBasp» с желтым треугольником и восклицательным знаком внутри, что означает — не установлены драйвера— скачайте и разархивируйте файл «USBasp-win-driver-x86-x64-ia64-v3.0.7»— запустите файл «InstallDriver» — будут автоматически установлены драйвера для программатора— проверьте диспетчер устройств — желтый треугольник должен исчезнуть (если нет, щелкните правой кнопкой по устройству «USBasp» и выберите пункт «Обновить»

— программатор готов к работе

FUSE-биты при программировании USBASP AVR:

Архив «usbasp.2011-05-28» содержит папки:= BIN:— win-driver — драйвера для программатора— firmware — прошивка для микроконтроллеров Mega8, Mega88, Mega48

= circuit — схема простого программатора в PDF и Cadsoft Eagle

При перепрошивке китайского программатора рекомендую установить FUSE-бит CKOPT. CKOPT взаимосвязан с предельной тактовой частотой.

По умолчанию CKOPT сброшен и стабильная  работа микроконтроллера программатора при применение кварцевого резонатора возможна только до частоты 8 МГц ( а МК программатора работает на частоте 12 МГц).

Установка FUSE-бита CKOPT увеличивает максимальную частоту до 16 МГц. Китайцы не трогают этот FUSE-бит, что довольно часто приводит к отказу программатора (обычно система не определяет программатор).

Архив «USBasp-win-driver-x86-x64-ia64-v3.0.7» предназначен для установки драйверов, как указано в статье

  usbasp.2011-05-28 (518,9 KiB, 14 053 hits)

  Скачать “USBasp-win-driver-x86-x64-ia64-v3.0.7” (10,9 MiB, 26 513 hits)

Скачать с ЯндексДиска

Описанный в статье USBASP программатор, прошитый последней версией программы, проверенный в работе, с установленными джамперами и перемычками, вы можете приобрести в интернет-магазине  «МирМК-SHOP»
Перейти на страницу магазина

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

1. Микроконтроллеры — первый шаг
2. Системы счисления: десятичная, двоичная и шестнадцатиричная
3.

Логические операции, логические выражения, логические элементы
4. Битовые операции
5. Прямой, обратный и дополнительный коды двоичного числа
6.

Программа AVRDUDE_PROG: программирование микроконтроллеров AVR ATmega и ATtiny

(31 , оценка: 4,97 из 5)
Загрузка…

Источник: https://microkontroller.ru/programmirovanie-mikrokontrollerov-avr/usbasp-usb-avr-programmator/

Программаторы для AVR микроконтроллеров (USB, COM, LPT)

ПРОГРАММАТОР AVR USB

Узнаем что такое ISP-интерфейс, разберемся с недорогим и удобным программатором USB ISP. Рассмотрим принципиальные схемы простейших программаторов для AVR микроконтроллеров с использованием COM и LPT портов компьютера. Данной информации вполне хватит чтобы прошить большинство моделей AVR микроконтроллеров не только в Linux, но и в других ОС.

Интерфейс внутрисистемного программирования ISP

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

Программатор – это небольшая электронная схема, которая позволяет подключить микроконтроллер к одному из портов компьютера (COM, LPT, USB) для последующего считывания и записи прошивки (программирования).

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

Наиболее надежный и удобный вариант – это программатор что подключается к USB-порту, поскольку в новых настольных компьютерах и ноутбуках уже не устанавливают COM и LPT порты.

В готовых устройствах программатор подключается к микроконтроллеру посредством интерфейса ISP (In System Programming) – интерфейс внутрисистемного программирования. ISP интерфейс представляет собою несколько проводников по которым поступает тактовый сигнал и данные для связки программатора с микроконтроллером.

Как правило ISP интерфейс размещают на платах в виде десяти или шести штырьков, к которым посредством подходящего коннектора через шлейф подключается программатор.

Рис. 4. ISP интерфейс на плате.

Назначение пинов в ISP интерфейсе:

  1. VCC – плюс питания, как правило +5В;
  2. GND – минус питания, земля (Ground);
  3. MOSI – вход данных (Master Out Slave In);
  4. MISO – выход данных (Master In Slave Out);
  5. SCK – тактовый сигнал (Serial Clock);
  6. RST – дла подачи сигнала сброса (Reset).

Для внутрисхемного программирования микроконтроллера достаточно всего 4 пина, поскольку питание микроконтроллера может осуществляться от самой схемы где он установлен.

Как подключить программатор к микросхеме-микроконтроллеру AVR если он не впаян в схему? – очень просто, используя те же пины ISP интерфейса, при необходимости запитав при этом микроконтроллер от источника питания.

Программатор USB ISP ASP

Для работы с AVR чипами я приобрел недорогой USB ISP программатор по цене примерно 10$. Такое устройство есть сейчас в продаже во многих отечественных и зарубежных интернет-магазинах, так что с покупкой проблем не должно возникнуть.

Рис. 5. USB ISP – программатор со шлейфом для внутрисхемного программирования AVR микроконтроллеров фирмы ATMEL.

Данный программатор безопасен в использовании, имеет небольшие размеры и поддерживается большинством программ для прошивки микроконтроллеров AVR. USB ISP работает под операционными системами Linux,  Mac OS X  и  Windows. Для Linux никаких драйверов устанавливать не нужно, после подключения программатора к USB порту устройство сразу же определится и будет готово к использованию.

Ниже приведу распиновку коннекторов программатора USB ISP – она нам потом пригодится при подключении к микроконтроллеру.

Рис. 6. Расположение пинов на разъеме USB ISP (распиновка).

Рис. 7. Расположение контактов в гнездах коннектора подключенного к программатору USB ISP.

Что делать если нет возможности купить программатор USB ISP ? – можно программировать микроконтроллеры используя несложные самодельные программаторы что подключаются к COM или LPT порту, но лучше самому изготовить USB ISP при этом один раз запрограммировав микросхему-микроконтроллер для него простым самодельным программатором через COM или LPT порт.

Рис. 8. Принципиальная схема самодельного программатора USB ASP ISP.

Подробную информацию по изготовлению USB ASP, а также печатные платы, драйвера и прошивку для микроконтроллера можно найти на официальном сайте: http://www.fischl.de/usbasp/

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

Программатор с использованием COM-порта

Этот программатор еще называют “программатором Громова”, в честь того кто придумал эту схему, создателя программы Algorithm Builder (графическая среда для программирования AVR под Windows используя алгоритмический язык) – Г.Л. Громова.

Данный программатор позволяет программировать AVR чипы используя COM порт компьютера – интерфейс RS232.

Для сборки такого программатора потребуется минимум деталей – 3 диода, 7 резисторов, разъем DB-9 или DB-25(в зависимости от того какой ответный разъем установлен у вас в компьютере) и коннектор ISP для подключения к микроконтроллеру (или же просто несколько проводников к чипу). Диоды в схеме можно использовать любые маломощные.

Рис. 9. Принципиальная схема программатора AVR микроконтроллеров через COM порт компьютера.

Для полноты информации ниже приведу распиновку портов RS-232 для вариантов DB-9 и DB-25.

Рис. 10. RS232 – COM Port, DB-9 расположение выводов.

Рис. 11. RS232 COM Port DB-25 – расположение выводов на разъемах.

Программатор с использованием LPT-порта

Как мы знаем, LPT порт компьютера предназначен для подключения локального принтера (Local Printer Port), но тем не менее его часто используют для подключения различных устройств и самоделок. В данном случаем мы можем его использовать для программирования AVR микроконтроллеров, собрав для данной цели очень простую схему что приведена ниже.

Рис. 12. Принципиальная схема программатора для AVR микроконтроллеров с использованием LPT порта компьютера.

Как видим, схема еще проще чем в варианте с программатором Громова, здесь нам нужны всего лишь 4 маломощных резистора и разъем (папа, со штырьками) для подключения к LPT порту компьютера.

Рис. 13. Расположение пинов для разъемов LPT-порта.

Все детали и соединения можно разместить в корпусе LPT-разъема, а для подключения к микроконтроллеру вывести шлейф с коннектором под ISP-интерфейс или же просто необходимые проводники для подключения к микро-чипу.

Программное обеспечение и заметки

Подключив COM или LPT программатор к микроконтроллеру нужно не забыть подать питание на сам микрочип. В качестве источника питания микроконтроллера можно использовать батарейки или блок питания со стабилизатором, это будет наиболее безопасно как для порта компьютера, так и для чипа. О том как использовать источники питания для AVR микроконтроллера мы уже рассматривали.

Под Linux есть очень мощная программа которая умеет работать с USB ASP, COM и LPT программаторами – это программа AVRDUDE, о ней будет идти речь в следующих разделах.

Для прошивки AVR чипов под Windows с использованием данных COM и LPT программаторов нужна программа UniРrof от Николаева, которая представляет собою  универсальный программатор для AVR (avr.nikolaew.org).

Программа UniProf (Windows) – avr-programming-uniprof-08-jun-10.zip (400кБ).

ВНИМАНИЕ! Будьте предельно внимательны и осторожны при сборке и использовании программаторов с использованием COM или LPT порта компьютера, простой ошибкой можно запросто подпалить эти порты.

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

Микропроцессор компьютера желательно чтобы имел частоту не более 1-2 ГГц, а в качестве ОС для программирования чипов желательно использовать Win2000 или WinXP.

Также важно знать что переходники USB-RS232 (USB-COM Port) скорее всего не будут работать с программатором Громова, заработают возможно только те у которых стоят более новые микросхемы, так что лучше искать машину с родным COM-портом.

Заключение

Программаторы что рассмотрены в статье – это всего лишь несколько наиболее доступных и простых решений из большого списка программаторов для AVR: USBTinyISP, AVR-Doper, AVR vusbtiny, AVRISP-MkII, программаторы на FTDI и другие.

Теперь в любом случае вы сможете собрать доступный вам программатор и прошить хотя бы одну микросхему, на основе которой можно собрать другой более удобный программатор или же какое-то устройство.

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

Начало цикла статей: Программирование AVR микроконтроллеров в Linux на языках Asembler и C.

Источник: https://ph0en1x.net/73-avr-microcontroller-programmers-usbasp-isp-com-lpt.html

USBasp – USB программатор для программирования микроконтроллеров AVR

ПРОГРАММАТОР AVR USB

2 февраля 2019 г.

Пользователи, знакомые с микроконтроллерами Atmel или хотя бы с Arduino скорее всего знают о дешевом программаторе USBasp, цена которого на Ebay около $ 3. Распространены две версии программатора:

  • USBasp 2.0 — с стабилизатором на 3.3 вольта.
  • USBasp 3.0 — плата поменьше, без стабилизатора. Так же у него не выведены на разъем порты PD0 и PD1(Аппаратный UART).

Технические характеристики

  • Поддерживаемые ОС: Windows, MacOS, Linux
  • Процессор: Atmega8A
  • Интерфейс подключения к ПК: USB
  • Интерфейс программирования: ISP (внутрисхемное)
  • Напряжение программирования: 5В или 3.3В (в зависимости от положения перемычки JP2)
  • Частота программирования: 375кГц (по умолчанию) и 8кГц (при замкнутой перемычке JP3)
  • Поддерживаемые контроллеры: все AVR с интерфейсом SPI

Список поддерживаемых AVR микроконтроллеров

USBASP Программатор AVR поддерживает все микроконтроллеры ATMEL с режимом последовательного программирования ISP (In System Programming), это все микроконтроллеры у которых есть порт SPI (Serial Peripheral Interface):

  • ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny28, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861
  • AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, T90S4433, AT90S4434, AT90S8515, AT90S8535
  • ATmega8, ATmega48, ATmega88, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164, ATmega165, ATmega168,ATmega169, ATmega32, ATmega323,ATmega324, ATmega325, ATmega3250, ATmega329, ATmega64, ATmega640, ATmega644, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega128, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega103, ATmega406, ATmega8515, ATmega8535
  • AT90CAN32, AT90CAN64, AT90CAN128
  • AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
  • AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647
  • AT89S51, AT89S52
  • AT86RF401.

Устройство программатора USBasp

Программатор состоит из небольшого числа деталей. Мозгом программатора является микроконтроллер Atmega8, который имеет всего 8 кб флеш памяти и 1 кб ОЗУ(SRAM).

Вроде и слабенький микроконтроллер по современным меркам, но столько всего можно на нем сделать.Из-за особенностей работы программного USB м/к работает на частоте 12мгц.

Соответственно, при написании своей прошивки необходимо учитывать это.

USBasp имеет 10 контактный разъем, на который выведены 6 выводов микроконтроллера: PB5 (SCK), PB4 (MISO), PB3 (MOSI, PWM), PB2(PWM), PD0 (RXD), PD1 (TXD).

Плата имеет два встроенных светодиода на выводах PC0 и PC1.Выводы м/к PB0,PB1 и PD2 используются для программного USB,PC2 выведен на перемычку JP3.Остальные выводы микроконтроллера не распаяны.

схема USBasp2.0

распиновка разъема USBasp

Органы управления на плате

На плате имеются три перемычки, задающие разные режимы работы программатора:

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

JP3 — если её замкнуть, то программирование контроллера будет происходить с пониженной частотой

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

Чтобы начать пользоваться программатором, необходимо сперва поставить на него драйвера. Драйвер для программатора USBASP (v 2.0) USB ISP ранее был основан на libusb-win32. После того, как действие сертификата истекло, библиотека была заменена на libusbK. 

Работа драйвера тестировалась на версиях от Windows XP до Windows 10 (32-разрядные и 64-разрядные версии).

Поскольку драйвер подписан, отпадает необходимость принудительного отключения сертификата драйвера или использования Zadig, достаточно скачать драйвер USBasp и запустить файл InstallDriver.

exe из распакованного архива. В Windows XP можно просто указать мастеру установки папку с распакованными файлами драйвера.

Скачать драйвер программатора USBasp 3.0.7

ВНИМАНИЕ! Вы устанавливаете этот драйвер на свой страх и риск!

Понравился пост? Поделитесь ссылкой с друзьями, они оценят:

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

На этом сайте будут публиковаться статьи и заметки на интересные для меня темы: о веб-программировании, управлении проектами и электронике.

Всегда открыт для сотрудничества. Связаться со мной вы можете через форму на странице контакты.

MicroPyServer. Управляем ESP8266/ESP32 через WiFi при помощи веб-сервера

Code review. Как правильно его делать и для чего это нужно

Docker. Список команд для начинающих

Как установить Linux в Windows 10

Arduino: Ошибка при заливке скетча “avrdude: stk500_recv(): programmer is not responding”

Источник: http://blog-programmista.ru/post/62-usbasp-usb-programmator-dla-programmirovania-mikrokontrollerov-avr.html

AVR USB программатор USBasp

ПРОГРАММАТОР AVR USB

Схема программатора USBasp представлена на рисунке ниже. Я взял за основу схему с сайта автора http://www.fischl.de/usbasp и немного изменил ee. Были добавлены диоды VD1 – VD3, чтобы уменьшить напряжение питания и согласовать логические уровни микроконтроллера и USB порта без стабилитронов. Были выкинуты цепи подключенные к UART`у, так как они не использовались, и добавлен джампер JP1.

Расскажу о назначении светодиодов и джамперов. 

– HL1 сигнализирует о том, что идет процесс программирования. Он зажигается на время записи прошивки.- HL2 показывает, что программатор находится в рабочем состоянии. Он зажигается при подаче питания.

– JP1 закорачивает цепочку из диодов, что позволяет изменять напряжение на разъеме программирования с 3 на 5 В. Однако без стабилитронов это прокатит не со всеми компьютерами. Многие компы не опознают USBASP, если у него 5-и вольтовые логические уровни.

– JP2 изменяет частоту SCK сигнала. При разомкнутом джампере частота SCK будет 375 кГц, при замкнутом — 8 кГц. Это требуется для программирования микроконтроллеров с низкой тактовой частотой (меньше 1.5 МГц). – JP3 подключает вывод RESET к разъему программирования.

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

– JP4 подключает к разъему программирования +5В от USB порта. Эта функция может понадобиться, чтобы запитать программируемую плату от программатора.

Сборка USBASP

Для сборки программатора USBASP понадобятся следующие компоненты:

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

После сборки платы ее нужно тщательно проверить на предмет замыканий. Особенно по цепям питания. Если все в порядке, то можно записать в микроконтроллер прошивку. Ее можно в конце статьи. На сегодняшний день это самая последняя версия, но на всякий случай загляните на сайт автора. 

Запрограммировать микроконтроллер можно прямо в составе платы. Для этого нужно замкнуть джампер JP3 и JP4, подключить USBasp к компьютеру для подачи питания и подключить программатор к разъему BH-10. Остальные действия зависят от того, какой программатор вы используете.

После того как микроконтроллер запрограммирован, нужно настроить Fuse биты, чтобы он тактировался от внешнего кварцевого резонатора. Значения Fuse битов такие:atmega8 HFUSE=0xc9 LFUSE=0xefatmega88 HFUSE=0xdd LFUSE=0xffЯ прошивал USBASP родным атмеловским программатором.

У меня в Atmel Studio окно с Fuse битами выглядело так. 

Разницы никакой, так что не задавайте вопросы какие Fuse биты установить.

Установка драйверов для USBasp

Для работы с программатором под Windows требуется установить драйвера. Их можно скачать с сайта автора. Для операционных систем Linux и MacOS X USBasp`у драйвера не требуется.

Подключаем собранный и запрограммированный USBasp к компьютеру. Операционная система оповестит нас о нахождении нового оборудовании и предложит установить драйвера.

Выбираем опцию –  установить из указанного места Указываем папку в которой лежат драйвера для программатора. Система немного потупит, а затем начнется процесс установки. Если все прошло удачно, мастер оборудования завершит работу.  А Windows оповестит нас об установке нового оборудования Теперь программатором можно пользоваться.Описанная процедура может немного отличаться в зависимости от версии операционной системы, но суть одна – подсунуть драйвера из папки.

Оболочки для работы с USBasp

Для работы с USBasp`ом есть несколько программ — avrdude, eXtremeBurner, Khazama и.. какие то еще.

На мой взгляд наиболее удобная в использование программа для USBaspa – это Khazama. Она имеет простой и интуитивно понятный оконный интерфейс. Процесс программирования микроконтроллера выполняется в три шага.

Программирование EEPROM (память предварительно должна быть стерта) выполняется аналогичным образом. В меню Command  > Program Options можно задать настройки программы. В частности, набор операций, которые будут выполняться при нажатии на кнопку Auto Program. По умолчанию там задано стирание чипа и запись во флэш память. Можно также выбрать запись в EEPROM и верификацию (проверку данных после записи).С помощью Khazama также можно  устанавливать FUSE биты
Все операции можно выполнять как с помощью меню, так и с помощью меню бара. Также есть удобная опция AutoProgram. 1 — загрузить в буфер прошивку для Flash памяти2 —  загрузить в буфер прошивку для EPROM памяти3 — записать прошивку во Flash память4 — записать прошивку в EPROM память5 — прочитать Flash память6 — прочитать EPROM память7 — стереть кристал8 — установка FUSE и LOCK биты9 — установить Khazama поверх всех окон

Файлы

Схема и печатная плата USBasp в формате Eagle
Win драйвер и прошивка USBasp
KhazamaAVRProgrammer

У вас недостаточно прав для комментирования.

Источник: https://chipenable.ru/index.php/item/71

Программатор для avr своими руками

ПРОГРАММАТОР AVR USB

admin / 01.02.2018

В данной статье мы опишем „шаг за шагом” этапы изготовления USBasp программатора для микроконтроллеров AVR. В отдельных статьях приведем описание установки драйверов для операционных систем Windows XP и Windows 7 (x64/x86). В конце поста размещена ссылка с необходимой документацией для изготовления программатора USBasp своими руками.

Программатор USBasp, благодаря своей простоте в изготовлении и использовании недорогих и широкодоступных элементов, стал очень популярным среди радиолюбителей. Его параметры работы не уступают профессиональным и дорогим программаторам микроконтроллеров AVR.

Основные характеристики программатора USBasp

  • Работает с несколькими операционными системами – Linux, Mac OS X и Windows – включая Windows 8!
  • Не требует внешнего питания.

  • Умеет программировать со скоростью вплоть до 5kB/s
  • Есть вариант (Switch 2) снижения скорость программирования – для процессоров с кварцем меньше 1,5 Мгц
  • Обеспечивает напряжение для программирования (Switch 1) 5 вольт
  • Указание работы программатора с помощью светодиода

Перед началом работы, стоит ознакомиться с последовательностью всех выполняемых действий, а именно:

  1. Выбор схемы/рисунка печатной платы
  2. Перенос рисунка печатной платы на фольгированный стеклотекстолит
  3. Травление печатной платы в растворе хлорного железа
  4. Сверление отверстий
  5. Монтаж элементов (пайка)
  6. Программирование Atmaga8 программатора
  7. Подключение программатора к компьютеру
  8. Установка драйверов – Windows XP, Windows 7
  9. Выбор программы с поддержкой USBasp

Существует много версий USBasp программатора, но все они основаны на главной схеме, автором которой является Thomas Fischl. Прошивка микроконтроллера программатора также является его авторством.

Оригинальная схема программатора:

В данном случае за основу была выбрана оригинальная схема. Поскольку использование перемычек в оригинальной схеме не совсем удобно, было принято решение использовать DIP переключатели. Так же были изменены некоторые значения резисторов.
Более того, в оригинальной схеме линии TxD и RxD выведены на разъем ISP, хотя это не нужно (точнее не используются на практике).

Ниже приведена схема с внесенными изменениями:

Строительство USBasp программатора

Существует много версий печатной платы данного программатора, некоторые можно найти на официальном сайте USBasp. Однако, была сделана своя на основе выше представленной схемы.

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

Ниже результат печатной платы:

Как видно на рисунке, в программаторе не применялись SMD элементы. Пустое пространство на плате „залито” полем массы, главным образом для того, чтобы не вытравливать большое количество меди, а также снизить влияние помех на программатор.

Список элементов используемых в USBasp программаторе:

  • R1: 10к
  • R2: 180
  • R3: 100
  • R5, R6: 68
  • R7: 2к2
  • C1, C2: 22п
  • C3: 10мк
  • C4: 100н
  • LED1: Красный светодиод на 20мА
  • LED2: Зеленый светодиод на 20мА
  • D2, D3: стабилитроны на 3,6В
  • X1: Разъем USB, тип B
  • SV1: Гнездо под разъем IDC-10
  • Q1: Кварц 12МГц, корпус HC49-S
  • SW1: Dip переключатель трехпозиционный
  • IC1: Atmega8  (ПРИМЕЧАНИЕ: Не следует использовать микроконтроллер Atmega8 — PU из-за его ограничение максимальной тактовой частотой до 8 МГц!)

Перенос рисунка печатной платы USBasp программатора на стеклотекстолит выполнен с помощью метода ЛУТ (лазерно-утюжной технологии). Как это делать описывать не будем, поскольку данной информации в сети много.

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

Следующий этап – вытравливание платы в растворе хлорного железа. Во время травления желательно поддерживать температуру раствора не ниже 40 C, поэтому банку с раствором погружаем в горячую воду:

После завершения процесса травления необходимо удалить тонер ацетоном.

Остается теперь только просверлить отверстия. После завершения процесса изготовления платы можно приступать к пайке элементов USBasp программатора, начиная с перемычек.

Готовые к печати (в формате PDF) рисунок печатной платы находится в конце статьи. Вы также можете найти несколько вариантов на официальном сайте проекта.

Первый запуск USBasp программатора

Теперь, когда все детали спаяны, остается только «прошить» микроконтроллер Atmegę8 самого программатора. Для этого нужен отдельный программатор, это может быть, например, STK 200 (LPT порт), STK500 и т. д. LPT программатор подключается к USBasp через разъем IDC-10.

Обратите внимание, что распределение пинов в разъеме оригинального программатора (USBasp) находится справа, в то время как в версии, описываемой в этой статье – слева:

Распределение, показанное на рисунке справа, соответствует тем, которые применяет компания Atmel в своих оригинальных программаторах. Такое распределение уменьшает риск возникновения помех во время программирования в случае применения длинных проводов от программатора к контроллеру, так как каждая сигнальная линия экранирована массой, кроме MOSI.

На время программирования включите режим SELF путем переключения DIP переключателя № 3 в положение ON. Благодаря этому появляется возможность запрограммировать Atmega8. После завершения программирования, положение переключателя (3) должна быть переведено в состоянии OFF.

Последнюю версию прошивки можно скачать с официального сайта. Рекомендуем версию для Atmega8, которая находится в архиве: usbasp.2011-05-28.tar.gz.

Обратите внимание, чтобы перед программированием Atmega8 необходимо выставить фьюзы которые имеют следующие значения:

  • # для Atmega8: HFUSE=0xC9 LFUSE=0xEF
  • # для Atmega48: HFUSE=0xDD LFUSE=0xFF

В случае успешного программирования, подключаем программатор к USB разъему компьютера, при этом должен загореться красный светодиод, а компьютер должен оповестить об обнаружении нового оборудования.

Установка драйверов USBasp программатора

Способ установки драйверов программатора описан в отдельных статьях, там же имеются и сами драйвера. Ниже приведены прямые ссылки на эти статьи:

  • Установка драйверов для программатора USBasp под Windows XP
  • Установка драйверов для программатора USBasp Windows 7 x64/x86

Программы для работы программатора USBasp

Самой популярной программой, поддерживающей программатор USBasp, это консольная программа AVRdude. Так же существует множество производных программ, использование которых намного удобнее. Они представлены в статье Сравнение программ для поддержки программатора USBasp.

Скачать прошивку, рисунок печатной платы и драйвер USBasp программатора (скачено: 1 161)

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

9zip.ruРадиотехника, электроника и схемы своими руками Универсальный программатор для микроконтроллеров AVR и PIC

В радиолюбительских журналах и сети Интернет приводится множество схем программаторов. Они отличаются способом подключения к компьютеру: через LPT, COM, USB. Программаторы для порта LPT наиболее простые, для COM — чуть сложнее.

Для программатора, подключаемого к USB-порту, нужно иметь либо микроконтроллер, либо специализированную микросхему, преобразователь USB — UART. Кроме этого, разные программаторы предназначены для прошивки разных микроконтроллеров: AVR или PIC, при том, что алгоритм программирования этих двух типов микроконтроллеров отличается незначительно.

Поэтому само собой напрашивается желание собрать универсальный программатор для любых микроконтроллеров — AVR и PIC.

Оптимальной нам показалась приведённая ниже схема программатора. Он подключается к COM-порту компьютера и содержит известную микросхему MAX232, которая корректно работает с любым COM-портом (у разных компьютеров уровни порта могут существенно отличаться от стандарта), защищая его при случайных ошибках монтажа или подключения.

Программатор имеет панельки для разных корпусов микроконтроллеров, а также возможность для внутрисхемного программирования ICSP, когда программатор подключается проводами к плате с микроконтроллером или непосредственно к ножкам микроконтроллера без установки его в панельку. Программатор видится программами как JDM, поэтому проблем с программным обеспечением не возникает.

Можно рекомендовать программу IC-PROG 1.06В.

Переключение режимов AVR — PIC производится микропереключателем. Процесс работы устройства индицируется четырьмя светодиодами. Программатор прост и не требует наладки, используются очень распространённые детали.

Вместо микросхемы 74LS00 можно поставить К555ЛА3 или КР1533ЛА3, транзисторы, в принципе, заменимы на похожие. У данной схемы есть одна странность — номиналы токоограничительных резисторов для светодиодов.

Так как светодиоды подключены к разным участкам схемы, напряжения на этих участках также разные, из-за чего светодиоды светятся с разной яркостью. Для того, чтобы это исправить, можно попробовать подобрать резисторы, в частности — уменьшить R4 и R7.

Вместо КД523 можно использовать распространённые 1N4148.

Печатная плата .lay (для Sprint Layout) Разводка выполнена под SMD-резисторы, остальные компоненты — в обычном исполнении.

Внимание! На печатной плате проводки MOSI и MISO к панельке ATMEGA8 показаны неправильно, их нужно перекинуть. Также C7 и C9 имеют перемычки — их нужно убрать.

Работа с IC-PROG

Скачивать программу нужно с официального сайта:

http://www.ic-prog.com/index1.htm

В каталоге программы должны находиться следующие файлы:

icprog.exe — непосредственно программа
icprog.sys — драйвер доступа к портам под XP

Необходимо нажать правой клавишей мыши на файле icprog.exe и выбрать «свойства». На вкладке «совместимость» необходимо поставить галочку «запустить в режиме совместимости» и выбрать Windows 2000.

Далее необходимо зайти в меню «Настройки» и выбрать пункт «Программатор». Тип программатора необходимо установить JDM и указать COM-порт, к которому физически подключен программатор. Для очень быстрых компьютеров можно также установить задержку ввода-вывода. В этом же окне необходимо указать интерфейс «Прямой доступ к портам». Все галочки параметров сигналов должны быть сняты.

Затем необходимо зайти в меню «Настройки» и выбрать пункт «Опции», вкладку «Общие», где установить галочку «Включить NT/2000/XP драйвер». При этом появится окно подтверждения установки драйвера и программа перезапустится.

После этого программа готова к работе с программатором.

7 нравится? 3

Источник: https://steptosleep.ru/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%BE%D1%80-%D0%B4%D0%BB%D1%8F-avr-%D1%81%D0%B2%D0%BE%D0%B8%D0%BC%D0%B8-%D1%80%D1%83%D0%BA%D0%B0%D0%BC%D0%B8/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.