Наш канал в telegram

Рубрика «Интерфейсы»

всё, что связано с передачей информации

Интерфейс 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 для организации какого-то конкретного интерфейса, всё равно придётся сочетать его с программными средствами, однако такое сочетание позволит разгрузить процессор, значительно увеличить скорость передачи и уменьшить код, …

Поиск устройств на шине 1-Wire

Итак, сегодня мы рассмотрим две особые команды интерфейса 1-wire, предназначенные для поиска устройств на шине, а также алгоритм поиска устройств с помощью этих команд. Почему мы алгоритм именно рассмотрим, а не напишем? Да потому что он, вообще-то говоря уже написан. «Максимкины» инженеры накатали для этого специальный документ AN187, который лежит в сети в открытом доступе. …

CRC FAQ. Что, зачем и как

Глава 1. Что такое CRC и зачем он нужен Глава 2. Базовая теория, необходимая для вычисления CRC Глава 3. Модификация алгоритма для практического применения Глава 4. Резюме Глава 1. Что такое CRC и зачем он нужен CRC (cyclic redundancy code) — циклический избыточный код, иногда называемый также контрольным кодом. По своей сути — это просто …

Схемы сопряжения уровней сигналов 3,3 и 5 Вольт (и не только)

При работе с различными цифровыми микросхемами нередко возникает ситуация, когда для их правильной совместной работы необходимо согласовать уровни сигналов на линиях ввода-вывода. Такая необходимость возникает, например, при совместном использовании микросхем, рассчитанных на питание +3,3 Вольта и +5 Вольт. Почему? Ну, во-первых, редко когда входы трёхвольтовой микросхемы могут выдержать входное напряжение +5 Вольт, то есть передавать …

Интерфейс USB. Часть 4. Дескрипторы и классы

В зависимости от назначения, все usb устройства разделены по классам. Это деление довольно широкое и объединяет довольно большие группы устройств. Например, класс HID (human interface device) включает все устройства человеко-машинного взаимодействия (мышки, клавиатуры и тому подобное), класс Printer — все печатающие устройства и так далее. Зачем это деление нужно? Дело в том, что для каждого …