Наш канал в telegram

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

Интерфейс 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 алгоритм блочной коммутации. При этом величину напряжения питания мы …

Базовая схема для экспериментов с BLDC-моторами (на ATtiny2313)

Представленная ниже схема является основой для экспериментов с bldc-моторами. Для тех, кто не в курсе, BLDC — это одна из разновидностей синхронных моторов, которая используется, например, в винчестерах, сидирумах, дисководах и т.п. (типа таких, как на картинке справа). Теорию работы синхронных движков в общем виде можно почитать здесь, чуть конкретнее про BLDC — вот здесь. …

Алгоритмы и программы управления для контроллеров ИК-барьера

В этой статье описываются алгоритмы и программы для микроконтроллеров, управляющих излучателем и приёмником ИК-барьера. Как вы помните, излучатель у нас сделан на микроконтроллере PIC12F629, а приёмник — на ATtiny13. Начнём с излучателя. Он у нас занимается тем, что посылает чередующиеся сигналы «ON» (импульсы на частоте 36 кГц) и «OFF» (отсутствие импульсов). Длительность сигнала «ON» около …

ИК-барьер для охранных систем и «умного дома»

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