Добрый день! Как-то возникла на работе проблема — имеется устройство, работающее по I2С и протокол которого необходимо было понять. Следовательно, нужен сниффер под интерфейс I2С, который бы выводил все, что приходит-уходит по I2C, на порт UART и далее через преобразователь на COM-порт компьютера.
Читать полностью »
Рубрика «I2C» - 3
I2C-сниффер
2017-04-03 в 12:49, admin, рубрики: arduino, Atmega, ATmega8, avr, I2C, twi, программный i2cПанель оператора (HMI) с шиной I2C для Arduino
2017-02-20 в 6:08, admin, рубрики: arduino, arduino nano, controllino, diy или сделай сам, FC-113, hd44780, I2C, lcd 1602, PCF8574, многоуровневое менюВ рамках работы с неким ардуино-совместимым оборудованием(о нем в конце) понадобился мне экран с кнопками для управления и отображения текущей информации. То есть, была нужна панель оператора, она же HMI.
Решено было сделать HMI самостоятельно, а в качестве интерфейса использовать «квадратную» шину i2c.
Если интересен процесс разработки и программирования подобных девайсов, добро пожаловать под кат.
Читать полностью »
Первые шаги с STM32 и компилятором mikroC для ARM архитектуры — Часть 4 — I2C, pcf8574 и подключение LCD на базе HD4478
2017-02-19 в 22:17, admin, рубрики: hd44780, I2C, lcd, LCD i2c Stm32, microC, PCF8574, PCF8574A, PORT EXTENDER, stm32, Дисплей по i2c, программирование микроконтроллеровСледующую статью я хочу посвятить работе с распространенным интерфейсом i2c, достаточно часто используемом в разнообразных микросхемах, подключаемых к микроконтроллеру.
I2C представляет собой шину работающую по двум физическим соединениям (помимо общего провода). Достаточно много о ней расписано в Интернете, неплохие статьи есть в Википедии. Кроме того алгоритм работы шины очень понятно описан здесь. В вкратце, шина представят собой двухпроводную синхронную шину. На шыне может одновременно находится до 127 устройств (адрес устройства 7-битный, к этому вернемся далее). Ниже приведена типичная схема подключения устройств к i2c шине, с МК в качестве ведущего устройства.
Подключение управлямых блоков питания, сенсоров и реле к серверным материнским платам. Без Arduino
2017-02-01 в 1:00, admin, рубрики: Corsair Link, DIY, diy или сделай сам, freebsd, freenas, gpio, I2C, IPMI, IPMItool, open source, PMBus, SMBus, supermicro, Железо, измерение мощности, крепсондо, микроконтроллеры, микроэлектроника, Моддинг, мониторинг сервера, питание, реле, Системные платы, телеметрия датчиковПодключение различных сенсоров, датчиков, реле, GPIO-расширителей и прочего «ардуиновского» хозяйства по шине I²C напрямую к серверным материнским платам через IPMI-интерфейс бортового контроллера (BMC). Практические примеры I²C-устройств и работа с ними из командной строки утилитой
ipmitool
. SMBus, PMBus и управление блоками питания. Не очень документированные ограничения и вопросы безопасности. Разоблачение проприетарщины.
После установки сервера в самодельную конструкцию порой хочется подключить к нему ещё чего-нибудь: например, датчики температуры, давления, влажности, ЖК-экранчики или даже ШИМ-драйверы моторчиков. Бывают глючные внешние устройства, которые приходится удалённо и жёстко сбрасывать с помощью реле, не уровнив при этом весь сервер целиком. А может, читателю просто захотелось гребёнку GPIO с гирляндой светодиодов? Если это не одноплатник типа Raspberry Pi, а полноразмерный сервер, приходится навешивать микроконтроллер и возиться с ним: писать прошивку, тестировать, налаживать стык с хостом и т.д. Иногда это интересно само по себе, но бывает и наоборот: скорей бы скриптину написать да запустить, наконец, лишь бы работало.
Необычные разъёмы на железе всегда вызывали у автора смешанные чувства инженерно-технического зуда и вентиляторного фетишизма. Об этих занимательных разъёмах здесь и речь.
Читать полностью »
FRAM через I2C для Arduino как замена EEPROM
2017-01-11 в 16:51, admin, рубрики: arduino, c++, FRAM, I2C, библиотека, мотоцикл, панель приборов, приборная панель, программирование микроконтроллеровПродолжу рассказывать про приборную панель для мотоцикла. Это замечательное устройство содержит одометр, то есть, счётчик пройденного пути в километрах, а у того есть плохое свойство — он должен сохранять данные и при выключенном питании. Ой, ещё есть моточасы, их тоже надо хранить как-то энергозависимо.
Внутри Ардуины есть EEPROM, конечно же. Много места не надо, чтобы хранить пяток длинных целых, но есть нюанс. EEPROM имеет слишком ограниченный ресурс на запись. Хотелось бы писать данные раз в несколько секунд хотя бы. Ресурс же EEPROM позволяет это делать вполне обозримое время, то есть, встроенная память явно не вечна.
Читать полностью »
Подключение символьного ЖКИ к плате от WD MyBook Live на AppliedMicro APM82181. Окончание
2016-11-30 в 3:12, admin, рубрики: AppliedMicro, C, hd44780, I2C, LEDE, ЖКИ, обратная разработка, Программирование, программирование микроконтроллеров, Разработка под Linux, реверс-инжинирингДобрый день!
Продожим работу с платой от NAS WesternDigital MyBook Live и подключенным к ней ЖК индикатором.
Итак, в предыдущей части мы нашли на плате место для подключения к шине I2C, подключили расширитель портов с индикатором, убедились что все работает. Сегодня выведем на индикатор состояние системы.
Подключение символьного ЖКИ к плате от WD MyBook Live на AppliedMicro APM82181
2016-11-25 в 5:47, admin, рубрики: AppliedMicro, C, hd44780, I2C, ЖКИ, обратная разработка, Программирование, программирование микроконтроллеров, Разработка под Linux, реверс-инжинирингДобрый день! Целью данной работы было расширение возможностей имеющейся платы от NAS WesternDigital MyBook Live.
Читать полностью »
Гидропоника на подоконнике или C++11 в микроконтроллерах AVR
2015-10-11 в 17:02, admin, рубрики: ATMEGA328P, avr, c++11, DIY, diy или сделай сам, DS3231, I2C, SSD1306, валкодер, гидропоника, программирование микроконтроллеров, Электроника для начинающихПроект не содержит Ардуино
Этот проект изначально должен был выглядеть иначе — монументальное сооружение, состоящее из тумбы с канистрами и насосами, водружённого на неё аквариума и помидорного оазиса поверх него. В райских кущах помидорного оазиса планировался водопад, а в аквариуме — рыбные формы жизни, главное требование к которым — умение поедать незапланированных жителей аквариума и держать в чистоте стёкла; основные кандидаты — сомики и гурами. Как вы уже могли догадаться, мой девиз — «лень — двигатель прогресса» (и чего только не сделаешь, чтобы аквариум не чистить и помидоры не поливать).
Читать полностью »
Библиотека MRAA для работы с платами Intel Edison и Intel Galileo
2015-08-31 в 11:05, admin, рубрики: adc, diy или сделай сам, Edison, galileo, I2C, Intel Edison, intel galileo, IoT, mraa, PWM, uart, ацп, Блог компании Intel, программирование микроконтроллеров, Разработка для интернета вещейЭта статья описывает библиотеку MRAA, которая может существенно упростить работу с различными типами устройств, использующими:
- аналоговый ввод;
- цифровой ввод и вывод;
- широтно-импульсную модуляцию (ШИМ);
- двухпроводную шину I2C;
- Universal Asynchronous Receiver-Transmitter (UART);
- прерывания при изменении уровня входного сигнала.
Bus Blaster — универсальный скоростной bit-bang интерфейс для терпеливых энтузиастов
2015-06-13 в 17:23, admin, рубрики: avr, bit-bang, bus blaster, cpld, diy или сделай сам, FT2232H, ft232, ftdi, I2C, jtag, mpsse, SPI, xilinx, ПЛИС, программатор, метки: bus blaster
Мне давно хотелось иметь какой-нибудь простой и универсальный аппаратный интерфейс с несколькими входными и выходными сигналами, функциональность которого определяется исключительно софтом, вроде достопамятного программатора PonyProg. И чтобы его можно было использовать не только как чтения/записи прошивок, но и для отладки программ через JTAG. При этом покупать что-либо промышленное, при моем нерегулярном баловстве с электроникой, избыточно и нерентабельно — требовалось что-то из серии «полуфабрикатов», на основе bit-bang.
С переходом на 2k/XP возникли сложности с прямым доступом к портам ввода/вывода, но они успешно решались костылями вроде giveio. Гораздо сильнее портила жизнь более высокая фоновая активность в NT, из-за которой сложнее было выдержать стабильность передачи и приема.
Как известно, на современных компьютерах, тем более — ноутбуках, с аппаратными портами не густо, ибо большинству пользователей они не нужны. USB-адаптеры для подключения устройств с интерфейсами RS232 и Centronics (в просторечии — COM/LPT) хорошо работают лишь в рамках основного назначения, а делать на них «дрыгоножество» проблематично по целому ряду причин. Во-первых, большинство этих адаптеров умеет обрабатывать с хорошей скоростью только сигналы данных (те же Tx/Rx), а управляющие сигналы обрабатывает с большими задержками. Во-вторых, адаптеры различных производителей аппаратно несовместимы, а возможности нестандартного управления через драйвер производителя сильно ограничены. В-третьих, для передачи команд адаптеру почти все драйверы используют отдельные USB-пакеты, что ограничивает частоту смены состояний всего тысячей раз в секунду, чего для многих применений катастрофически мало.
К счастью, компания FTDI уже давно предлагает ряд решений для USB, ориентированных именно на скоростной обмен произвольными сигналами. Беглое изучение вопроса показало, что наиболее популярны в этом плане интерфейсы на микросхемах FT232H/FT2232H.
Читать полностью »