Я подумываю о внедрении системы домашней автоматизации вокруг моего Raspberry Pi, но я обнаружил, что для установки Pi в каждом месте требуются цена и пространство, поэтому для управления требуется слишком много, но кабели Cat5e, необходимые для этой конструкции, уже были установлены во время ремонта. У меня есть несколько PCF8574, PCF8591 и SSR, поэтому можно ли управлять ими с помощью кабелей Cat5e?
Все мои кабели Cat5e уже подключены с распиновкой TIA / EIA 568B. Они являются частью моего структурного кабеля и не экранированы, поэтому требуется более высокое напряжение сети. Я думаю об отправке линий питания и I2C по кабелю с этой распиновкой:
Pin 1 (Pair 1): SCL+
Pin 2 (Pair 1): SCL-
Pin 3 (Pair 2): SDA+
Pin 4 (Pair 3): +12V
Pin 5 (Pair 3): +12V
Pin 6 (Pair 2): SDA-
Pin 7 (Pair 4): GND
Pin 8 (Pair 4): GND
Расположение выводов питания такое же, как и в проводке 100BASE-TX PoE, поэтому номинальная мощность также будет такой же, а использование двунаправленной дифференциальной сигнализации можно найти в 1000BASE-T, для которого требуется Cat5e.
Исходные линии I2C SCL и SDA выводятся в виде двух двунаправленных дифференциальных пар на уровнях TTL (открытый сток не сохраняется на проводе, а восстанавливается в устройстве завершения / сдвига уровня, которое я проектирую)
Любое предложение по этому поводу? Кроме того, какую микросхему я должен использовать для преобразования линий I2C в дифференциальную сигнализацию? Пожалуйста, предложите мне фишки с DIP-сквозным отверстием. Я не знаю, как обращаться с SMT.
РЕДАКТИРОВАТЬ
Я нашел этот чип, SN65LBC180, это хороший выбор? Как подключить его в двунаправленный блок? Как сместить уровень (это часть BiCMOS, требующая уровня TTL, но Pi управляет на 3,3 В CMOS-уровнях) и сделать его совместимым с открытым стоком?
РЕДАКТИРОВАТЬ 2
Комментаторы предложили RS-485, который показался мне приемлемым, но все же две дифференциальные пары должны быть двунаправленными и иметь только две двунаправленные дифференциальные пары. Я переназначаю существующие кабели Ethernet.
РЕДАКТИРОВАТЬ 3
Поскольку кто-то поднял этот вопрос, я не могу использовать CAN. Я никак не могу установить CAN на RPi, не жертвуя чем-либо (SPI занят сенсорным экраном, поэтому нет конвертера SPI в CAN)
Мне известно об ограничении I2C PHY, поэтому я в основном пытаюсь приспособить 1000BASE-T PHY к нему - двунаправленную дифференциальную сигнализацию для сигналов SCL и SDA, но поверх этого работает протокол I2C.
РЕДАКТИРОВАТЬ 4
Мне пришла новая микросхема: NXP P82B96, которая разделяет I2C на 4 однонаправленные линии, которые, в свою очередь, могут использоваться для подачи в SN65LBC180 через оптоизоляцию (только на стороне Pi) для формирования 8-контактной сигнализации о готовности к дальней дистанции. Теперь мне просто нужно выяснить, как получить питание по проводам или как определить, отправляет ли шина, и сделать пары двунаправленными.
РЕДАКТИРОВАТЬ 5
Из предложений ответов, я думаю, мне нужно немного изменить распиновку питания:
Pin 1 (Pair 1): SCL+
Pin 2 (Pair 1): SCL-
Pin 3 (Pair 2): SDA+
Pin 4 (Pair 3): +5V
Pin 5 (Pair 3): GND
Pin 6 (Pair 2): SDA-
Pin 7 (Pair 4): GND
Pin 8 (Pair 4): +12V
Напряжение дифференциальной сигнализации I2C - TTL. + 5 В по паре 3 исходит от Пи, без буфера, но слитый. + 12 В по паре 4 может отсутствовать, используется только для управления некоторыми мощными устройствами. При необходимости устройство может использовать свой собственный источник питания и оставлять обе вешалки неподключенными или подавать свое более высокое напряжение, но использовать шину 5 В.
СОТРИТЕ ЭТО
Распиновка - все еще мой оригинальный дизайн, который совместим с 802.1af.