Оглавление:
Видео: Программатор VUSBTiny AVR SPI: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
После создания программатора usbtiny isp и использования его в течение 6 месяцев я искал возможность сделать еще один, который можно было бы носить с собой. Мне нравится простота конструкции usbtiny isp, но хотелось бы сделать ее еще меньше и уменьшить количество деталей. Одна вещь в оригинальном дизайне, которую я хочу изменить, - это отказаться от использования часового кристалла. одно решение, которое я нашел, заключается в том, что драйверы v-usb поддерживают внутренний генератор 16,5 МГц на устройствах attiny25 / 45/85. поэтому я начинаю этот проект, чтобы usbtiny isp использовала v-usb для связи через usb. непосредственные преимущества заключаются в том, что он экономит место и имеет меньшее количество компонентов (больше не кристаллов).usbtiny описание с https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny - это программная реализация низкоскоростного USB протокол для микроконтроллеров Atmel ATtiny. Конечно, он также подойдет для серии ATmega. Программное обеспечение написано для AVR с тактовой частотой 12 МГц. На этой частоте каждый бит на шине USB занимает 8 тактов, и с помощью множества уловок можно программно декодировать и кодировать сигналы USB. Драйвер USB требует приблизительно от 1250 до 1350 байтов флэш-памяти (без учета дополнительных идентификационных строк), в зависимости от конфигурации и версии компилятора, и 46 байтов ОЗУ (без учета пространства стека). Интерфейс C включает от 3 до 5 функций, в зависимости от конфигурации. Описание vusb из https://www.obdev.at/products/vusb/ V-USB - это программная реализация низкоскоростного USB-устройства для Atmel. Микроконтроллеры AVR, позволяющие собирать USB-оборудование практически с любым микроконтроллером AVR, не требуя дополнительных микросхем. Видео о конструкции и использовании
Шаг 1. Функции и детали
* логика программирования от usbtiny isp, зрелая поддержка avr-dude * небольшой след * минимальные компоненты * питание целевого устройства, обратите внимание, что линии io к целевому mcus не защищены. вы можете добавить резисторы 1k-2k к SCK и MOSI и защитить от возможных неправильных подключений. Ссылки на основе работ, найденных на v-usb из framework https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl / ~ dicks / avr / usbtiny / список запчастей * attiny45 / 85 (85 проще найти) * стабилитроны 3,6 В (типы 1n747, BZX79,.. избегайте 1 Вт) * резистор 68 Ом x 2 * резистор 1,5 кОм * мини-макет 170 точек соединения * USB-кабель (usb-кабель для принтера доллар-магазин в порядке) * резисторы 1 кОм / 2 кОм для защиты линий io (необязательно) требуются инструменты * рабочий программатор AVR (да, это уловка22, нам нужен один, чтобы его сделать) * рабочая среда программирования avr
Шаг 2: Макет, схема и конструкция макета
строительство
* соблюдайте макет платы, компонентов нет, 3 резистора, 2 диода, 1 конденсатор, плюс 8-контактный микроконтроллер. * Купите usb-кабель принтера в долларовом магазине, отрежьте конец принтера, там будет 4 оголенных провода, закрепите и превратите их в 4-контактный штекер, мы будем использовать его для подключения к макетной плате. См. схему расположения и назначение контактов (J1). * следите за полярностью диодов.
сборка и перепрошивка проекта
проект был построен в lucid box linux ubuntu с набором инструментов avr-gcc. Предполагается, что у вас уже есть такая среда или вы можете узнать в Интернете, как ее настроить. исходные коды GNU GPL v2 лицензированы по наследству.
исходный код следует соглашению, рекомендованному v-usb, вы можете загрузить исходный пакет vusbtiny.tgz и распаковать его в каталог проекта. в вашем исходном каталоге есть файл main.c, который является моей версией модифицированного программатора usbtiny. и подкаталог usbdrv, содержащий уровень v-usb. пожалуйста, соблюдайте условия лицензирования двух вышеуказанных проектов при его строительстве. мой источник по логике программиста основан на версии Дика Стрифланда, а не на версии ladyada (хотя они почти одинаковы).
для тех, у кого нет цепочки сборки, вы можете использовать следующий двоичный файл
нажмите, чтобы загрузить vusbtiny.hex
и используйте avrdude для прошивки
avrdude -c usbtiny -p t45 -e -V -U flash: w: usbtiny.hex
(если ваше устройство tiny85, замените -p t45 w / -p t85)
источник можно скачать здесь, нажмите, чтобы скачать vusbtiny.tgz
распакуйте исходный пакет в свой рабочий каталог
tar -zxvf vusbtiny.tgz
* Сделайте cd vsubtiny, чтобы перейти в рабочий каталог vusbtiny * Просто создайте файл makefile для целевого устройства в соответствии с чипом, который вы будете использовать. т.е. PROGRAMMER_MCU = t45 или t85 * сделайте make * подключите ваш любимый ISP-программист * измените make-файл и при необходимости измените параметры avrdude. стандартный предполагает программатор USBTiny. т.е. AVRDUDE_PROGRAMMERID = usbtiny * прошить прошивку через make install
после прошивки нам нужно правильно установить предохранитель, в этом проекте мы используем сброс пина 1 как io
* ppl clock используются по требованию уровня v-usb для синхронизации usb * вывод сброса отключен, так как нам нужно использовать его как io
avrdude -c usbtiny -p t45 -V -U lfuse: w: 0xe1: m -U hfuse: w: 0x5d: m -U efuse: w: 0xff: m
эта настройка отключает дальнейшее программирование через 5V SPI, так как нам нужен вывод RESET (pin1) для io. вам понадобится доступ к программатору HVSP, чтобы восстановить предохранитель.
Шаг 3: Использование и применение
прямая прошивка на макетной плате
Если вы используете vusbtiny для прошивки 8-контактных устройств AVR, вы можете просто нажать целевое устройство поверх устройства программатора. программатор был спроектирован таким образом, чтобы контакты программирования совпадали с целями. есть одна хитрость, вам нужно будет изолировать контакты 2 и 3 на микроконтроллере программатора, так как это контакты USB D + и D-, подключаемые к ПК. Я использую для этого кусок скотча, вы можете увидеть это на фотографиях. Ниже показано, как tiny13v "едет" на tiny45, готовый к приему прошивки.
Прошивка ISP через перемычку
чтобы запрограммировать целевой канал через ISP (внутрисистемное программирование), вам понадобится кабель ISP. здесь я не использую стандартные разъемы 2x3 или 2x5. вместо этого я использую перемычку 1x6, которая более удобна для макета, вы можете сделать заголовок 2x3 или 2x5, сопоставив их с J2, как показано на макете и схемах макета. На следующем фото показан tiny2313, готовый к прошивке через интернет-провайдера.
исправление проблем
* не получается прошить прошивку? проверьте свой исходный программатор, возможно, потребуется настроить время с помощью флага -B в avrdude. попробуйте прочитать микросхему 1-й, может быть неисправный предохранитель, может быть, вашей микросхеме нужен внешний тактовый сигнал. вам может потребоваться восстановить ваш чип до значения по умолчанию 1st. * проверьте соединения * если используете другие контакты io, проверьте код и соединения * вы можете заменить стабилитроны с типами 500 мВт, 400 мВт * вы можете попробовать уменьшить значение R3 до 1,2 кОм или меньше * вы более вероятно столкнетесь с проблемами синхронизации avrdude, попробуйте -B флаг avrdude, есть более короткий USB-кабель, все помогает
Рекомендуемые:
Программатор ATTiny HV: 4 шага
Программист ATTiny HV: это руководство предназначено для служебной программы ATTiny, использующей ESP8266 и пользовательский интерфейс на основе браузера. Оно следует из предыдущего редактора инструкций Fuse для чтения и установки предохранителей, но теперь поддерживает стирание, чтение и запись флэш-памяти
Программатор Bluetooth HC-05: 4 шага
Программатор Bluetooth HC-05: для сборки этого программатора вам понадобятся > > > Детали: 1xFTDI232RL1xLP2985AIM 3.3 2x 0,1 мкФ 1206 - керамические конденсаторы 2x 0R 12062x 0,1 мкФ 0805 - керамические конденсаторы 4x 1k 0805 - резисторы 2x 120R 0805- резисторы 2 мм для индикации (зеленый светодиод
Программатор AVR с высоким напряжением: 17 шагов
Программатор AVR с высоким напряжением: это моя первая инструкция. Плата, которую я разработал, представляет собой программатор AVR. Плата сочетает в себе функции 4 отдельных прототипов плат, которые я построил за последние несколько лет: - Программатор AVR высокого напряжения, в основном используемый на устройствах ATtiny для настройки ф
Дешевый программатор AVR STK500 для Atmel Studio: 7 шагов
Дешевый программатор AVR STK500 для Atmel Studio: Atmel Studio - мощный инструмент для создания программ AVR, но написание программы - это первый шаг. Чтобы использовать вашу программу, вы должны создать схему и передать свой код в микроконтроллер. Вы можете запрограммировать свой AVR из Atmel Studio с помощью
Программатор ISP для микроконтроллеров AVR: 4 шага
Программатор ISP для микроконтроллеров AVR: Программатор микроконтроллера - это аппаратное устройство, сопровождаемое программным обеспечением, которое используется для передачи кода машинного языка в микроконтроллер / EEPROM с ПК. Программист ISP для микроконтроллеров AVR - это последовательный программист, который использует s