Sto pensando di impiantare un sistema di automazione domestica attorno al mio Raspberry Pi, ma ho trovato il prezzo e lo spazio richiesto per inserire un Pi ogni posto in cui un certo controllo è richiesto troppo ma i cavi Cat5e richiesti per questo progetto sono già installati durante il rinnovo. Ho alcuni PCF8574, PCF8591 e SSR in giro, quindi è possibile guidarli usando cavi Cat5e?
Tutti i cavi Cat5e sono già cablati con pinout TIA / EIA 568B. Fanno parte del mio cablaggio strutturale e non sono schermati, quindi è necessaria una tensione di linea più elevata. Sto pensando di inviare linee di alimentazione e I2C sul cavo, con questo pinout:
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
La disposizione dei pin di alimentazione è la stessa del cablaggio PoE 100BASE-TX, quindi anche la potenza nominale sarà la stessa, e l'utilizzo del segnale differenziale bidirezionale si trova in 1000BASE-T che richiede Cat5e.
Le linee I2C SCL e SDA originali sono derivate in due coppie differenziali bidirezionali ai livelli TTL (lo scarico aperto non viene mantenuto sul filo, ma ripristinato nel dispositivo di terminazione / spostamento del livello che sto progettando)
Qualche suggerimento al riguardo? Inoltre, quale chip dovrei usare per convertire le linee I2C nella segnalazione differenziale? Per favore, suggeriscimi chip con l'opzione DIP through-hole. Non so come gestire le cose SMT.
MODIFICARE
Ho trovato questo chip, SN65LBC180, è una buona scelta? Come collegarlo in un'unità bidirezionale? Come spostare il livello (è una parte BiCMOS che richiede il livello TTL ma le unità Pi a livelli CMOS 3.3v) e renderlo compatibile con lo scarico aperto?
MODIFICA 2
I commentatori hanno suggerito RS-485 che mi è sembrato accettabile, ma le due coppie differenziali devono comunque essere bidirezionali e solo due coppie differenziali bidirezionali. Sto riproponendo i cavi Ethernet esistenti.
MODIFICA 3
Da quando qualcuno l'ha allevato, non posso usare CAN. Non è possibile adattare CAN su RPi senza sacrificare nulla (SPI è occupato da un touchscreen, quindi nessun convertitore da SPI a CAN)
Sono a conoscenza della limitazione di I2C PHY, quindi sto essenzialmente cercando di adattare 1000BASE-T PHY ad esso - segnalazione differenziale bidirezionale per segnali SCL e SDA, ma per di più esegue il protocollo I2C.
MODIFICA 4
Mi è venuto in mente un nuovo chip: NXP P82B96 che divide I2C in 4 linee unidirezionali, che a loro volta possono essere utilizzate per alimentare SN65LBC180 attraverso optoisolamento (solo lato Pi) per formare una segnalazione pronta a lunga distanza a 8 pin. Ora ho solo bisogno di capire come ottenere energia attraverso il filo o come determinare se il bus sta inviando e rendere bidirezionali le coppie.
MODIFICA 5
Dai suggerimenti di risposte, penso di aver bisogno di cambiare un po 'la potenza del pinout:
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
La tensione di segnalazione differenziale I2C è TTL. Il + 5V sulla coppia 3 proviene dal Pi, senza buffer ma fuso. La coppia + 12V + potrebbe non essere presente viene utilizzata solo per pilotare alcuni dispositivi ad alta potenza. Se necessario, il dispositivo può utilizzare il proprio alimentatore e lasciare entrambe le guide sospese non collegate o fornire la propria tensione più elevata ma utilizzare la guida 5V.
GRATTALO
Pinout è ancora il mio design originale, che è compatibile con 802.1af.