Наш магазин на eBay Наш канал в telegram

Записи с меткой «avr»

USB-программатор на базе шлюза UART-to-I2C/SPI/1W научился прошивать новые чипы

Многие спрашивают куда я пропал и почему давно не было новых статей. Отвечаю, — всё это время я усиленно кодил 🙂 В результате этого кодинга USB-программатор для микроконтроллеров AVR на базе шлюза UART-to-I2C/SPI/1W теперь умеет работать с микроконтроллерами серии ATmega (+25 новых чипов). Новую версию программы, а также список добавленных чипов можно найти на страничке …

101 применение шлюза UART-to-I2C/SPI/1W (RH-0004). Часть 10. USB-программатор для последовательного программирования микроконтроллеров AVR на базе шлюза UART-to-I2C/SPI/1W

У большинства микроконтроллеров AVR имеется возможность заливать прошивку через последовательный интерфейс SPI. А раз так, — значит для этих целей вполне можно использовать шлюз RH-0004, нужно только написать соответствующее ПО. Именно этим я занимался весь последний месяц и сегодня, наконец, могу выложить на сайт программу, превращающую шлюз, помимо всего прочего, ещё и в USB-программатор микроконтроллеров …

Параллельный программатор / фьюз-бит доктор для контроллеров avr

Введение Аппаратная часть Программная часть Работа Введение Получив из Китая очередную партию чипов ATtiny2313 для изготовления шлюзов UART-to-I2C/SPI/1W я, вдруг, обнаружил, что эти чипы совершенно невозможно прошить последовательным внутрисхемным (ICSP) программатором. Чипы при этом были в заводской упаковке и без следов пайки. Ранее я уже сталкивался с ситуациями, когда китайцы продавали новые рабочие чипы, но …

Интерфейс USB. Часть 9. Программная реализация LS устройства USB. Продолжаем разбираться с принятыми пакетами.

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

Интерфейс USB. Часть 8. Программная реализация LS устройства USB.
Передача по USB произвольного буфера и пакетов подтверждения

В предыдущей части мы научились разбирать пакеты по типам и остановились на том, что определили три типа пакетов, которые предназначены нам и на которые нам нужно что-то отвечать. Учиться отвечать давайте начнём с общего, а не с частностей, а именно: научимся что-то отвечать хосту в принципе, то есть напишем подпрограмму, которая будет передавать хосту буфер …

Интерфейс USB. Часть 7. Программная реализация LS устройства USB. Разбираем пакеты по типам

Итак, в прошлой части мы написали код, обеспечивающий приём пакета USB в буфер SRAM. Теперь пришло время определить, что за пакеты мы приняли. Именно этим мы сегодня и займёмся, а потом уже будем решать, что нам с этим дальше делать Сначала давайте подумаем, какие пакеты нас вообще будут интересовать. Из всего многообразия нас интересуют в …

Интерфейс USB. Часть 6. Программная реализация LS устройства USB. Физика и приём пакетов

Сегодня мы начинаем писать программу для микроконтроллера, реализующую низкоскоростную версию интерфейса USB. И писать её мы начнём с самого низкого уровня — с физики и приёма пакетов. Ранее (в предыдущей части, когда схему делали) мы решили: что информационные линии у нас будут заводиться на ноги PB0 (D+) и PB1 (D-), что определять начало передачи мы …

Интерфейс USB. Часть 5. Программная реализация LS устройства USB. Схема

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

Работа модуля USI в контроллерах AVR Tiny

Модуль USI — это некий суррогат, который предоставляет минимальные аппаратные ресурсы, необходимые для построения последовательного интерфейса. Тут всё как обычно, универсальный — значит никакой конкретный, соответственно, чтобы использовать USI для организации какого-то конкретного интерфейса, всё равно придётся сочетать его с программными средствами, однако такое сочетание позволит разгрузить процессор, значительно увеличить скорость передачи и уменьшить код, …

Простая программа для управления bldc-моторами

Итак, ранее мы собрали базовую схему для экспериментов с bldc-моторами, а сейчас напишем для этой схемы первую программку и попробуем запустить какой-нибудь моторчик. Но для начала немного обсудим поставленную задачу и то, как мы будем её решать. Задача заключается в том, чтобы реализовать на микроконтроллере ATtiny2313 алгоритм блочной коммутации. При этом величину напряжения питания мы …