Оглавление:

Программатор VUSBTiny AVR SPI: 3 шага
Программатор VUSBTiny AVR SPI: 3 шага

Видео: Программатор VUSBTiny AVR SPI: 3 шага

Видео: Программатор VUSBTiny AVR SPI: 3 шага
Видео: USBtinyISP AVR ISP программатор 2024, Ноябрь
Anonim
Программатор VUSBTiny AVR SPI
Программатор VUSBTiny AVR SPI

После создания программатора 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-кабель, все помогает

Рекомендуемые: