Мост I2C-UART в виде прорыва или в корпусе DIP
Для проекта мне нужно подключить более одного устройства к Arduino через последовательный порт с аппаратным управлением потоком данных (RTS/CTS).
Sparkfun раньше производила разделительные платы для SC16IS750, но этот продукт снят с производства, и я не могу найти в любом месте заказать. Есть также много микросхем, которые делают то, что мне нужно, но я не увлекаюсь пайкой SMD- компонентов и не могу найти какие-либо продукты, например, в старомодном DIP-корпусе.
Кто-нибудь знает о доступной коммутационной плате или DIP-пакетах I2C для моста UART? Поскольку устройство будет питаться от батареи, я бы предпочел выделенную маломощную схему вместо запрограммированного микроконтроллера, как предлагает majenko.
@jarnbjo, 👍4
Обсуждение1 ответ
Лучший ответ:
Возможно, то, что вы ищете:
http://sandboxelectronics.com/?product=sc16is750-i2cspi-to-uart -bridge-модуль
С этой страницы:
Модуль SC16IS750 I2C/SPI-UART Bridge
Этот модуль предназначен для преобразования I2C/SPI в UART. Он работает в ведомом режиме I2C/SPI и взаимодействует с устройствами, работающими в ведущем режиме I2C/SPI. Также есть 4 дополнительных GPIO для расширения ввода-вывода. В качестве ключевого компонента этого модуля используется NXP SC16IS750. Также поддерживаются сигналы управления потоком и модема.
Этот модуль полезен, когда требуется дополнительный интерфейс UART. Из-за характеристик I2C и SPI с несколькими ведомыми устройствами в систему можно одновременно добавить множество интерфейсов UART.
@MichaelWilkinson Пожалуйста, рассмотрите возможность публикации небольшого резюме, потому что ваше сообщение станет бесполезным, когда источник, на который вы ссылаетесь, изменится или будет удален., @Ariser
Согласен, ссылки со временем устаревают. Пожалуйста, обобщите свой ответ, чтобы он был самостоятельным. Хотя бы укажите номер детали и, возможно, опубликуйте ее фотографию., @Nick Gammon
- Последовательная связь между несколькими устройствами (или ардуино)
- I2C связь между Arduino Uno и Nodemcu32-s (ESP32)
- Альтернатива LCD-дисплеям UART/I2C?
- Плата управления реле I2C от двух Arduino Uno
- Доступ к мультиплексным контактам I2C и UART STM32F103 в arduino IDE
- Попытка понять узкое место частоты дискретизации датчика
- Понимание таблицы данных датчика газа HCHO
- Отправка и получение различных типов данных через I2C в Arduino
Как насчет ATMega328P, запрограммированного на то, что вы хотите...?, @Majenko
@Majenko Почему я не подумал об этом. Это действительно сработало бы, но поскольку мне нужно, чтобы мост был всегда включен в устройстве с батарейным питанием, энергопотребление ATMega328P как минимум невыгодно. Я бы предпочел выделенную цепь. Я отредактирую свой вопрос и добавлю требования к мощности., @jarnbjo
ATTiny немного снизит энергопотребление, так же как и использование спящих режимов и пробуждение по прерываниям I2C или UART., @Majenko
Да, спящие режимы должны делать это. Обратите внимание, что аппаратное управление потоком не является несовместимым с концепцией последовательного программного обеспечения, хотя может быть несколько деталей, которые необходимо проработать. Также могут быть доступны ATmega с двумя UART в больших корпусах DIP., @Chris Stratton
Вы действительно должны потратить час или два на то, чтобы научиться паять SMD-устройство — это совсем не сложно и устранит эти крайние ограничения, с которыми вы сталкиваетесь., @Chris Stratton
Согласно тому, что я прочитал, концепция «пробуждения по активности UART» не сработает. После пробуждения ATMega потребуется некоторое время, чтобы возобновить нормальную работу, и как минимум первый байт передачи UART будет потерян. Использование такого подхода требует управления передатчиком. который должен сначала отправить фиктивный «байт пробуждения» по UART, задержаться на короткий период, чтобы дождаться правильной работы ATMega, а затем начать реальную передачу. Поскольку я не могу изменить протокол, используемый подключенными устройствами, это не сработает., @jarnbjo
Менее дорогой вариант? У меня нет личного опыта, но я искал способ добавить второй аппаратный UART в Arduino Uno. https://www.embeddedadventures.com/i2c_to_uart_mod-1025.html, @exit8