Преобразование RS-232 в I2C?

У меня есть оборудование, которое взаимодействует с помощью трехпроводного интерфейса RS-232, и я хочу установить с ним связь с помощью I2C. В другом посте здесь рассказывается об обертывании I2C в последовательный порт или наоборот. Я думаю об использовании MCU для ввода/вывода как RS-232, так и I2C в качестве своего преобразования, и я знаю о необходимости использования MAX232 или чего-то подобного между RS-232 и MCU. Нужно ли мне сначала преобразовать RS-232 в последовательный интерфейс, такой как UART, а затем в I2C, или я могу поместить RS-232 прямо в MCU, который затем выводит эти данные через I2C или наоборот? Или для связи MCU и RS-232 обязательно требуется преобразование в последовательный интерфейс, и если да, то нужно ли мне что-то большее, чем чип MAX232?

Для этого есть готовые решения, если вам интересно
Почему вы хотите использовать I2C?
типичные MCU имеют один или несколько UART, поэтому, чтобы получить доступ к RS232 или RS485 и т. д., вы можете заставить что-то работать только с чипом MAXxxxxx, который это делает. I2C предназначен для связи с определенным чипом, который говорит только таким образом (часто с датчиком). Для MCU обычно тривиальная задача перелопатить данные туда и обратно. Если вообще нет специалиста по программированию прошивки MCU, вы все равно можете получить готовое мостовое устройство «i2c -> usb», что приведет к тому, что хост-ПК останется в цикле. Также можно использовать Raspberry Pi. IMO, однако решение MCU более универсально, т. к. лучше контролируется время в прошивке.
Nexperia производит UART и DUART, подключенные к I2C, они должны делать то, что вам нужно (также добавьте приемопередатчик, чтобы получить правильные уровни)

Ответы (2)

MAX232 или аналогичный — это драйвер/приемник линии, который преобразует уровни и полярность сигналов RS-232 в уровни и полярность последовательного порта UART MCU.

USB не будет задействован в вашей задаче.

Итак, MAX232 преобразуется в UART для MCU, и это все, что мне нужно?
@InBedded16, Re, "...и это все, что мне нужно?" По той скудной информации, которую вы дали, невозможно сказать, что вам нужно.

RS232 уже является последовательным протоколом UART. Вам не нужно преобразовывать его в USB или что-то еще, прежде чем использовать транслятор уровня RS232 и подключать его к контактам UART MCU.

Кроме того, вы, похоже, хотите преобразовать I2C в UART, а не UART в I2C. Чипы I2C, реализующие UART, существуют. Или вы можете подключить MCU для преобразования между ними, или просто получить достаточно большой MCU с достаточным количеством контактов, чтобы просто использовать UART напрямую.