Vusbtiny программатор

Программатор USBTiny — Сообщество «Электронные Поделки» на DRIVE2

Уже давно пользуюсь программатором Громова собраным по этой схеме. Разводку платы сделал свою.

Скачать плату в Sprint-Layout

Не знаю, почему именно привлек внимание программатор USBTiny, но его очень захотелось собрать. Собрал и не пожалел. Схема взята с сайта.

Схема USBTiny

Сделал свою разводку под односторонний текстолит.

Эту ногу поднимаем вверх и не паяем. Или просто откусываем эту ногу.

Печатка, сборка, прошивка МК тем же громовым

Фьюзы в UniProf для прошивки ATtiny2313A для программатора USBTiny

Файлы для скачивания:————————————-

Печатка

Прошивка
Драйвера

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

Указываем где у нас лежит каталог с драйверами

В итоге должно получиться так, в диспетчере устройств

Все! Программатор готов к работе.

С этим программатором работает avrdude (в народе просто дудка). Я думаю ее достоинства описывать не нужно ))). Под avrdude написаны оболочки SinaProg, ADS. Вот о последней хочется немного рассказать. Окно ADS сделано в стиле окна программы ICProg под PIC-микроконтроллеры. Интерфейс интуитивно понятен.

1). Опции. Вынесены на панель для большего удобства. Нажимая на кнопку опций можно увидеть в статус баре (4) как складывается командная строка avrdude

2-1) Кнопка чипа с зеленым плюсом. Нажав на нее выводится окно,

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

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

2-2) Если нажать на кнопку с изображением консоли и на кнопку чипа с зеленым плюсом, то выведется окно,

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

В этом окне нам программа ADS составила (!) список команд для avrdude. Автор эту фишку сделал для удобства написания бат-файлов. Нам остается только скопировать с данного окна набор команд и сохранить их в блокноте с расширением .bat или .cmd. Теперь можно без графической оболочки прошить микроконтроллер двойным кликом по батнику ))).

3) Здесь выставляем фьюзы.

Скачать ADS

Всем мира и удачного юзания!)))

Источник: https://www.drive2.ru/c/1056261/

Делаем простой USB программатор USBTinyISP

Очень многие люди, начиная свое знакомство с микроконтроллерами, испытывают трудности с инструментом для их программирования. И это реально может охладить творческий пыл. Да что там говорить, я и сам после сборки своего первого Arduino долго пытался «вдохнуть» жизнь в «железяку». очень хорошо описаны мучения.

Конечно, самый простой вариант “” — это здорово! Но, в моем окружении (как я понимаю, и у многих) дома, на работе в компах и ноутбуках напрочь отсутствует LPT-порт! Да и COM-порт становиться достаточно редкой «экзотикой». Что же делать? Естественно, на сцене появляется вездесущий USB.

Да, готовый программатор для AVR легко можно купить.

Но цена на них неадекватно завышена (у нас в г. Минске, на радиорынке что-то около 30..50 у.е.). Как говорил Киса Воробьянинов — «ОДНАКО!!!». Хорошо, что есть братья-китайцы, с . Только придется прилично подождать.

Да и судя по последним тенденциям, ОГРОМНЫЙ поток посылок из Китая ОЧЕНЬ заинтересовал государственные органы… И боюсь, что в скором времени превратится в жалкий ручеек 🙁

Да и к тому же, как говорит мой хороший друг: «Это не наш метод. Мы сделаем сами, пусть по выходу окажется и в два раза дороже!».

Спешу обрадовать, что затраты на изготовление — мизерные. Самые дорогие компоненты — это Attiny2313 (примерно 2$) и разъем USB.

Итак, приступим. Нам нужен программатор который максимально прост и относительно дешев, подключается по USB, и при этом, поддерживается всеми современными ОС (LINUX, WINDOWS, MAC OSX) через программу .

Изначально я рассматривал для повторения самый . Дальнейшие поиски меня привели к — !!! Стремясь к компактности, я выбрал для «клонирования» версию 1 (без буферной микросхемы). Ниже схема программатора.

Схема осталось оригинальной, за исключением перемычки для программирования (мне эта «фишка» абсолютно не нужна). А вот печатку я переделал под свои нужды.

(Номиналы деталей можно увидеть в SprintLayout при наведении курсора на нужный элемент)

Нам понадобится:— кусок текстолита 63х33 мм — МК Attiny2312 с колодкой под нее — Разъем USB (тип B) — Разъем 10х2 (как он правильно называется ???? Не знаю..) — 4 резисторa 1.5 кОм (smd, маркировка 152) — 1 резистор 1.5кОм (выводной 0.

125Вт) — 2 резисторa 33 Ом (smd, маркировка 330) — 1 резистор 10к (smd, маркировка 103) — 2 стабилитрона на 3.6В — 2 конденсатора 22 pF (smd) — 1 конденсатор 0.1 мF (smd) — 2 светодиода (зеленый и красный) — кварц на 12Mhz — электролитический конденсатор 100x16V

— самовосстанавл.

предохранитель (я выпаял из старой мат. платы). Если нету, можно поставить перемычку (на так и сделали).

— два штырька для перемычки Естественно, ЛУТ.После ЛУТаПосле травления:Мой любимый сплав РозеПаяем SMD элементыТеперь перемычки и оставшиеся элементыГотово!

Небольшое лирическое отступление. Давным давно, в 2000-х годах у меня один приятель жаловался со сложностями в поиске НОРМАЛЬНОЙ работы (он работал водителем). Дело в том, что у него был на тот момент очень маленький стаж вождения :). Чувствуете подвох? На нормальную работу без стажа не берут. Стажа нет, потому что на работу не берут… И так замкнутый круг.

Так и в нашем случае, для изготовления программатора нужно запрограммировать контроллер… т.е. нужен программатор. Слава богу, это нужно проделать всего один раз. Выходов несколько: — берем пиво и навещаем приятеля с программатором 🙂 — ищем компьютер с LPT-портом и паяем «5-проводков»

— нету LPT, но есть COM? Прекрасно, делаем !

— есть люди, предлагающие свои услуги по прошивке МК за небольшую «денюжку» — другие варианты

У меня ситуация более, чем шикарная — у меня уже был программатор . Так, что вся процедура заняла не более минуты. «Прошиваем» МК с помощью AVRDUDE. (Все необходимое для этого сложено в архив и находиться в каталоге Firmware).

avrdude.exe -p t2313 -c avr910 -P COM12 -U flash:w:usbtinyisp_(v.1).hex -U hfuse:w:0xdf:m -U lfuse:w:0xef:m
Кому менее повезло и пришлось прибегнуть к «5 проводкам» (кстати, официально он называется DAPA):
avrdude.exe -p t2313 -c dapa -U flash:w:usbtinyisp_(v.1).hex -U hfuse:w:0xdf:m -U lfuse:w:0xef:m вот, вариант когда программатор USBTinyISP используется для прошивки себе подобного, а-ля «овечка Долли»:
avrdude.exe -p t2313 -c usbtiny -U flash:w:usbtinyisp_(v.1).hex -U hfuse:w:0xdf:m -U lfuse:w:0xef:m

Почему вариант с AVRDUDE более предпочтителен для начинающих? При выполнении вышеприведенных команд сразу же прошиваются и нужные фьюзы, т.е. ухера.. «убить» микроконтроллер достаточно сложно.

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

И только если ВЫ на 100% уверены, подключаем наш программатор к разьему USB. После сообщения об обнаружении нового оборудования (речь идет о Windows), ставим как обычно драйвера.

Они сложены в архиве в папке usbtinyisp w32 driver v1.12.

Проверяем, что все хорошо, заглянув в список оборудования:Если Вам удалось увидеть такую же картинку, то поздравляю! Все готово. У Вас теперь есть USB программатор для AVR!!! Не знаю как Вы, но мне ОЧЕНЬ захотелось сразу же опробовать изделие в действии. А давайте прошьем бутлодер в Ардуино.Запускаем Arduino IDE, [Сервис]->[Программатор]->[USBTinyISP]Жмем [Сервис]->[Записать загрузчик] Буквально проходит 7 секунд, мерцание красного светодиода на программаторе… и ОПА!!! Все готово. Получите, распишитесь :)А теперь небольшой БОНУС, расширяющий область применения нашего программатора. А именно, маленький адаптер для DIP корпусов наиболее распространеных AVR контроллеров. Мне приходилось иметь дело с ATTiny13/45 — 8 ножек, Attiny 2313 (тут смайлик)- 20 ножек, Atmega 8/48/168 — 28 ножек. За основу берем схему соединения колодок (схема откуда-то из инета):
Для простоты я не использовал сигналы тактирования XT1. (Для всяких неприятных случаев, у меня есть собранный :)) И еще, я не ставил на адаптер колодку под Atmega16 (DIP-40). Пока у меня не возникало необходимости в программировании таких контроллеров.
Ну, если осилили изготовление программатора, то сделать такой адаптер — вообще плевое дело!Кстати, некоторые неиспользуемые контакты я просто-напросто удалил, во избежание ненужного контакта :)Приклеиваем (для удобства) соответствующие надписи:И вот, все в сборе, программатор и адаптер! Пользуйтесь на здоровье.

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

Источник: http://robocraft.ru/blog/2948.html

Программатор USBTiny-MkII slim

USBTiny-MkII slim – компактный и быстрый USB-программатор для микроконтроллеров AVR, совместимый с фирменным программатором AVRISP-MKII от Atmel.

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

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

MkII обладает следующими возможностями:

  • Поддержка интерфейса программирования ISP (для микроконтроллеров ATTiny и ATMega)
  • Поддержка интерфейса программирования TPI (актуально для некоторых моделей ATTiny)
  • Поддержка интерфейса программирования PDI (для микроконтроллеров XMega)
  • Возможность запитать программируемый микроконтроллер от 3.3В или 5В (выбирается джампером)
  • Это быстрый программатор. 128 Кб флеша ATMega128 полностью считываются за 35 секунд (для сравнения, usbasp делает это за 70 секунд), и пишутся чуть медленнее (скорость записи ~15 Кб/сек)
  • Работа как с утилитой avrdude, так и с IDE AtmelStudio (которая видит программатор как родную железку)
  • Есть вывод CLK для воскрешения микроконтроллера с “испорченными” FUSE битами

Интерфейс TPI (Tiny Programming Interface) используется для программирования low-end микроконтроллеров Atmel серий ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny20, ATtiny40.

TPI по сути обычный USART с двунаправленной линией данных (TPIDATA), тактовым сигналом (TPICLK) и линией сброса (RESET). Подробнее об этом интерфейса можно почитать в атмеловском документе AVR918.

Также для этого документа доступны исходные коды прошивки программатора TPI на основе микроконтроллера ATmega324P.

Про интерфейс PDI можно почитать в атмеловском документе AVR1612.

Схема программатора

Высокая скорость работы обеспечивается использованием микроконтроллеры AT90USB162 с аппаратной поддержкой USB. Кроме микроконтроллера на плате программатора имеется двунаправленный преобразователь уровня напряжения GTL2003, LDO-стабилизатор (MCP1825S-3302ED) на 3.3В, джампер для выбора напряжения питания программируемого МК (3.3В/5В) и пара светодиодов-индикаторов режима работы.

Схема показана на рисунке:

Сборка и прошивка

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

Тут надо ставить LF33, либо MCP1825S-3302ED, либо другой, совместимый по выводам.

Также не стоит пытаться заменять преобразователь уровней GTL2003 на более распространённый и дешёвый MAX2003 – с последним будет работать плохо и нестабильно.

Светодиод LED1 можно поставить зелёного цвета свечения – он сигнализирует о подаче питания, LED2 горит при активности устройства (т.е., при чтении/записи в МК), тут более уместен, например, красный цвет свечения.

Плата в сборе выглядит так:

Микроконтроллеры AT90usb162 хороши тем, что для их программирования не нужен программатор, т.к. они поставляются с уже прошимым bootloader-ом, и прошивку можно “залить” подключив устройство через USB порт. Но это (как правило) не относится к микросхемам, купленным в Китае. У последних bootloader традиционно отсутсвует.

Если вы оказались “счастливым” обладателем такого МК, то придётся прошивать загрузчик самостоятельно. Это можно сделать любым другим AVR-программатором (например, usbasp) временно подпаяв проводки MISO/MOSI/SCK/RESET и питание прямо к платке. Я для этих целей соорудил платку-адаптер под разъём TQFP-32. Прошивку загрузчика можно найти в сети, либо скачать по ссылке внизу этой статьи.

Также не помешает проверить FUSE-биты, они должны бать такие: HIGH = 0xD9, LOW = 0xDE

Когда загрузчик на месте, программатор можно подключать к USB и загружать в него прошивку. Для этого в интернетах обычно предлагают использовать утилиту FLIP, которая выложена на сайте Atmel, причём, разных версий и под разные ОС. Последняя верися 3.4.7 без встроенной явы не запустится на 64-битных ОС выдав ошибку о том, что Java-виртуальная машина не найдена (хотя ява стоит).

Аналогичная сборка со встроенной явой выдаст точно такую же ошибку. Чтобы выяснить причину такого безобразия, я расковырял файл flip.exe и обнаружил внутри его jar-файл (он расположен почти в самом начале экзешника, и легко ищется в hex-редакторе по сигнатуре 'PK' и последующему характерному заголовку jar-ки).

Вырезав и запустив этот jar, я получил ошибку JNI при загрузке динамических библиотек, которые оказались 32-битными. Вывод: дання утилита в принципе не будет работать в 64-битной Windows (причём, на сайте Atmel об этом ни слова не сказано). Ещё можно скачать старую версию FLIP 2.4.6, которая написана на чистой яве и прекрасно работает везде, в том числе и на 64-битных ОС.

Но эта версия не поддерживает AT90usb162. Итог – про FLIP лучше навсегда забыть.

Atmel Studio умеет прошивать AT90usb162 “из коробки”. Для этого идём в главное меню, Сервис -> Device Programming, или нажимаем Ctrl+Shift+P. В появившемся окне выбираем инструмент “Atmel Mega DFU” и микроконтроллер AT90USB162:

Теперь перейдя на вкладку Memories, можем читать и писать прошивку и фьюзы:

Прошивка программатора основана на проекте AVRISP-MKII из библиотеки LUFA с открытым исходным кодом. Пара слов о её конфигурировании:

Частота кварца может быть 8 МГц или 16 МГц и задаётся в файле Projects/AVRISP-MKII/makefile, параметр F_CPU, по умолчанию там 16 МГц.

В файле конфигурации Projects/AVRISP-MKII/Config/AppConfig.h помимо конфигурации выводов МК есть парочка интерсных параметров:

#define RESET_TOGGLES_LIBUSB_COMPAT
// #define FIRMWARE_VERSION_MINOR 0x11

Первый параметр включает возможность быстрого переключения между режимами Jungo (который для Avr/Atmel Studio) и LibUSB (для avrdude) драйвером в одной прошивке.

Для переключения режимов достаточно замкнуть джампер сброса (RST), после чего в системе появится отдельное устройство с другим серийным номером. При этом программатор моргнёт светодиодами два раза, если находится в режиме Jungo и четыре раза, если включен режим LibUSB.

В обоих случаях потребуется установка соответствующих драйверов (это касается Windows, в Linux и MacOS libusb установлен “из коробки”). Кстати, программатор запоминает последний выбранный режим, и после повторного подключения он стартует именно в нём.

А ещё он запоминает последнюю используемую частоту SCK. И всё это включается параметром RESET_TOGGLES_LIBUSB_COMPAT. По умолчанию этот параметр включен.

Иногда после выхода очередного обновления для AtmelStudio возникали проблемы – программатор переставал поддерживаться, т.к. его версия оказывается ниже требуемой. В этом случае надо раскомментировать параметр FIRMWARE_VERSION_MINOR и указать в нём версию прошивки.

Например, у меня AtmelStudio 7 захотела прошивку версии не ниже 1.18, вместо обнаруженной 1.14. После раскомментирования параметра FIRMWARE_VERSION_MINOR и установки его в 0x18 проблема была решена.

На всякий случай, я увеличил его (с запасом) до 0x30, скомпилированную прошивку можно скачать в конце статьи.

Корпус

Корпус я решил распечатать на 3d-принтере, для чего была спроектирована моделька. Т.к.

для программирования через ISP-разъём обычно используются 10-проводные шлейфы, то для удобства работы решено было добавить ещё 10-пиновый ISP-разъём. Последний вынесен на заднюю стенку корпуса.

Сам корпус состоит из двух половинок, которые склеиваются между собой. Под джамперы, светодиоды и разъёмы программатора (и подписи к ним) сделаны окошки.

Вот так выглядит получившаяся 3d-моделька:

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

Корпус я печатал из ABS-пластика. Для придания ему большего эстетизма, корпус был отшлифован и обработан в ацетоновой бане. Т.к. под рукой не было мелкой наждачки, шлифовал лезвием обычного канцелярского ножа, располагаемым перпендикулярно обрабатываемой поверхности. После того, как поверхность распечатки стала более-менее ровной, детали были помещены на 30 минут в ёмкость с парами ацетона.

Вот как выглядел корпус до (снизу на фото) и после (сверху на фото) постобработки:

Плата в корпусе:

Для 10-пинового разъёма был вырезан небольшой кусок макетной платы (из стеклотекстолита) чтобы предотвратить продавливание контактов в будущем.

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

В завершении две половинки корпуса склеивались между собой.

Работа с программатором

При использовании avrdude надо в командной строке задать тип программатора так: -c avrisp2 -P usb или так -c avrispmkII -P usb.

При работе с AtmelStudio сначала необходимо установить драйвера. После первого включении программатора в USB-порт чего драйвера должны установиться автоматически. Если этого не произошло, то надо вручную указать каталог, в который установлена AtmelStudio. Устройство успешно работает как с AvrStudio4, так и с AtmelStudio6, как в 32-битный, так и в 64-битных версиях Windows.

Не знаю, на счёт более ранних версий, но AtmelStudio7 точно умеер работать с libusb-драйвером. Таким образом, можно смело переводить программатор в режим libusb (замыканием джампера RST так, чтобы после перезапуска оба светодиода моргнули два раза одновременно) и забыть про режимы.

Драйверы LibUSB под Windows проще всего установить автоматическим установлятором драйверов Zadig. Под Linux и MacOS ничего устанавливать не продётся. После скачивания Zadig в меню Options включаем “List All Devices”. После чего из списка устройств выбираем “AVRISP mkII” (сначала надо перевести программатор в режим libusb). Осталось нажать кнопку для смены текущий драйвера на libusb-win32.

Если в будущем возникнет необходимость обновить прошивку MkII, то сначала замыкается джампер HWB, затем RST, после чего устройство определяется студией как “Atmel Mega DFU”.

Скомпилированная прошивка
Файлы модели корпуса (STL)
Исходники, прошивка, схема и плата
Bootloader для AT90USB162

Источник: http://trolsoft.ru/ru/articles/usbtiny-mkII-slim

Миниатюрный программатор USBTiny-MkII SLIM. Часть 1 – Схема

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

10-08-2011

Журнал РАДИОЛОЦМАН, август 2011

Paweł Kisielewski

Миниатюрный USB программатор микроконтроллеров AVR с поддержкой нескольких интерфейсов программирования и высокой скоростью работы

USBTiny-MkII SLIM – программатор клон AVRISP-MKII, поддерживающий все микроконтроллеры семейства Attiny, Atmega и Xmega. Программатор имеет три интерфейса программирования: ISP (внутрисистемное программирование), PDI (интерфейс программирования и отладки) и TPI (Tiny Programming Interface. Используется для программирования Low-end микроконтроллеров Atmel серий ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny20, ATtiny40). Подключается непосредственно к интерфейсу USB, что позволяет просто и быстро обновлять прошивку программатора. Программатор поддерживает работу в среде AVR Studio, работает с утилитой AvrDude.

За основу конструкции программатора взят проект LUFA (Lightweight USB Framework for AVRs), представляющий собой завершенный USB стек с открытым исходным кодом для микроконтроллеров Atmel AVR со встроенным USB интерфейсом AT90USBxxxx и ATMEGAxxUx, а также конструкции USBTiny-MKII и USBTiny MKII PL. Сердцем программатора является микроконтроллер AT90USB162, что предоставляет высокую скорость программирования.

В отличие от представленных конструкций, в которых для конвертирования логических уровней интерфейсов применяется микросхема GTL2003, в нашем программаторе используется микросхема MAX3002 – 8- канальный транслятор уровней. Такая конструкция позволяет программировать целевые микроконтроллеры с напряжением питания меньше 5 В. Однако, в связи с этим, потребовалось внести изменения в ПО программатора.

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

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

На схеме видно, что кроме микроконтроллера AT90USB162 и микросхемы MAX3002, имеется регулятор напряжения 3.3 В, светодиоды статуса, конфигурационные перемычки и коннекторы интерфейсов программирования.

Регулятор напряжения с низким падением напряжения (LDO) MCP1825S-3302ED с выходным напряжением 3.3 В используется для питания целевого микроконтроллера (конечно, если целевой микроконтроллер имеет напряжение питания 3.3 В). Возможно использование любого другого регулятора напряжения, например LF33.

Перемычка (джампер) JP2 предназначен для выбора напряжения питания целевого микроконтроллера: при замыкнутых контактах 1 и 2 – напряжение питания целевого микроконтроллера 5 В, при замыкнутых контактах 2 и 3 – напряжение питания целевого микроконтроллера 3.3 В.

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

Следует отметить, что текущая версия программатора не позволяет программировать целевой микроконтроллер по интерфейсу ISP, если линии интерфейса подключены к какой-либо нагрузке на целевой плате (сопротивление более 22 кОм для подтягивающих к «+» питанию резисторов или сопротивление более 10 кОм для подтягивающих к «–» питания).

Джамперы HWB и RST используются для активизации внутреннего загрузчика микроконтроллера с целью обновления прошивки программатора по интерфейсу USB.

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

На изображении ниже видны контактные площадки, подключенные к свободным линиям ввода/вывода микроконтроллера, что позволяет пользователям использовать их при разработке различного рода USB приложений.

Вид печатной платы программатора

В следующей части статьи мы рассмотрим процесс прошивки микроконтроллера программатора и работу с программатором в среде AVR Studio и AVRDude.

Загрузки

Принципиальная схема и рисунок печатной платы (Eagle 5.10, PDF), две версии HEX файла для прошивки микроконтроллера, исходный код (WinAVR версия 110528)– скачать

Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
  • Я пользуюсь ponyprog, его возможностей мне хватает, но у меня есть ноут с COM портом и стационарный комп с COM портом. Обычно на материнках COM порт есть, точнее разъем, к которому подключается планка с коннектором COM порта (DB9 или как-то так). И как вараинт предложенный выше, использовать плату в PCI разъем. Для ноутов можно посмотреть вариант адаптера COM порта в PCMCI слот.
  • Секундочку (че-то я стормозил…). Вы хотите собрать этот программатор, так ведь? А зачем тогда внешний программатор? Микроконтроллер программатора AT90USB162… маркировка Вам ни о чем не говорит? Это микроконтроллер со встроенным USB интерфейсом и программируется он по нему. Для этого используется специальная программка от Atmel, по-моему Flip… Короче, почитайте вторую часть описания схемы… 🙂 http://www.rlocman.ru/shem/schematics.html?di=107209
  • Господа!!!! а вы не пользовались USB-COM портом? по летав по сети ношёл множество разных ЗА И ПРОТИВ. скажу честно я заказал этот порт, надо преобщаться к лучшему. если кто сталкивался с работой таких портов и программаторов поделитесь опытом. мне сейчас очень надо. на работе проблеммы. директор не пробиваемый у меня. верит только в то что увидит своими глазами. спорить с ним без полезно, т.к. при споре со стеной .стена оказывается виноватой. ” кто с такими людьми встечался тот поймёт”. а мне и шаговик проверить, и сигналку перепрошить,это надо. да и оборудования сейчас много такого у которого крыша едет после того как с него упаковку сняли.
  • Разработчик программатора никогда не будет распространяться о недостатках. Они, как всегда, выползут в самый неприятный момент. Если собираетесь писать программы и в по должности разработчик, то рекомендую пользоваться только фирменным оборудованием. USB-COM создан для начинающих, у которых есть старое железо с COM-портом и на новое денег нет. Подобное устройство (переходник USB-COM) уже устроило мне несколько неприятных обстоятельств. Но при разработке слышал столько разговоров о дешевизне, простоте, доступности и моей собственной придирчивости. Он имеет следующие недостатки: 1. Ограничена скорость передачи. 2. Не будет иметь дальнейшего развития и через 2-3 года придёться покупать что-то другое. Это устаревшая ветвь технологии. 3. Аналогичный фирменный программатор имеет функцию отладки и программирования по одному проводу. Это уже настоящее там и дело ближайшего будущего здесь. Вы сами себе создаёте обстоятельства, при которых вы будете иметь проблемы при любом начальнике. С вашим начальником очень просто вести работу – по ГОСТ-у. Вы писали про работу по программированию, но как вы её ведёте? Техническое задание (ТЗ) разрабатываете? Если нет, то на эту тему можно пообщаться. Сейчас я занимаюсь подобной работой и без бумаги ни одного шага. Начальник не спорит и верит. Всё подробно и понятно. По ТЗ сразу можно расчитать трудоёмкость работы и обосновать смету расходов. Это для вас будет главным стимулом и гарантией, что вас или вы кого-нибудь не поставят в безвыходную ситуацию.
  • У котов данная тема уже давно получила развитие: http://radiokot.ru/forum/viewtopic.php?f=20&t=26417
  • PonyProg будет работать только с внешним БП, не всегда удобно.
  • это всё понятно и очень корректно изложено. но у нас в” деревне городского типа” начальники часто показывают на ту дверь в которую вошёл. надеюсь всем понятно что я имею сказать под этим выражением. а честно говоря я сам давно подумываю об этом. свинтить от туда. ну по делу. я сам хочю разобраться с устройством и особенностями этой технологии.раньше мы тупо ездили в москву и покупали зашитые.хочется по подробней вникнуть в эту тему.с коллегой разговаривал и он мне сказал что из платы не выпаивает а просто подпаивается к ногам схемы и подаёт питание. и все блага.на рабочем устройстве проверять стрёмно а самому что-то собрать,тема не совсем ещё ясна.ГОСПОДА!!!!!!!!!! Я ТАКИ ЗАКАЗАЛ USB-COM ПОРТ ПЕРЕХОДНИК. ХОЧЮ ПО КАЛДОВАТЬ.ПОДКИНЬТЕ КТО СМОЖЕТ СХЕМОК ПРОГРАММАТОРОВ ДЛЯ COM ПОРТОВ. ЗАРАНЕЕ ВСЕХ БЛАГОДАРЮ ЗА ТО ЧТО ОТОЗВАЛИСЬ НА КРИК О ПОМОЩИ!!!!
  • http://bascom.at.ua/publ/zif_avr_3_v…ttoss/1-1-0-68 Я собрал себе вот этот программатор, пока меня устраивает.
  • Еще ни разу при програмировании Atmel PonyProg не пользовался внешним БП, все от COM порта Собираюсь и себе сделат этот, ищу комплектацию.
  • А если использовать вместо MAX3002 или GTL2003 вот эти 74LVC8T245 или 8шт 74LVC1T45. Нет у нас ни MAX3002 ни GTL2003.
  • из самых простых и на USB, СОМ отмирает да и не все программаторы поддерживают USB-COM http://www.getchip.net/posts/056-usb…legko-usbtiny/ http://www.ladyada.net/make/usbtinyisp/download.html http://www.ladyada.net/make/usbtinyisp/index.html
  • Ponyprog с переходником USB-COM не работает. Где-то на monitor.net есть материалы по этому поводу. Программатор, который собирал для AT89C51 с переходником работает,там используются только RX/TX. В поньке используются и остальные сигналы COM порта.
  • http://www.getchip.net/posts/040-uar…reobrazovatel/ Вот держи и с остальными COM сигналами.
  • Да, набор-конструктор не помешал бы, с комплектующими проблема 😡
  • в конструкторе идёт полная комплектация. у нас только одно но. купят за пять рублей и вчюхают нам за пять штук. радости мало.
  • Думаю нужная вещь.
  • Вот еще http://avrdevices.ru/analog_avrisp_mkii_v20/
  • всем огромное спасибо.кого по благодарил отдельно ОГРОМНОЕ СПАСИБО ОТДЕЛЬНО.ДУМАЕТСЯ ТЕМА РЕШЕНА!!!!!!!!!!!!!!
  • Какой предохранитель используется в этой схеме (F1)?
  • Я так думаю это smd предохранитель 500 мА
Полный вариант обсуждения »

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

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

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

О всяком… – avr usbtiny isp на tiny2313

Статья посвящена простому и относительно дешевому программатору для AVR микроконтролёров фирмы Atmel. Это очень старая разработка, которой уже больше 15 лет. Авторский вариант можно найти на adafruit.com. 

Этот программатор был первым работающим программатором, который мне удалось собрать. После первой неудачи с ucGoZilla я решил попрактиковаться на чём-то по проще. И вот на сайте getchip.

который я тогда регулярно почитывал, да и сейчас с удовольствием захожу, я нашел статью о простом USB-программаторе.  Статья ещё 2010 года, но её до сих пор читают и комментируют. что не может не радовать.

Уже с этого сайта я перешел на авторский, где и нашел полную схему. решил собирать второю версию с буферной микросхемой 74HC125.

Схема с авторского сайта

Собственно распечатав ее на бумаге я в простом редакторе SprintLayout сделал разводку платы. До сих пор удивительно насколько маленьким получился тогда программатор :). конечно посидев и подумав можно ещё ужать размеры платы, но это уже несущественно. К сожалению файл с разведенной схемой потерян.:(. Разве что сделать его повторно, но… есть ли смысл?

Вид сверху

Вид снизу. На фото хорошо видно, что одна из дорожек была повреждена при ЛУТ и последующем травлении и её пришлось замещать. Впаивал обрезок от выводного элемента. Скорее всего резистора, но не помню точно, хотя это конечно не важно. Получилось немного коряво, но… работает же 🙂

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

Плату делал ЛУТ при помощи фотобумаги с плотностью 200.

Сейчас я уже отошел от ЛУТ практически полностью перейдя на фоторезист, но если по какой-то причине придется вернуться, то стоит наверно попробовать использовать листы из глянцевых журналов, – о чём пишет наверное половина авторов статей.

Это связано с тем, что фотобумага конечно хорошо передает разводку, но если между дорожками расстояние 0,3 мм и меньше, то вымыть попадающую при горячем переносе клеенную бумагу довольно сложно из-за чего возникают локальные “непротравы”.

 Для широких (0,3 мм и более) дорожек и таких же широких зазоров это не очень существенно, но при переходе к 0,2/0,24 уже весьма вероятны практически невидимые невооруженным глазов паразитные перемычки, вызывающие или короткое замыкание в цепи, или неверную работу логики. при электрическом соединении 

Отдельный вопрос это программирование SOIC. Я не нашел ничего умнее, чем использовать готовую миниплату для SOIC-20, а так как она короче по количеству выводов, то  припаивать проводки к висящим ножкам микроконтроллёра прямо “по воздуху”. Но всё закончилось удачно 🙂

Отдельная тема, правда напрямую не связанная с этим программатором, – это установка драйверов в Windows 7. Для этой версии автор не делал обновлений и пришлось потрудиться, так как при стандартном способе установки “из папки” Win7 имеющиеся дайвера не признаёт за таковые. Нужно насильственно их заставить принять.

После подключения устройства к компьютеру Windows 7 сообщает, что обнаружено новое устройство, но естественно установить драйвер не может.

Скачиваем с авторского сайта драйвер для Windows. Разархивируем архив.Через правую кнопку мышки входим в свойства неопознанного устройства USBTiny и обновлям драйвер. В появившемся диалоговом окне указываем, что устанавливаем драйвер из указанного места. 

Нажимаем “Установить” и ждем пока установиться новый драйвер.

Как настроить ARVDude можно посмотреть также на сайте автора. Впрочем, последняя версия этой программы понимает USBTiny без дополнительных настроек. В качестве графической оболочки для AVR Dude традиционный SinaProg. О том, как работать со связкой USBTiny + AVRDude + SinaProg можно прочесть на getchip.net хотя статья и не очень свежая.

Ссылки по теме:

Источник: http://ovsjakom.info/index.php/stati/mikrokonrolljory/programmatory/avr/28-avr-usbtiny-isp-na-tiny2313

USBTiny программатор AVR на основе ATTiny2313

Источник: http://easymcu.ucoz.ru/publ/4-1-0-8

Программатор для начинающих

Источник: http://radioskot.ru/publ/nachinajushhim/programmator_dlja_nachinajushhikh/22-1-0-897

USBTinyISP или опять программатор

Внутрисхемный программатор для микросхем AVR – вещь в радиовредительском хозяйстве необходимая.

В интернетах полно схем – от просто набора проводков, цепляющихся на LPT-порт, до сложных устройств, поддерживающих High Voltage Programming, на случай, если контроллер ушел в состояние, не совместимое с жизнью (ошибка в fuses, прочее).Приведенная выше схема датируется 2010 годом, в нее внесены некоторые изменения (как и в прошивку).

Оригинал схемы находится тут

К несчастью, в опубликованной документации найдены некоторые ошибки – а именно – сигналы MOSI и MISO перепутаны местами, а также к 5 вольтам подтянута линия D+, а не D-. В этом случае устройство будет пытаться определиться, как high-speed, что не соответствует действительности.

Также в схему введены дополнительные токоограничивающие резисторы на 1К на сигнальные линии. В крайнем случае их можно запросто закоротить.

В прошивку же внесены следующие изменения – стек V-USB заменен на “последний с сайта”. Это должно добавить стабильности в работе.

Проект перенесен на GITHUB

Настройки fuse bits

  • lfuse:0xe1
  • hfuse:0x5d
  • efuse:0xff

Внимание! После установки fuse-битов контроллер ATtiny45 перестанет реагировать на reset, и его больше нельзя будет перепрошить с помощью ISP-программатора. Так что лучше все десять раз проверить в процессе.

Worklog

Вначале печатаем “зеркальную” схему из Eagle на лазерном принтере. Причем чем старее принтер – тем лучше. Новые очень экономно расходуют тонер, что не способствует качественным “переводным картинкам”. В качестве бумаги используем тонкую фотобумагу Lomond.

Теперь переводим с помощью утюга рисунок на медь.

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

  • 100 грамм 3% раствора перекиси водорода (аптека)
  • 30 грамм лимонной кислоты (бакалейный магазин)
  • Соль нужно добавлять до тех пор, пока она не перестанет растворяться

Добавить к этому нечего, разве что перекись можно заменить гидроперитом в таблетках (6 штук на 100 грамм воды) а сам раствор дает наилучшие результаты при небольшом нагреве. Можно использовать водяную баню, или, как на картинке ниже – обогреватель для кружки. Помимо этого при травлении использовался еще аквариумный компрессор, чтобы раствор не взбалтывать постоянно.

Травление идет какое-то очень небольшое время и вот результат.

Остальное – дело техники.

Проверям.

$ avrdude -p m8 -c usbtiny avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e9307 avrdude: safemode: Fuses OK avrdude done. Thank you.

Вроде работает. К недостаткам можно отнести сравнительно медленную скорость работы, но по соотношению цена-качество – пока что равных ему нет.

Источник: http://znoxx.me/2013/03/10/usbtinyisp_ili_opyat__programmator/

AVR USB программатор на FT232

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

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

Это всеми любимый USBASP, USBTINY, AVR910USB, клоны JTAGICE и AVRISP MKII и т.д. Все эти программаторы содержат микроконтроллер, поэтому для их сборки, уже требуется иметь какой-нибудь AVR программатор.

Исключение составляют программаторы на микроконтроллерах AT90USB, так как они имеет в своем составе загрузчик и могут напрямую программироваться по USB. 

   USB программатор на FT232 лишен этого недостатка, правильно собранное устройство сразу же готово к работе. Кроме того этот программатор довольно шустрый (процесс прошивки занимает единицы секунд), построен из доступных компонентов, достаточно простой в сборке и имеет несколько управляющих программных оболочек. Это классическая консольная AVRDude, а также несколько вариантов оконных программ в виде надстройки над ней, например SinaProg.   Схема общедоступна на просторах интернета, я только внес пару личных правок и развел свой вариант печатной платы. Мой первоначальный вариант не предполагал подачу питания на 2-ой вывод разъема программирования, но когда я писал этот материал, я решил исправить разводку. Поэтому фотография платы, приведенная выше, немного отличается от того, что вы можете видеть в pcb файле для Eagle.

   Программатор запитывается от USB порта. Уровни выходных сигналов программатора с помощью джампера JP1 могут быть заданы или 5-ти вольтовыми, или 3-ех вольтовыми.    Напряжение питания программатора может быть подано через разъем X2 на программируемую плату, для чего нужно замкнуть джампер JP2.

   Следует иметь ввиду, что при 5-ти вольтовом питании напряжение подается с USB порта. И максимально ток, который можно получить с программатора, ограничен величиной 500 мА. Однако для такого тока микросхему FT232 нужно настроить с помощью утилиты FT Prog.

   При 3-ех вольтовом питании напряжение берется с выхода внутреннего стабилизатора микросхемы FT232, максимальный ток которого равен порядка 50 мА.    Для предотвращения подачи питания на USB порт от внешнего устройства на программаторе установлен диод Шоттки (у них маленькое падение напряжения в прямом направлении).

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

   Также программатор можно использовать как USB-UART преобразователь. Для этого на разъем Х2 выведены сигналы RXD, TXD и подключены светодиоды LED2, LED3. Они вспыхивают, когда происходит передача данных.

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

   На контактную площадку JP можно вывести тактовый сигнал. Для этого требуется конфигурирование FT232 с помощью утилиты FT Prog.

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

AVR USB программатор на FT232

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

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

Это всеми любимыйUSBASP, USBTINY, AVR910USB, клоны JTAGICE и AVRISP MKII и т.д. Все эти программаторы содержат микроконтроллер, поэтому для их сборки, уже требуется иметь какой-нибудь AVR программатор.

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

Кроме того этот программатор довольно шустрый (процесс прошивки занимает единицы секунд), построен из доступных компонентов, достаточно простой в сборке и имеет несколько управляющих программных оболочек. Это классическая консольная AVRDude, а также несколько вариантов оконных программ в виде надстройки над ней, например SinaProg.
 

Схема AVR USB программатора на FT232

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

Мой первоначальный вариант не предполагал подачу питания на 2-ой вывод разъема программирования, но когда я писал этот материал, я решил исправить разводку.

Поэтому фотография платы, приведенная выше, немного отличается от того, что вы можете видеть в pcb файле для Eagle.
 

   Программатор запитывается от USB порта. Уровни выходных сигналов программатора с помощью джампера JP1 могут быть заданы или 5-ти вольтовыми, или 3-ех вольтовыми.     Напряжение питания программатора может быть подано через разъем X2 на программируемую плату, для чего нужно замкнуть джампер JP2.

     Следует иметь ввиду, что при 5-ти вольтовом питании напряжение подается с USB порта. И максимально ток, который можно получить с программатора, ограничен величиной 500 мА. Однако для такого тока микросхему FT232 нужно настроить с помощью утилиты FT Prog.

     При 3-ех вольтовом питании напряжение берется с выхода внутреннего стабилизатора микросхемы FT232, максимальный ток которого равен порядка 50 мА.     Для предотвращения подачи питания на USB порт от внешнего устройства на программаторе установлен диод Шоттки (у них маленькое падение напряжения в прямом направлении).

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

   Также программатор можно использовать как USB-UART преобразователь. Для этого на разъем Х2 выведены сигналы RXD, TXD и подключены светодиоды LED2, LED3. Они вспыхивают, когда происходит передача данных. 

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

   На контактную площадку JP можно вывести тактовый сигнал. Для этого требуется конфигурирование FT232 с помощью утилиты FT Prog.

Как пользоваться программатором

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

 
   Если на вашем компьютере уже установлены драйвера для FT232, компьютер “опознает” программатор как USB-UART преобразователь, если нет, предложит их установить. Драйвера можно скачать на сайте производителя микросхемы FT232 – ftdi.

com    С этим программатором я предпочитаю использовать оболочку SinaProg, потому что она простая и удобная. Скачать SinaProg можно по ссылке в конце статьи.     Подключаем программатор к USB порту и к целевой плате. Запускаем SinaProg, устанавливаем скорость обмена с программатором.

Нажимаем кнопку Search. Программа выдаст диагностическое сообщение “Searching.. OK”, а в окошке Device отобразиться ваш тип микроконтроллера. 

       Выбираем hex файл прошивки, нажимаем Program. Начнется процесс программирования, по окончании которого, программа выдаст сообщение “Programming Flash … OK”.    Также SinaProg позволяет программировать Fuse биты микроконтроллеров AVR. Частоту внутреннего генератора можно выбрать из выпадающего списка в рамке Fuse.

Программа сама установит нужные fuse биты, а вам останется только нажать кнопку Program. Правда эта опция доступна только для нескольких микроконтроллеров, остальные микроконтроллеры нужно ручками прописывать в текстовом файле fuse.txt, который расположен в папке SinaProg.

  Полноценное программирование fuse битов можно произвести в окошке, которое открывается при нажатии на кнопку Advanced. 

   Консоль, на которую SinaProg выдает более подробную диагностическую информацию открывается при нажатии на кнопку “>”. Я всегда держу ее открытой, чтобы видеть, что происходит с программатором.

Файлы

USB-AVR-Programmator.rar  – печатная плата для Eagle CadSoft
SinaProg.rar 

Источник: http://cxema.my1.ru/publ/skhemy_ustrojstv_na_mikrokontrollerakh/programmatory/avr_usb_programmator_na_ft232/36-1-0-6037

Ссылка на основную публикацию
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()}
Ну вот и пришло время нам соорудить USB программатор. Я долго не мог определиться какой бы программатор нам собрать. Выбирал по критериям простоты конструкции и удобства работы с ними, но ничего не нравилось. Выбрать программатор помог случай.

Вернее я его не выбирал вообще – я его случайно собрал сам того не подозревая!А дело было так. Некоторое количество постов назад мы собрали преобразователь USB to UART на ATtiny2313 (а в прошлой статье мы даже улучшили печатную плату).

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

Увидев схему USB программатора – USBtiny на ATtiny2313 я понял, что я уже имею готовый программатор!

Посмотрев на схему, сделанного ранее, преобразователя USB to UART (домашняя страничка

)

и схему USB программатора USBTiny

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

Теперь все по порядку.

1 Для начала нужно собрать преобразователь (это если Вы его еще не собрали).
Вот рисунок печатной платы преобразователя:
T2313-SMD-2 v2.

0 – Рисунок печатной платы UART-USB на ATtiny2313
Для того, чтобы обеспечить все необходимые сигналы для программирования впаиваем защитные резисторы номиналом по 100 Ом в линии ножек 12, 16, 17, 18, 19 (номинал не критичен – можно варьировать).

2 Теперь нужно прошить микроконтроллер. Линии для программатора выведены на общий разъем платы (кроме сброса – стоит отдельно).

usbtinyisp-T2313.hex v1.04 – Прошивка USBtiny программатора для ATtiny2313
T2313-FuseBit – Фьюз-биты ATtiny2313 для USBtiny Для Algorithm Builder и UniProf галочки ставятся как на картинке. Для PonyProg, AVR Studio, SinaProg галочки ставяться инверсно.

3 Далее нам нужен шлейф для того, чтобы соединить программируемое устройство с нашим программатором. Все линии, необходимые для программирования находятся на одном разъеме.

Схема шлейфа проста.

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

Кроме того, линия Vcc отделена от общего разъема – это на случай если программируемое устройство запитывается не от USB, а от своего источника (что, в принципе, желательно). Сигнальные линии (SCK, MISO, MOSI) желательно экранировать (например чередованием сигнальных и земляных линий в шлейфе). Длину шлейфа не стоит делать большой – до 50 см, не больше.

Если нужно программировать удаленное устройство всегда можно применить USB удлинитель – так надежней. Вот мой готовый шнурок:

4 Сам программатор готов, теперь нужно установить драйвер для того, чтобы Винда смогла с ним работать (для Mac OS X & Linux, вродь-как, драйвера вообще не нужно). Тут все просто:4.1 Скачиваем драйвер, разархивируем его.

usbtinyisp w32 driver v1.12 – Win драйвер для USBtiny программатора

Если у Вас Винда 64 битная, Vista или Windows 7 нужно установить другой драйвер:

usbtinyisp_libusb-win32_1.2.1.0.zip – Драйвер USBtiny для х64, Vista или Windows 7

4.2 Вставляем наш программатор в USB порт.

4.3 В трее появится сообщение о том, что найдено новое устройство.

4.4 Запустится мастер нового оборудования

4.5 Указываем в окошке «место поиска» папку с драйвером.

4.6 Пройдет процесс установки драйвера. Появится окошко сообщающее о том, что драйвер установлен. Чтобы проверить, что мы там наустанавливали – заходим в «Мой компьютер/Свойства/Оборудование/Диспетчер устройств» и находим там наш программатор

Винда увидела новое устройство и готова с ним работать.USBtiny программатор поддерживается AVRDude, а это значит, что многие среды программирования будут с ним работать без проблем.

Еще одним достоинством работы с AVRDude является то, что для работы с AVRDude существует множество оболочек GUI из которых можно выбрать подходящую именно для Вас (но об этом в следующей статье).ДОПОЛНЕНИЯ.
1 Дмитрий Шпак сделал довольно удачную разводку программатора.

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

USBtiny.lay – Разводка USBtiny от Дмитрия Шпака

2 Еще один вариант разводки от Андрея Баранова (Andru_48)

USBtiny.lay – Разводка USBtiny от Андрея Баранова 

3 Вариант от mebadboy

Доброе время суток.Новую печатку я не собирал. Я просто исправил старую – Дмитрий Шпак . Там минимум исправлений – одну дорожку перерезать, кинуть проводок, впаять резистор и диод впаять в другое место.

USB-tiny-mebadboy – Печатка USBtiny от mebadboy

Вот лог dmesg при подключении под linux:usb 4-2: new low speed USB device using uhci_hcd and address 2usb 4-2: New USB device found, idVendor=1781, idProduct=0c9fusb 4-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0

usb 4-2: Product: USBtiny

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

Схема программатора

   Как видно из схемы, тут нет кварцевого резонатора – это фишка схемы. Я сделал не очень компактный программатор, при желании можно уменьшить, а если есть двухсторонний текстолит, то можно запихнуть в USB, так что будет совсем незаметно. А сейчас небольшая фотосессия. Но сначала разводка USB:

   Забыл сказать, что сначала не надо запрограммировать RSTDSBL, а запрограммировать CKSEL3, CKSEL2, CKSEL1 подключить к ПК, если компьютер нашел неизвестное устройство – это еще ничего не значит, должен установиться драйвер.

После того можно запрограммировать RSTDSBL, так как количество ног у микроконтроллера ограничено, кстати можно использовать ATtiny45 или ATtiny85, главное чтобы было 20su в смд или 20pu в дип – например АTtіny45 20su в магазине не было ATtiny45, зато был ATtiny85 20su.

Его запрограммировал так же как и ATtiny 45 и фюзы одинаковы, они отличаются только память flech.

Фюзы которые нужно запрограммировать CKSEL3, CKSEL2, CKSEL1, BODLEVEL0 (детектор пониженного напряжения на 1,8 В), RSTDSBL.

   Можно использовать любой разъем – там micro USB и тому подобное, я не мудрил, а взял штекер USB, снял шкуру, подпилил, припаял и получилось нечто такое, которое смахивает на обычную флешку. Подрезаем канцелярским ножиком, но осторожно, не порежетесь – лезвие очень острое.

   Вытаскиваем пластмасску с контактами, тоже очень осторожно.

   Возьмем и подпилим, чтобы был доступ жала паяльника до контактов USB, вверху уже лежит протравленная плата для USB программатора. Её травил в перекиси водорода + лимонная кислота. Он травит быстро.

   Лудил плату. Сплавом Розе я еще не разжился, поэтому лужу жалом паяльника, для лужения бросил камушек в растворитель канифоли, помешал, камень растворился, набрал в шприц (пропорции не помню), покрыл плату и лудится очень удобно. Припаиваем нашу пластмассу, только не путайте при пайке контакты, а то как я будете перепаивать, внизу на фото неправильно.

   Далее припаиваем резисторы и МК, здесь увидел ошибку и перепаял USB, соединение разрез должен быть на одной стороне с контроллером.

   Другую сторону – стабилитроны должны быть не больше чем 500 мА.

   Припаиваем шлейф кабель, желательно чтобы шлейф был экранированный, у меня кабель с кардридера использовал, брал провода которые экранированные – два оранжевых и экран = фольгу бросил на массу, фото без корпуса, надо сначала проверить на работоспособность, программа тора подключена ATtiny2313A зашилась скоро, я прошиваю на частоте 250 кГц, а фюзы на 2 кГц – так надежнее.

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

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

   И вот что получилось.

   Удачи всем в повторенные конструкции, а программатор avrdude USBtiny, также в архиве вы найдете драйвера прошивку разные печати платы сокращенно ПП на платах есть надпись KALYAN datasheet или сокращенное K.d – это из-за нехватки места, на ЧП вы можете быть уверены в качестве разводки печатной платы, всем удачи. С вами был KALAYN.SUPER.BOS

   Форум по МК