Наш канал в 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, но ресурсы которого вполне позволяют реализовать низкоскоростную …

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

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

101 применение шлюза UART-to-I2C/SPI/1W (RH-0004). Часть 3. USB-термометр на DS18B20 с передачей данных по сети

Сегодня мы рассмотрим возможность использования UART-to-I2C/SPI/1W шлюза для подключения к компьютеру датчиков температуры DS18B20, то есть фактически будем делать USB-термометр. Причём термометр мы будем делать не простой, а с возможностью передачи данных по сети. Нам понадобятся: шлюз UART-to-I2C/SPI/1W, USB-to-UART конвертер, датчик температуры DS18B20 фирмы Dallas, монтажные провода и специальное ПО. Конвертер USB-to-UART можно взять любой, …

101 применение шлюза UART-to-I2C/SPI/1W (RH-0004). Часть 2. USB программатор микросхем EPROM с интерфейсом SPI

Сегодня мы будем превращать UART-to-I2C/SPI/1W шлюз в USB-программатор микросхем памяти с интерфейсом SPI (EPROM-ки серий 93Сxx, AT59Cxx, 25xxx и им подобные). Также как и полученный нами ранее USB-программатор I2C, этот программатор будет отличаться повышенной скоростью работы в сравнении с JDM-клонами. Отдельно Microware микрухи рассматривать не будем, поскольку Microware — это фактически один из режимов SPI. …

101 применение шлюза UART-to-I2C/SPI/1W (RH-0004). Часть 1. USB программатор микросхем EPROM с интерфейсом I2C

Сегодня я расскажу как превратить UART-to-I2C/SPI/1W шлюз в USB-программатор микросхем памяти с интерфейсом I2C (EPROM-ки серий 24Сxx, SDA25xx, PCF85xx и им подобные). Такой программатор выгодно отличается от разных клонов JDM скоростью работы, поскольку протокол I2C реализует не компьютер, побитно надёргивая нужные сигналы, а сам шлюз. Итак, сделать из шлюза программатор I2C очень и очень просто. …

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

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