Сегодня расскажу, о недорогим и очень простом программаторе USBAsp v.2.0 для микроконтроллеров AVR (основанный на дизайне Томаса Фишла), с его помощью можно прошивать контроллеры AVR по интерфейсу ISP (не выпаивая его с платы), а самое главное, можно прошить загрузочный сектор на контроллерах Arduino.
Технические параметры► Напряжение питания: 5 В, DC
► Интерфейс: USB 2.0
► Программирование/ чтение: Atmel (AVR)
► Габариты: 70 мм x 18 мм x 10 мм
► Поддержка операционных систем: Windows XP / 7 / 8 / 8.1 / 10.
Программатор USBAsp распространяется и открытым исходным кодом, так что при желании можно изготовить самому, скачав печатную плату и прошивку с сайта Thomas, из-за этого в различных интернет магазинах существует различные варианты программатора с одинаковым функционалом. В моем случае буду рассказывать о USBAsp V2.0 китайского производителя LC Technelogy.
Программатор собран на синий печатной плате, слева расположен USB-разъем необходимый для подключения к компьютеру. В центре располагается контроллер ATmega8A, рядом установлен кварцевый резонатор на 12 МГц и электрическая обвязка (резисторы, конденсаторы). Справа расположен 10-контактный разъем (два ряда, по пять выводов, шагом 2.54 мм), обеспечивающий обмен данными с прошиваемым микроконтроллером (интерфейс ISP). В комплекте поставляется кабель, с каждой стороны которого, установлен разъем IDC (10 выводов), для простоты прошивки некоторых плат (например Arduino), советую приобрести адаптер-переходник с 10-pin на 6-pin. Назначение выводов программатора USBAsp можно посмотреть на рисунке ниже, вид на стороне программатора.
Назначение выводов:
► 1 – MOSI
► 2 – VCC
► 3, 8, 10 – GND
► 4 – TXD
► 5 – RESET
► 6 – RXD
► 7 – SCK
► 9 – MISO
Световая индикация
► Красный светодиод G — Включен
► Красный светодиод R — Обмен данными
Перемычки
► JP1 — POWER, управляет напряжением на разъеме ISP VCC (вывод 2), можно установить на + 3.3В, + 5В или вовсе убрать перемычку, если программируемое устройство, имеет собственный источник питания.
► JP2 — SERVICE, обновления прошивки USBasp.
► JP3 — SLOW, программирования на низких скоростях, если программируемое устройство, работает на частоте ниже 1.5 МГц, SCK (вывод 7) уменьшит частоту с 375 кГц до 8 кГц.
Принципиальная схема программатора USBAsp V2.0 можно посмотреть на рисунке ниже.
Список поддерживаемых AVR микроконтроллеров:
► Mega Series: ATmega8, ATmega8A, ATmega48, ATmega48A, ATmega48P, ATmega48PA, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega328, ATmega328P, ATmega103, ATmega128, ATmega128P, ATmega1280, ATmega1281, ATmega16, ATmega16A, ATmega161, ATmega162, ATmega163, ATmega164, ATmega164A, ATmega164P, ATmega164PA, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega2560, ATmega2561, ATmega32, ATmega32A, ATmega324, ATmega324A, ATmega324P, ATmega324PA, ATmega329, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega64, ATmega64A, ATmega640, ATmega644, ATmega644A, ATmega644P, ATmega644PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega8515, ATmega8535,
Подключаем программатор к USB порту на компьютере, если все нормально, на плате загорится красный светодиод. Далее операционная система начнет поиск драйвера
Так как, в операционной системе нету необходимого драйвера, в «Диспетчере устройств» появится устройство «USBAsp» с восклицательным знаком.
Скачиваем архив с цифровой подписью, разархивируем и запускаем «InstallDriver.exe»
Драйвер установлен, в «Диспетчере устройств» пропадет восклицательный знак с «USBAsp».
Установка драйвера на Windows XP и Windows 7 аналогичная, программатор готов к работе.
Программа для USBAsp V2.0Программу разработал «Боднар Сергей», работает не только с китайским программатором USBAsp v.2.0, но и другими программаторами. Первым делом скачиваем программу, разархивируем и запускаем «AVRDUDEPROG.exe».
В качестве примера, прошью китайскую плату Arduino UNO R3 в которой установлен микросхема ATmega328P. В программе, жмем на вкладку «Микроконтроллеры
Далее, необходимо выбрать прошивку, в строке «Flash» нажимаем «. . .», переходим в папку «C:\Program Files\Arduino\hardware\arduino\avr\bootloaders\atmega» и выбираем «ATmegaBOOT_168_atmega328.hex», жмем «Открыть»
Подключаем программатор к плате «Arduino UNO R3», и нажимаем кнопку «Программирование».
В конце, выйдет диалоговое окно, о удачном окончании программировании.
Ссылки
Скачать драйвер для программатора USBASP v2.0 (LC Technology, ATMEL)
Скачать программу AVRDUDE_PROG v.3.3
Купить на Aliexpress
Программатор USBASP v2.0 (LC Technology, ATMEL)
Адаптер для ATMEL AVRISP, USBASP, STK500 (10 pin на 6 pin)
Купить в Самаре и области
Программатор USBASP v2.0 (LC Technology, ATMEL)
Адаптер для ATMEL AVRISP, USBASP, STK500 (10 pin на 6 pin)
Общее расчетное время, необходимое для получения заказа, показано ниже:
Общее расчетное время доставки
Общее время доставки рассчитывается с момента размещения вашего заказа до момента его доставки. Общее время доставки разбито на время обработки и время доставки.
Время обработки: Время, необходимое для подготовки вашего(их) товара (ов) для отправки из нашего склада. Это включая подготовку ваших товаров, проверку качества и упаковку для отправки.
Время доставки: Время нужно вашему(им) товару(ам) для отправления из нашего склада в вашего назначения.
Рекомендуемые способы доставки для вашей страны/региона приведены ниже:
Доставка до: Отправка изЭтот склад не может быть отправлен к вам.
Метод(ы) доставки | Срока доставки | Информация о треке |
---|
Примечание:
(1) Время доставки, указанное выше, относится к расчетному времени рабочих дней, которое будет отправлена после отправки заказа.
(2) Рабочие дни не включают субботу/воскресенье и любые праздничные дни.
(3) Эти оценки основаны на нормальных обстоятельствах и не являются гарантией сроков доставки.
(4) Мы не несем ответственности за сбои или задержки в доставке в результате любого форс-мажорного события, такого как стихийное бедствие, непогоды, войны, таможенные вопросы и любые другие события, находящиеся вне нашего прямого контроля.
(5) Ускоренная доставка не может использоваться для адресов PO Box
расчетные налоги:предполагаемые налоги: может применяться налог на товары и услуги.
*В настоящее время мы предлагаем COD платежи для Саудовской Аравии, Объединенных Арабских Эмиратов, Кувейта, Омана, Бахрейна, Таиланда, Сингапура, Малайзии, Филиппин, Индонезии. Мы отправим код подтверждения на ваш мобильный телефон, чтобы подтвердить правильность ваших контактных данных. Пожалуйста, убедитесь, что вы следуете всем инструкциям, содержащимся в сообщении.
*Оплата с рассрочкой (кредитная карта) или Boleto Bancário доступна только для заказов с доставкой в Бразилии.
Общее расчетное время, необходимое для получения заказа, показано ниже:
Общее расчетное время доставки
Общее время доставки рассчитывается с момента размещения вашего заказа до момента его доставки. Общее время доставки разбито на время обработки и время доставки.
Время обработки: Время, необходимое для подготовки вашего(их) товара (ов) для отправки из нашего склада. Это включая подготовку ваших товаров, проверку качества и упаковку для отправки.
Время доставки: Время нужно вашему(им) товару(ам) для отправления из нашего склада в вашего назначения.
Рекомендуемые способы доставки для вашей страны/региона приведены ниже:
Доставка до: Отправка изЭтот склад не может быть отправлен к вам.
Метод(ы) доставки | Срока доставки | Информация о треке |
---|
Примечание:
(1) Время доставки, указанное выше, относится к расчетному времени рабочих дней, которое будет отправлена после отправки заказа.
(2) Рабочие дни не включают субботу/воскресенье и любые праздничные дни.
(3) Эти оценки основаны на нормальных обстоятельствах и не являются гарантией сроков доставки.
(4) Мы не несем ответственности за сбои или задержки в доставке в результате любого форс-мажорного события, такого как стихийное бедствие, непогоды, войны, таможенные вопросы и любые другие события, находящиеся вне нашего прямого контроля.
(5) Ускоренная доставка не может использоваться для адресов PO Box
расчетные налоги:предполагаемые налоги: может применяться налог на товары и услуги.
*В настоящее время мы предлагаем COD платежи для Саудовской Аравии, Объединенных Арабских Эмиратов, Кувейта, Омана, Бахрейна, Таиланда, Сингапура, Малайзии, Филиппин, Индонезии. Мы отправим код подтверждения на ваш мобильный телефон, чтобы подтвердить правильность ваших контактных данных. Пожалуйста, убедитесь, что вы следуете всем инструкциям, содержащимся в сообщении.
*Оплата с рассрочкой (кредитная карта) или Boleto Bancário доступна только для заказов с доставкой в Бразилии.
Коллеги.
Если коротко, то предыстория такая.
Рабочий контроллер Melzi_V3D прошили новой прошивкой, но он на 98% сбойнул похоже.
После этого дисплей принтера при попытке включения показывал только две горизонтальные полоски из прямоугольников.
Ком порт определялся, но ПО не прошивало контроллер.
Писалась ошибка
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude done.
Thank you.
Был куплен USB ISP программатор для прошивки контроллера через сервисный порт.
Однако я столкнулся со следующей проблемой.
1. программатор в системе определяется как «USB-устройство ввода» и как «HID-совместимое устройство». Оба :
USB\VID_03EB&PID_C8B4&REV_0100
ArdulinoIDE его не видит (или я не понимаю как его указать там… ей ком-порт нужен)
2. На просторах инета была найдена программа работающая с этим программатором. ProgISP (версия 1.72 от мая 2010 года)
Данная прога сразу нормально видит программатор как ZF-008 HV Programmer Ver:1.6
Теперь собственно затык.
1. Я вообще никогда не программировал контроллеры на этом уровне, поэтому нюансы не знаю совсем.
2. Я прошил контроллер прошивкой 100% работающей на этом контроллере. Проверено.
3. Ситуация поменялась. Теперь на дисплее прогружается полностью версия прошивки, затем высвечивается штатная информация о текущих параметрах механики и электроники (позиция по Z и данные терморезисторов).
Но!!!
а. Всё это прогружается НЕИМОВЕРНО МЕДЛЕННО.
б. Принтер не коннектится ни на прямую по ком-порту, ни через Репитер-Сервер (прошика репитер)
в. Если пытаться подключится через Репитер-Сервер, то принтер начинает циклически перезагружаться
г. попытки перепрошить штатным софтом по USB хвосту по прежнему оканчиваются шибкой
avrdude: stk500_getsync(): not in sync: resp=0x00
Хелп! Что то в настройках программы-прошивальщика похоже нужно менять, а что я просто не знаю, т.к. никогда не сталкивался с такой работой.
Программа, фотки программатора со снятым корпусом и фото контроллера можно посмотреть тут
https://yadi.sk/d/QqeBHLkSwShYyw?w=1
Список поддерживаемых 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.
USB ISP USB ASP ATMEGA8 ATMEGA128 — простой внутрисхемный USB-программатор для микроконтроллеров Atmel AVR. Программатор построен на микроконтроллере ATMega128 (или ATMega8). Может использоваться для восстановления Arduino, заливки кода в чипы. И других целей.
Может использоваться совместно с ISP AVR системная плата.
USB AVRISP XPII программатор AVR ISP PDI используется для программирования всех 8-разрядных микроконтроллеров с RISC-архитектурой серии AVR, которые имееют возможность внутрисхемного программирования (интерфейс ISP).
Также есть возможность программирования:
Внутрисхемный ISP программатор AVRISP XPII является полным аналогом программатора Atmel MKII.
Перед использованием программатора нужно установить на компьютер драйвера и программное обеспечение для работы с программатором. Драйвера и программное обеспечение поставляются на CD диске, который идет в комплекте поставки. Установочный файл находится в архиве AvrStudio418Setup.rar.
Программатор AVRISP XPII работает со средой разработки AVR Studio, начиная с версии 4.12 и более поздними версиями. Драйвер устанавливается вместе со средой разработки. Чем новее версия среды разработки, тем больше микроконтроллеров поддерживается программатором.
Программатор подключается к компьютеру с помощью кабеля USB тип A – USB тип B длиной 1 м. Программатор будет работать с USB по спецификации 1.1 на скорости 12 Мбит/с. Программатор может подключаться к USB портам со спецификацией 1.1, 2.0, 3.0. После подключения к компьютеру на плате программатора будет гореть красный светодиод индикации питания. После подключения программатора к компьютеру Ваша операционная система определит его как AVRISP mkII.
Каждый программатор USB AVRISP XPII имеет свой уникальный ID, что позволяет подключать к компьютеру несколько программаторов одновременно.
Программное обеспечение и драйвера работают с операционными системами Windows 2000/XP/2003/2008/Vista/7/8/8.1/10, как 32 разрядными, так и 64 разрядными.
В настройках программного обеспечения можно выбрать автоматический режим программирования, напряжение программирования 1,8 – 5,5 В, скорость программирования (частоту SCK) от 50 Гц до 8 МГц, байты сигнатуры, чтение/запись байта калибровки генератора, настроить виртуальный COM порт. USB AVRISP XPII не поддерживает программирование Flash или EEPROM на частоте ниже 2 кГц.
Для подключения программатора к ICSP разъемам и отладочным платам в комплекте поставки идет два кабеля: шлейф FC-10P – FC-10P – FC-6P длиной 220 мм и кабель BLS6 – 6 BLS1 длиной 85 мм. Первый пин на кабелях обозначен красным цветом.
После подключения программатора к к ICSP разъему и отладочной плате будет гореть зеленый светодиод индикации связи.
Распиновка коннектора FC-10P:
Распиновка коннектора FC-6P:
Распиновка кабеля BLS6 – 6 BLS1 идентична распиновке коннектора FC-6P.
В версии среды разработки AVR Studio 5 поддерживаются микроконтроллеры:
AVR Mega
AVR Tiny
AVR Xmega
В более новых версиях среды разработки AVR Studio поддерживаются больше микроконтроллеров.
На плате программатора есть ICSP разъем для внутрисхемного программирования микроконтроллера ATmega128A.
Питания программатора осуществляется от USB порта компьютера. Потребляемый ток составляет 200 мА.
Характеристики:
аналог программатора: Atmel MKII;
модель: AVRISP XPII;
микроконтроллер: ATmega128A;
поддерживаемые интерфейсы: ISP, PDI, TPI;
поддерживаемые микроконтроллеры: 8-разрядные с RISC-архитектурой серии AVR;
программирование памяти: Flash и EEPROM;
поддерживает программирование: Fuses и Lock Bit;
скорость программирования: до 8 МГц;
напряжение программирования: 1,8 – 5,5 В;
поддерживает USB: со спецификацией 1.1, 2.0, 3.0;
совместимые операционные системы: Windows 2000/XP/2003/2008/Vista/7/8/8.1/10, как 32-, так и 64-разрядные;
потребляемый ток: 200 мА;
габариты: 69 х 61 х 25 мм;
вес комплекта: 110 г.
Комплект поставки:
Руководство пользователя на английском языке.
Руководство пользователя на русском языке (перевод с сайта http://chip-nn.ru/).
Из макетной платы AVR-USB-MEGA16 буквально за полчаса можно самостоятельно изготовить популярный программатор USBasp (см. ссылки [2]).
Конструкция очень простая — коннектор U1 ISP макетной платы, который почти никогда не используется (благодаря наличию бутлоадера в памяти чипа ATmega32), можно использовать как коннектор для подключения внешней, программируемой платы. Все необходимые сигналы (MOSI, MISO, SCK, GND) уже выведены на разъем, осталось только завести сигнал сброса. Исходники оригинального программатора USBasp портировал на макетную плату AVR-USB-MEGA16 Орлов Александр.
Итак, процесс изготовления программатора по шагам.
[hardware USBasp]
1. Берем макетную плату AVR-USB-MEGA16, и отрезаем сигнал сброса, который приходит на ножку коннектора U1 ISP. Это нужно сделать в двух местах, с двух сторон платы, см. фото.
2. Затем нужно припаять два проводка МГТФ. Первый проводок должен подключить резистор R1 обратно к ножке 4 ~RESET микроконтроллера (т. к. мы его отрезали).
Второй проводок должен соединять внешний порт P10 макетной платы (порт PB2 микроконтроллера ATmega32, ножка 42) с отрезанным контактом 5 коннектора U1 ISP. Этим проводом мы будем подавать сигнал сброса на программируемую плату.
[Оболочка программатора Khazama AVR]
3. Надо скачать программу для управления программатором USBasp. Одна из программ (их написано несколько), которая может это делать под Windows, называется Khazama AVR. Эта же программа, кстати, используется для работы с бутлоадером макетной платы AVR-USB-MEGA16. Программа бесплатна, её можно скачать с сайта автора (см. ссылки [4], или скачайте архив [7]). Установка простая, никаких лишних вопросов не задает.
Примечание: в принципе программа Khazama 1.6.2 портабельна, т. е. она не требует установки, достаточно сделать копию папки уже установленной программы. Вы можете так и поступить, и скачать уже установленную программу вместе с драйвером в архиве [7]. Распакуйте из архива папку Khazama162 в любое место на диске (например, прямо в корень C: или в папку Program Files), создайте ярлычок для исполняемого файла Khazama AVR Programmer.exe, и установка на этом завершена.
[Прошивка firmware USBasp]
4. В архиве с исходниками есть скомпилированные прошивки на все частоты кварцев и возможные кристаллы (см. каталог HEX). У меня на плате AVR-USB-MEGA16 стоял микроконтроллер ATmegs32 и кварц на 12 МГц, поэтому я взял файл HEX\USBasp-MEGA32-12MHz.hex. Потом с помощью бутлоадера, прямо через USB записал этот файл в память микроконтроллера макетной платы (процедура использования бутлоадера подробно описана в [3]).
[Первое подключение программатора к компьютеру]
5. Подключаем запрограммированную макетную плату к компьютеру. Операционная система Windows увидит новое устройство USBasp, и сразу автоматически установит его — это устройство USB HID, драйвер не нужен. Однако для программы Khazama AVR для работы с устройством USB На библиотеке V-USB нужен драйвер фильтра. Для этого надо установить библиотеку Libusb, см. [5]. На момент написания статьи (март 2011) последний релиз библиотеки 1.2.2.0, качать и устанавливать надо libusb-win32-devel-filter-1.2.2.0.exe. После установки можно сразу запустить Wizard для установки фильтра (при этом запрограммированная макетная плата должна быть подключена по USB).
После установки фильтра программа Khazama AVR сможет работать с нашим программатором.
6. Нужно изготовить кабель ISP, через который программируемое устройство будет подключаться к нашему программатору. На фото пример такого кабеля для стандартной цоколевки ISP6. Примеры других стандартных цоколевок коннекторов ISP см. в [6].
Обращаю Ваше внимание, что через такой коннектор на программируемую плату будет подаваться питание +5 вольт от программатора, и программатор в такой конфигурации рассчитан на программирование устройств, микроконтроллер которых питается от 5 вольт. Если Ваш микроконтроллер питается от отдельного источника, то провод питания кабеля ISP нужно перерезать (во избежание конфликта по питанию из-за разности напряжений).
7. Теперь можно испытать программатор в работе. Подключаем ISP кабелем программируемую плату, затем подключаем программатор (запрограммированную макетную плату AVR-USB-MEGA16) по USB к компьютеру. Запускаем программу Khazama AVR. Выбираем из выпадающего списка нужный чип (который мы будем программировать). Загружаем прошивку, которую будем прошивать, и нажимаем кнопку Auto Program. Запустится процесс программирования.
На фото показан процесс программирования чипа AT90USB162 на другой макетной плате (AVR-USB162).
Можно прошивать и фьюзы (внимание, с фьюзами будьте осторожнее), однако для некоторых чипов программирование фьюзов не поддерживается.
[Ссылки]
1. Макетная плата AVR-USB-MEGA16.
2. USBasp — USB programmer for Atmel AVR controllers site:fischl.de — домашняя страничка программатора USBasp.
3. Как использовать бутлоадер макетной платы AVR-USB-MEGA16.
4. Khazama AVR Programmer site:khazama.com — оболочка программатора Khazama AVR.
5. LibUSB site:libusb.org — библиотека libusb.
6. Цоколевки коннекторов ISP.
7. 110303usb-mega16-to-usbasp.zip — исходный код и скомпилированные прошивки firmware для USBasp, собранного на макетной плате AVR-USB-MEGA16.
Просматривая онлайн-магазин подарков / интернет-магазин Banggood, я наткнулся на этого красивого маленького программатора AVR. И, как и большинство продуктов, которые вы найдете на Banggood, этот был до смешного дешев, доставлен. Поэтому я решил, что хочу такую. Не то чтобы у меня еще не было программатора AVR. У меня уже был старый оригинальный программатор Atmel, который подключается к старомодному последовательному порту. Просто пришло время для чего-то нового, чего-то современного, чего-то маленького, чего-то дешевого.
Я бы обычно не писал об этом обзоре, потому что здесь особо не о чем писать.
Он должен просто работать, и все.
Однако оказалось, что это не сработало.
Как и большинство вещей, которые вы покупаете на Banggood, это устройство не поставлялось с руководством пользователя, поэтому мне пришлось самостоятельно выяснить, как подключить это устройство к avrdude.
Мне действительно удалось выяснить, что я должен был сказать avrdude, что я использую программатор USBasp, но каким-то образом он все равно отказывался делать то, что должен был делать.
После некоторого поиска в Google я обнаружил, что прошивка в программаторе явно несовместима с каким-либо программным обеспечением, известным за пределами Китая.
Я перепрошил прошивку оригинальной прошивкой USBasp, что довольно легко сделать, если под рукой есть другой программатор AVR.
К сожалению, безрезультатно, но все равно не сработало.
Вот тогда я на какое-то время потерял к ней интерес.
Всего 4 евро потрачено впустую.
Какая разница.
Недавно снова нашла в ящике.
Почему я не могу заставить эту штуку работать?
Это не должно быть слишком сложно.И после еще нескольких поисков в Google я нашел веб-сайт, объясняющий, что с этой штукой не так.
Очевидно, схема не была полностью совместима с оригинальным дизайном.
Есть еще один дополнительный провод, соединяющий D- от порта USB с контактом ввода-вывода PD3 ATmega88 внутри программатора.
Это не было бы проблемой, если бы этот вывод был настроен как вход.
Но поскольку прошивка USBasp настроила его как выход, она просто боролась с сигналом USB.
Во всяком случае, пока что теория.
Мне было интересно, применимо ли то же самое к моему программисту.И вроде бы так, по крайней мере, была дополнительная связь.
Так что мои надежды на то, что он заработал, снова возродились.
Вот список веб-сайтов, которые помогли мне исправить мой программатор USBasp:
Вся заслуга этих парней. Я просто обобщаю то, что я сделал, чтобы исправить мой программист, благодаря их прекрасному руководству.
Этот программатор не только бывает разных цветов, но и имеет разные имена, напечатанные на его стороне.Обычно USB ISP напечатан на устройстве.
Однако оборудование почти совместимо с USBasp.
На
Mine была напечатана версия 2.0 снаружи, а на плате внутри говорилось, что это версия MX-USBISP-V4.00.
На описанных выше веб-сайтах рассказывается о версиях печатных плат 3.00 и 3.02.
Иногда печать на устройствах даже обнажает логотип Atmel.
Во всяком случае, насколько я могу судить (у меня есть только одна, как вы знаете), существует две различные версии.
Более старые, я думаю, это версия V3.00 и ниже, работают на процессоре ATmega 8.В то время как все более новые версии работают на ATmega 88.
У меня версия V4.00 и работает на ATmega 88.
Открыть программатор довольно просто.
Просто надавите корпусом на USB-разъем и полностью сдвиньте его.
Его снова просто собрать в обратном порядке. Никаких специальных инструментов или навыков не требуется.
И если вы не помните, какой путь был вверху, просто посмотрите на светодиоды рядом с кристаллом и маленьким отверстием в корпусе, они должны выровняться.
Возможным решением является сокращение трассы между USB D- и PD3.
Должен признаться, что сам не пробовал.
К сожалению, след от контакта 1 микроконтроллера (PD3) сразу исчезает под микросхемой, поэтому невозможно сказать, куда он идет.
Поэтому самый простой способ вырезать след — отрезать штифт 1 прямо из микросхемы.
Это может быть немного сложно, потому что контакты на корпусе TQFP довольно маленькие.
После отрезания булавки вам все равно придется прошить новую прошивку в чип.Вы можете использовать оригинальную прошивку с веб-сайта Томаса Фишля.
Я бы выбрал последнюю версию для вашего типа процессора.
Так я исправил свой процессор.
Вы можете загрузить эту модифицированную прошивку с веб-сайта Uwezi, либо версию ATmega8, либо версию ATmega88, в зависимости от того, что применимо к вашему программисту.
Я взял на себя смелость предоставить версию для ATmega88 для загрузки на моем веб-сайте, потому что она работала для меня.Однако вся заслуга в этом программном обеспечении принадлежит Увези, который его скомпилировал.
Благодаря изменениям в прошивке вам не нужно ничего менять на плате программатора.
Независимо от того, какое решение вы выберете, вам все равно нужно прошить новую прошивку в свой программатор.
Однако это довольно просто.
Я не собираюсь объяснять вам, как прошить программное обеспечение в процессор Atmel.
Я думаю, вам следует знать, как это делается, когда вы зашли так далеко.
Но у вас может быть проблема с курицей и яйцом.
Вам временно нужен другой программатор AVR.
Если у вас его нет, вы можете его одолжить.
Если вы не можете одолжить одного, возможно, вам лучше купить другого программиста вместе.
Перед тем, как вы сможете прошить новую прошивку в свой USBasp программатор, вы должны соединить две контактные площадки, помеченные «Up» вместе.
Если этот другой программатор не запитан, как мой, вам нужно подключить USBasp к USB-порту, который затем питает оба программатора.И если другой ваш программист подает питание на свою цель, все в порядке.
Не забудьте отключить перемычку между двумя контактными площадками, прежде чем снова закрыть программатор USBasp.
В любом случае, у меня снова работает программист.
По совпадению я также только что закончил небольшой адаптер для программирования, который позволяет мне программировать 8- и 24-контактные устройства DIP Atmel, которые у меня случайно лежат.
Он может даже программировать 8-контактные процессоры PIC (полоскать рот с мылом).
Этот программный адаптер отлично работал с моим старым программатором AVR ISP на моих процессорах ATmega8, ATmega88 и ATtiny13.
Однако я смог заставить ATmega88 работать только с моим новым программатором USBasp.
Аврдуде продолжал жаловаться, что подпись устройства, считанная с устройства, не совпадает.
Кроме того, сигнатура устройства, считываемая с устройства, менялась каждый раз, когда я пытался его запрограммировать.
Сначала я подозревал, что блок питания загрязнен, потому что это была единственная разница между двумя установками.Я даже пробовал использовать гораздо более короткий провод между программистом и целевой системой.
Вскоре я обнаружил, что USBasp был слишком быстрым для стандартных тактовых частот ATmega8 и ATtiny13.
Очевидно, интернет-провайдер Atmel был недостаточно быстрым, чтобы это стало проблемой.
К счастью, решение довольно простое.
Добавьте параметр -B 3 в команду avrdude.
Вот пример команды для программирования более медленных процессоров:
avrdude -c usbasp -B 3 -p m8 -U flash: w: targetfile.hex
HUB ISP — решение проблемы «курица или яйцо» только через USBДля 8-битных микроконтроллеров AVR существует множество отличных проектов ISP (в системном программировании).Однако для большинства требуется предварительно запрограммированный микроконтроллер или Проблема «курица или яйцо»: микроконтроллеры нельзя программировать если у вас он еще не запрограммирован.Решения для параллельного или последовательного порта существовали, но многие современные у компьютеров больше нет этих портов. Чип FTDI USB-to-serail может быть также используется. До настоящего времени широко распространено мнение, что решить проблему с курицей или яйцом, используя только USB, невозможно, без предварительно запрограммированных или специализированных USB-чипов. HUB ISP может записать микросхему AVR, используя только USB-концентратор, одну дешевую / обычную логическую микросхему, и несколько резисторов.
Не для новичков и тех, кто ценит свое времяЕсли вы только начинаете работать с микроконтроллерами AVR, программирование ISP не лучшее место для начала, даже если вы купите готового программиста и конечно, не пытаясь построить свою собственную!Готовые к использованию платы, такие как Teensy (да, бесстыдный штекер, как я его делаю) или Ардуино просто подключите к любому USB-порту и готовы к работе, с легкостью в использовании программные инструменты.Устранение неисправностей электроники и программного обеспечения может быть трудным даже для опытных инженеров, поэтому настоятельно рекомендуется начать с фундамент без проблем, насколько это возможно. HUB ISP есть, ну … нет. HUB ISP, безусловно, не является жизнеспособной заменой обычного «курица или яйцо» программисты AVR ISP, которые намного быстрее и лучше надежный и, возможно, даже более дешевый … например, Teensy с ArduinoISP код (ага, еще одна бессовестная вилка). Однако, если вы любите повозиться или вам просто любопытно, как это могло работать только с USB и без программируемого чипа, даже без каких-либо деталей, предназначенных для USB, только логические вентили и резисторы, тогда читайте дальше! Необходимые материалыИли «нам не нужны никакие запрограммированные чипы!»
Шаг 1. Компиляция кода с идентификационными номерами HUBСначала загрузите исходный код.Лицензия GPLv3.Обновление: charliex попытался Порт HUB ISP для Microsoft Windows. Пока это не проверено. Перед компиляцией подключите концентратор и введите «lsusb», чтобы найти его поставщика и продукт. Идентификационные номера. Вы, , должны отредактировать config.h и включить эти идентификационные номера. Затем просто скомпилируйте с «сделать». Если вы получаете сообщение об отсутствии «usb.h», возможно, вам необходимо установите пакет библиотеки libusb «devel». Шаг 2. Отрежьте и подготовьте USB-кабелиВероятно, самый простой, но самый утомительный шаг — это вырезать и подготовить USB-накопитель. кабели. На этих 4 пластиковый кожух был очень прочным, а провода внутри действительно деликатный. Всем четырем кабелям нужен зеленый провод и хотя бы один красный и один черный нужен (они от того же питания внутри хаба).Это хорошо идея вырезать лишние белые, красные и черные линии немного разной длины, и не приближаться к потертому металлическому экрану, чтобы случайно не замкнуть друг с другом. Если у вас есть паяльник, лужение концов проводов сильно сделает их лучше засовывать в отверстия макета. В противном случае просто их плотно закрутите и позже обратите внимание на обрывки проволоки. Шаг 3: Сборка и тестирование схемыЗатем вам нужно будет построить простую схему интерфейса между USB зеленые провода и контакты AVR ISP. Вот схема:
Вот фото схемы крупным планом. Есть резистор 4,7К, тот, который прикреплен между контактом 11 и зеленым проводом порта 4, прячется за один из USB-кабелей! На этой картинке также есть 2 светодиода, подключенные к MOSI и SCLK, и провод подключение MOSI к MISO.Они временные, нужны только для тестовая программа. Эта схема микросхемы 74HC00 может быть полезна, если вы следуете схеме. Не забудьте добавить развязывающий конденсатор 0,1 мкФ рядом с выводами питания 74HC00, а позже, когда вы добавите микросхему AVR, поставьте еще одну прямо на его контакты 7 и 8. Вы получаете питание через несколько дюймов USB-кабеля, вероятно, самого дешевого возможных кабелей, так как вы были готовы их перерезать, и эта мощность поступает из концентратора, который, вероятно, также дешево изготовлен, поэтому, пожалуйста, не пропускайте развязывающие конденсаторы.Используйте керамические конденсаторы хорошего качества (например, типа X7R). ставится рядом с выводами питания! Потратив немного времени на то, чтобы прикрепить макетную плату и ступицу к куску картона (или что-нибудь прочное) с двойной липкой лентой избавит от многих неудобств. Те USB-кабели жесткие, и при малейшем движении кажется, что крошечный зеленый провода ослаблены. Когда все подключено и выглядит так, вы готовы к запуску теста. программа. Просто запустите hub_test.Если все подключено правильно, вы должны получить все тесты должны пройти, и вы увидите, как светодиоды мигают, как описано. Если какой-либо тест не удался, сейчас самое время наладить правильную работу проводки, прежде чем подключать это Микросхема AVR! Шаг 4: Программирование микросхемы ATMEGA328PНа самом деле требуется немного больше проводки, кроме трех сигналов, и конечно 4 контакта питания. AVR Для вывода сброса требуется резистор 330 Ом на землю и кнопка, или как-то иначе. можно на мгновение прикоснуться к нему до +5 вольт.Когда вы впервые подключаете концентратор, Linux будет думать, что 3 или 4 новых USB-устройства имеют был прикреплен из-за резисторов 4,7 кОм, и это создаст кучу активность на хабе. При первом запуске «hub_isp» он выйдет из sync и должен попросить вас перезагрузить чип и повторить попытку. Просто нажмите кнопку, и во второй раз все должно работать. Когда чип является совершенно новым, он будет использовать свой собственный внутренний генератор. Однако, если он когда-либо был запрограммирован на использование кристалла, для этого потребуется кристалл подключен к контактам 9 и 10.Стоимость не имеет значения. Я использовал Кристалл 3,57 МГц и два конденсатора по 22 пФ. Когда вы запустите программу «hub_isp», она запишет загрузчик arduino в чип. Экран должен выглядеть так: На запись всех 1950 байт уходит почти 13 минут, потому что сброс USB длительность импульсов составляет 10 миллисекунд, и протокол AVR ISP. требует не менее 32 на каждый байт. Но помимо скорости, вы действительно можете написать загрузчик arduino (или что-то еще) в полностью пустой чип ATMEGA328 без каких-либо заранее запрограммированных частей, используя только USB, только с концентратором, простой логической микросхемой и несколькими резисторами и другие дешевые общедоступные материалы! Предупреждение о сроках и идеи для будущих улучшенийЭтот код чувствителен ко времени, вероятно, внутри pulse_begin_port () в usb_hub.c. Два контроля передачи отправляются на концентратор, который начинает импульс сброса 10 мс, и второй приостановить порт. Появляется, если хаб не получает второе сообщение в течение 10 мс, на пине может быть сгенерирована другая активность, что ДЕЙСТВИТЕЛЬНО нежелательно для сигнала SCLK. Дополнительный резистор и конденсатор как фильтр нижних частот между зеленым проводом и затвором И-НЕ мог быть хорошая идея? Использование второй защелки сброса действительно сделало бы его надежным. (и вдвое медленнее), но тогда потребуется более 4 портов.Я смог написать чип успешно много раз без других запущенных программ, но когда Я использовал Firefox на нескольких сайтах с богатой графикой и большим количеством javascript, программирование не удастся. Я даже одну фишку замутил! Это может быть восстановлено с техникой параллельного программирования, но это совершенно новый «цыпленок» или яйцо «проблема ……. хмммм ………… Остерегайтесь, если вы попробуете это сделать, сделайте это как можно реже. Возможно, кто-то, имеющий опыт работы с API-интерфейсом планирования Linux в реальном времени, сможет улучшить этот код? Благодаря очень надежному планированию на уровне миллисекунд, он можно было бы избежать вентилей NAND и просто использовать SCLK, пока Известно, что MOSI находится в пределах импульса (для низкого уровня) или не в пределах импульса (для высокого уровня)? При программировании на уровне ядра должно быть возможно использовать корневой концентратор внутри хост-контроллера USB на чипсете материнской платы, вместо того, чтобы использовать внешний концентратор. Может быть, AVR можно запрограммировать с не более 3-х USB-кабеля и 3-х резисторов ?! Свяжитесь со мной ….Если вам понравился этот небольшой проект, дайте мне знать.Но просим не обращаться в техподдержку, и особенно не просите у меня версию для windows! Код под лицензией GPL, так что редактируйте как хотите … Блоги и реакции пользователей |
Мы рекомендуем рассмотреть наш новый Pololu USB AVR Programmer v2.1 вместо этого программатора, так как он предлагает ряд улучшений (включая поддержку 3.3 В) по более низкой цене. Однако обратите внимание, что программист v2.x не имеет бонусной функции SLO-scope, которая есть у этого программиста.
Программатор Pololu USB AVR — чрезвычайно компактный и недорогой внутрисистемный программатор (ISP) для микроконтроллеров AVR Atmel, что делает это устройство привлекательным программным решением для контроллеров на основе AVR, таких как наши контроллеры роботов Orangutan. и модули A-Star.Программатор USB AVR подключается к USB-порту вашего компьютера с помощью прилагаемого кабеля USB A — mini-B и связывается с вашим программным обеспечением для программирования, таким как Atmel Studio или AVRDUDE, через виртуальный COM-порт с использованием протокола AVRISPV2 / STK500. Программатор подключается к вашему целевому устройству с помощью прилагаемого 6-контактного кабеля для программирования ISP (старые 10-контактные соединения ISP напрямую не поддерживаются, но легко создать или приобрести адаптер ISP с 6 на 10 контактов) .
Программист должен работать со всеми AVR, которые могут быть запрограммированы с помощью интерфейса AVR ISP, но он не был протестирован на всех устройствах.Он был протестирован со всеми контроллерами роботов Orangutan и роботом 3pi. Программатор имеет обновляемую прошивку, позволяющую обновлять будущие устройства. В настоящее время он не работает с линейкой микроконтроллеров Atmel XMega.
Программатор питается от шины питания USB 5 В и предназначен для программирования АРН, работающих при напряжении, близком к 5 В (обратите внимание, что программатор не подает питание на целевое устройство).
Программатор был протестирован под Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10 и Linux.Мы предоставляем ограниченную поддержку для использования этого программатора в Mac OS X; подробности см. в руководстве пользователя. Этот программатор несовместим со старыми версиями Windows.
Программатор USB AVR можно использовать как адаптер USB-to-serial. Программист устанавливает как два виртуальных COM-порта : один для связи с программным обеспечением для программирования и один для универсального адаптера USB-to-serial.Это означает, что вы можете легко переключаться между программированием AVR и его отладкой через последовательный порт TTL без необходимости открывать и закрывать программу терминала. В дополнение к последовательным линиям передачи ( TX ) и приема ( RX ), программатор позволяет использовать контакты A, и B в качестве линий последовательного подтверждения связи. Утилита конфигурирования программиста позволяет вам выбрать, какая линия квитирования назначена какому контакту, и поддерживаются как входные, так и выходные линии квитирования.Программатор также дает вам доступ к регулируемой шине питания 5 В USB через вывод VBUS . Последовательный порт уровня TTL не поддерживается в Mac OS.
Это устройство также может работать как двухканальный осциллограф с жесткими ограничениями (SLO-осциллограф), используя выводы A и B в качестве аналоговых входов напряжения и приложение Pololu SLO-scope для Windows. SLO-осциллограф может измерять напряжения от 0 до ~ 5 В (максимум ограничен напряжением шины USB) или выше, если вы используете внешний делитель напряжения, и поддерживает два режима выборки: выборка 10 кГц двух 8-битных аналоговые входы или выборка 20 кГц одного 7-битного аналогового входа и одного цифрового входа.Эта функция может помочь вам отладить ваши схемы и микропрограммное обеспечение, наблюдая, что делают напряжения на различных узлах. (Обратите внимание, что обратная связь SLO-осциллографа весьма ограничена и не предназначена для замены реального осциллографа или хорошего мультиметра, который будет иметь гораздо более высокий входной импеданс, лучшее разрешение и диапазон, а также более высокую частоту дискретизации.) scope не поддерживается в Mac OS или Linux.
Программатор Pololu USB AVR поставляется с 6-контактным кабелем для программирования ISP 12 ″ (30 см) и кабелем USB A — mini-B.Он не поставляется с программным обеспечением или документацией, но программное обеспечение (включая драйверы) и документацию можно найти на вкладке ресурсов.
Программатор Pololu USB AVR с прилагаемым шестиконтактным кабелем ISP и кабелем USB A — mini-B. |
---|
Примечание: Этот программатор поддерживает стандартное внутрисистемное программирование (ISP), которое также иногда называют внутрисхемным последовательным программированием (ICSP). Он не поддерживает JTAG, DebugWire или программирование высокого напряжения.
Это форк оригинальной прошивки USBasp (файл от 2011-05-28), настроенный для работы с устройствами-клонами «USB ISP Version 2.0» (помеченными на печатной плате «MX-USBISP-V4.00»). Исходная документация и лицензия находятся в файле Readme.txt
.
: по сообщениям устройств erokui и steadramon с пометкой «MX-USBISP-V5.00 »и« MX-USBISP-V6.00 »тоже работают, последний должен быть прошит опцией -p ATmega88P
. Спасибо, ребята!
Это очень дешевый программатор для микроконтроллеров на базе AVR, доступный от многих китайских поставщиков. Аппаратно он очень похож на USBasp, но из коробки он работает только с утилитой Windows GUI от производителя и не работает с avrdude.
Вот как это выглядит:
Со снятой алюминиевой оболочкой:
Есть «MX-USBISP-V4.00 «на обратной стороне печатной платы, см. Фото ниже. Если у вас устройство» V3.00 «, то лучше проверьте этот пост.
Снимите алюминиевую оболочку и переведите устройство в режим «самопрограммирования», подключив две контактные площадки на задней стороне печатной платы с маркировкой «ВВЕРХ»:
Подключите свой любимый программатор к шапке USB ISP со ссылкой на распиновку на корпусе устройства. Если у вас его нет, используйте Arduino с запущенным на нем примером ArduinoISP
.Он поддерживается avrdude как avrisp
. Обязательно установите скорость передачи 19200 бод.
Загрузите готовую прошивку в ./firmware/main.hex
и установите предохранители на HFUSE = 0xDD и LFUSE = 0xFF.
Отключить самопрограммирующуюся перемычку.
Теперь подключите USB-провайдер к компьютеру. Вы должны увидеть, как светодиод немного загорится красным, а затем станет синим. В дереве USB должно появиться устройство USBasp HID. (На Mac перейдите в раздел «Информация о системе»> «USB».) Обратите внимание, что устройство не будет отображаться как последовательный порт, это нормально.
Теперь вы можете проверить, может ли avrdude разговаривать с ним:
avrdude -c usbasp -P usb -p m328p
Если у вас ничего не подключено к программатору, вы увидите, что он жалуется:
$ avrdude -c usbasp -P usb -p m328p
avrdude: error: программа включена: цель не отвечает. 1
avrdude: инициализация не удалась, rc = -1
Но вы не должны получать никаких ошибок, связанных с USB.
Теперь подключите его к устройству, которое нужно запрограммировать, и сначала прочитайте флеш-память. Если получится, то попробуй что-нибудь написать.
Если у вас установлен набор инструментов avr-gcc
, перейдите по адресу ./firmware
и запустите:
После этого настройте Makefile
в соответствии с вашим программистом, а затем выполните:
Удачи!
Windows 98 и ME поддерживаются до версии программного обеспечения v2.1.7, доступной на наших страницах поддержки. Эта версия программного обеспечения НЕ будет обновляться в будущем.
Win 95 и ранняя версия Win98 должны работать с обновлением Microsoft USB до версии 2.1.7
NT4 НЕ поддерживается, так как Microsoft не обновила поддержку ядра и драйвер не доступен
Руководство по схемам AVR ISP для схем рекомендуемых схем AVR ISP (новое окно).
Скорость выборки для ATmega128
Обучение
Наш новый тренажер AVR включает в себя этот программист, плату для разработки,
JTAGAVR ICE, книги по AVR и Embedded C, среде разработки и многое другое.
Схемы ISP
Руководство по схемам AVR ISP в новом окне.
Добавление в Atmel Studio
AVRISP-U можно вызвать прямо из Atmel Studio
Добавление в Atmel Studio
FabTinyStar — это еще одна версия программатора / платы AVR ISP, которая могут быть изготовлены в фабричной лаборатории с использованием фрезерованной печатной платы и легко доступны составные части.В основе проекта — усилия многих людей. Для большего история FabTinyStar и людей, которые внесли свой вклад в это, пожалуйста обратитесь к Заерку Страница FabTinyStar.
Эта версия («FabTinyISP Minimal» является второстепенной доработкой для Версия Zaerc’s 0.3 (Bas), с небольшими модификациями:
На этой странице описывается сборка, программирование, тестирование и отладка платы.
Одна из возможных причин путаницы в этом документе заключается в том, что устройство, которое вы корпус станет программистом AVR, но вам также понадобится рабочий Программист AVR в процессе его создания. Ваша плата относится к новый программист, которого вы создаете. Программист относится к рабочий программатор, который вы будете использовать для инициализации своего.В конце этого документ, ваша плата становится программистом .
FabTinyISP — это «низкоскоростное» устройство USB 1.1. Это самый медленный (и один из самых старых) из типов USB-устройств. Обычно используется для мышей и клавиатур низкоскоростные устройства работают на частоте 1,5 МГц и имеют гораздо меньшую строгие требования к срокам, что позволяет полностью программно реализация используемого протокола USB (ATtiny45 не имеет аппаратная возможность USB).
Хотя все более поздние версии USB должны быть обратно совместимы со старыми таких устройств, как FabTinyISP, следует помнить о нескольких вещах, чтобы избегать выпусков:
Загрузите файлы PNG для следов и контура платы:
Исходные файлы Altium доступны здесь, если вы хотите изменить дизайн.
Поскольку существуют разные процессы фрезерования на разных станках, это здесь не описывается.Пожалуйста, обратитесь к справочнику по фрезерованию печатных плат, который применимо к оборудованию в вашем магазине.
Готовая печатная плата должна выглядеть примерно так:
В зависимости от количества фрезерованных смещений может быть небольшой Медь оставила на краю платы перед контактами USB. 5 зачетов должно быть достаточно, чтобы удалить всю медь в процессе фрезерования, но фрезерование занимает немного больше времени. Если вы фрезеровали меньше смещений (я сделал 3 в приведенном выше фото) лишнюю медь можно удалить ножом.Только медь в переднюю часть колодок нужно снять; медь слева по бокам отлично.
Получить компоненты:
Светодиоды и соответствующие резисторы не являются обязательными; горит красный светодиод когда целевая цепь запитана, а зеленый светодиод горит, когда программист разговаривает с целью.
Припаяйте детали к печатной плате, используя схему и изображение платы ниже в качестве справочная информация для значений и размещения компонентов. Начни с самого сложного частей (ATtiny45) в первую очередь, чтобы у вас был максимальный доступ. Установите ISP заголовок последним, так как он большой и может помешать вам, если вы сделаете это раньше.
Обратите внимание на компоненты, которые должны быть установлены в правильной ориентации:
Используйте припой, чтобы создать перемычку на перемычке рядом с разъемом ISP (J1). Этот временно подключает V CC к V прога пин на заголовке ISP чтоб заголовок мог использоваться для программирования tiny45. (Программа подает напряжение на этот вывод и программист это обнаруживает).Как только он запрограммирован, мы удалим это мост, чтобы превратить плату в программиста, а не в программиста.
Паяльная перемычка, мостовидная и немонтажная.
Печатная плата оказывается немного тонкой, чтобы работать с большинством портов. Чтобы обеспечить хорошее USB-соединение, рекомендую следующие одно или два улучшения.
Сначала нанесите припой на контакты USB на плате, чтобы нарастить их. совсем немного. Нагрейте площадку и нанесите припой, перемещая наконечник утюга по блокнот, чтобы раздать его.Когда у вас будет достаточно припоя, протрите кончик утюга поперек подушечку одним непрерывным движением, чтобы выровнять ее до однородного слоя. если ты не получается гладкий слой, вам нужно больше флюса: очистите кончик утюга на губкой, нанесите еще немного припоя на площадку и снова протрите ее. Излишки припоя выйдут на наконечник утюга. (См. Изображение выше готовый программатор о том, как должны выглядеть USB-планшеты).
В большинстве случаев выполнения вышеуказанного достаточно, но я все же хотел бы добавить немного больше толщины, приклеив дополнительный материал к нижней части печатной платы.Небольшой кусочек пластиковой раскладушки упаковка работает хорошо. Я использую крошечную каплю клея CA, чтобы прикрепить небольшой кусочек в нижней части области USB-разъема, затем обрежьте лишнюю пластик, как только он установлен. (Будьте осторожны, чтобы не нанести суперклей на остальную часть плату, особенно контакты USB на другой стороне).
Хотя может показаться, что уже рано начинать отладку (мы даже не пробовали еще ничего!) всегда благоразумно проверять свою работу перед подключением доска.Это займет всего пару минут и избавит вас от головной боли. Дорога.
Прежде чем вы сможете собрать и запрограммировать прошивку на вашу плату, вам необходимо настроить среду разработки.Вы будете использовать эту настройку для всех своих Программирование AVR для класса. Настройка немного отличается для каждой платформы, но после установки программное обеспечение должно работать более или менее одинаково на всех Платформа.
Вы будете использовать оболочку командной строки (bash) в терминале вашей платформы для выполните все команды ниже. Если вы не знакомы с использованием командную строку, вы можете просмотреть руководство.
Для Ubuntu и других дистрибутивов на основе Debian введите следующее команда, за которой следует ваш пароль при появлении запроса:
sudo apt install avrdude gcc-avr avr-libc make
Загрузите и установите CrossPack.
Установить набор инструментов в Windows немного сложнее. Отдельный инструкции представлены здесь.
Загрузите исходный код прошивки и распакуйте zip-файл (в Linux распакуйте fts_firmware_bdm_v1.zip). Открыть вашу программу терминала и cd в каталог с исходным кодом.
Выполнить make. Это создаст шестнадцатеричный файл, который будет запрограммирован на ATtiny45. Когда команда завершится, у вас должен появиться файл называется fts_firmware.шестнадцатеричный. Если команда не завершена успешно, что-то не так с установкой вашей инструментальной цепочки. Проконсультируйтесь сообщения об ошибках для информации, которая поможет вам отладить это.
Сначала обновите Makefile для того типа программиста, который вы собираетесь использовать. чтобы запрограммировать вашу доску. Makefile по умолчанию предполагает, что вы собираетесь используйте программатор из семейства usbtiny (например, другую плату FabISP). Если вы используете другой программатор, сначала выясните, что avrdude (программное обеспечение для программирования) называет это.Вот несколько часто встречающихся AVR программистов:
Отредактируйте файл Makefile. Важно использовать текст редактор, предназначенный для программистов; такие программы, как Блокнот или WordPad, могут добавлять информация о форматировании, которая нарушает работу файла. В Linux — gedit (графический интерфейс). или nano (командная строка) — хорошие варианты; Пользователи Windows могут захотеть используйте Notepad ++. TextEdit в OS X обычно работает, просто убедитесь, что вы сохраняете как обычный текст, а не RTF (и конечно, к имени файла не добавляется «.txt»). Sublime Text — еще один популярный выбор на нескольких платформах.В общем, все, что вы используете для редактирования своего HTML-кода, наверное хороший выбор.
В верхней части файла найдите строку, в которой написано:
ПРОГРАММАТОР? = Usbtiny
и замените usbtiny на любой программатор, который вы используете.
Вставьте плату в порт USB. Используйте порт USB 2.0, а чем порт USB 3.0, если он у вас есть. Также рекомендуется использовать короткие Удлинительный кабель USB или USB 2.0 концентратор вместо прямого подключения к порту, особенно если ваши USB-порты перевернуты.Это снимет напряжение и снизит риск повреждение встроенных портов USB. Например:
Если вы установили красный светодиод, он должен сейчас загореться. Если нет, проверьте припаяйте перемычку и убедитесь, что она замкнута. Если ваш компьютер жалуется о USB-устройстве, потребляющем слишком много энергии, отключите плату и проверьте шорты.
Подключите программатор к разъему ISP на вашей плате. Обратите внимание, что там есть две разные ориентации, в которых вы можете подключить кабель; это Важно, чтобы вы получили контакт 1 в нужном месте.Контакт 1 отмечен схема платы с точкой и подключенным к ней сигналом MISO. Если вы посмотрите на пластиковом разъеме на кабеле программатора должен быть небольшой стрелка, точка или название производителя, отмечающие угол с помощью булавки 1. Обратите внимание, что нет обязательного стандарта для того, в каком направлении кабель выходит из разъем, поэтому ищите маркер контакта 1.
Запустите make flash. Это сотрет целевой чип и запрограммирует его флэш-память с содержимым созданного ранее файла .hex.Вы должны увидеть несколько индикаторов выполнения, пока avrdude стирает, программирует, и проверяет чип.
Если что-то пошло не так, проверьте:
Если вы проверили все вышеперечисленное, но по-прежнему не можете запрограммировать плату, используйте мультиметр для проверки целостности контактов на микросхеме и заголовок ISP, и что нет непрерывности там, где не должно быть (короткое замыкание между соседними контактами или следами).
После того, как вы успешно запрограммировали флэш-память, пришло время установить конфигурация предохранителей. Сделаем это поэтапно:
Подайте команду включения предохранителей. Это настроит все предохранители. , кроме , который отключает контакт сброса. Опять же, вы должны увидеть несколько индикаторов выполнения от avrdude. Если этот шаг не удается, но предыдущий работал, вероятно, у вас где-то прерывистое соединение.
Теперь мы проверим, работает ли USB на вашей плате, прежде чем перегорает предохранитель, который позволит ему как программисту. Отключите доску от USB-порт и отключите программатор, затем снова подключите его к USB. Убедитесь, что программист, который вы использовали для программирования вашей платы, также отключил от компа.
Введите lsusb в терминале, чтобы отобразить список USB-устройств. если ты см. устройство «Multiple Vendors USBtiny», оно сработало! Если нет, команда dmesg может предоставить дополнительную информацию о том, что пошло не так.Ты хотите видеть сообщение «Новое низкоскоростное USB-устройство» без каких-либо дальнейшие ошибки. (Обратите внимание, что sudo dmesg -c очистит сообщения после распечатки, что полезно сделать перед подключением платы так что вы сможете точно сказать, какие сообщения являются результатом его подключения в). Если вы не видите сообщение «новое низкоскоростное устройство», проверьте подтяжка на линии USB (резисторы 1 кОм и 499 Ом, R1 и R2, последовательно между V CC и D-) для правильных значений и хорошего подключения (компьютер использует эти резисторы и их значения для определения какой тип USB-устройства было подключено).Если вы видите «новый низкоскоростное устройство «, но после этого возникнут другие ошибки, попробуйте следующее:
Откройте «Сведения о системе» Apple (Меню Apple → Об этом Mac → Дополнительная информация; или из папки Utilities). Выберите USB из списка слева, и вы USBTiny должен быть указан как устройство справа.Если он появляется, это работает правильно. В противном случае следуйте приведенным выше инструкциям по отладке (примечание что MacOS не имеет команды dmesg, хотя похожая информация может быть доступен где-нибудь в приложении консоли). Либо проверьте все выше, или подключитесь к машине Linux, чтобы увидеть, получаете ли вы Сообщение «новое низкоскоростное устройство» в dmesg.
Windows перечисляет USB-устройства в Диспетчере устройств (Пуск → Панель управления → Система. → Диспетчер устройств), хотя он не всегда сообщает вам, что они собой представляют, пока установлены правильные драйверы.USB-устройства также могут отображаться в разделе «Устройства. и принтеры «или» Оборудование и звук «. Если вы не знаете Windows-машина достаточно хорошо, чтобы определить, работает ли устройство USBtiny. появившись, вы можете захотеть подключиться к чьей-нибудь машине Linux или Mac, чтобы убедитесь, что он работает.
Поздравляю, вы почти рабочий программист. ATtiny45 на плата имеет загруженный код и работает правильно, если вы сделали это так далеко.Осталось два последних шага, чтобы превратить вашу доску в программист, который может программировать другие платы.
Во-первых, нам нужно изменить бит, который будет включать вывод сброса ATtiny45. в контакт GPIO. Еще раз, это отключит нашу возможность перепрограммировать этот ATtiny45 в будущем, поэтому мы хотели убедиться, что все прежде чем делать это. Подключите программатора вашего интернет-провайдера к вашей плате еще раз time и запустите make rstdisbl. Это то же самое, что и сделать команду предохранителей, но на этот раз она будет включать этот сброс также отключить бит.Вы должны увидеть несколько индикаторов выполнения, и avrdude больше никогда не сможет разговаривать с этим чипом через интернет-провайдера заголовок.
Во-вторых, нам нужно отключить V CC от V прога пин на заголовке ISP путем снятия перемычки на перемычку припоя. Иногда излишки припоя прилипают к чистому жало паяльника; в противном случае используйте оплетку для удаления припоя, чтобы удалить припой с перемычку, тем самым разорвав соединение.
Теперь у вас должен быть собственный работающий программист ISP! Но перед тобой Назовите это днем, используйте свою доску, чтобы попробовать запрограммировать другую доску.
Это
работа под лицензией Creative Commons
Международная лицензия Attribution-NonCommercial-ShareAlike 4.0.