Ho un progetto che richiede di eseguire I²C / I2C / TWI su una lunga distanza (da 30 a 40 metri).
Ho visto alcune persone suggerire di abbassare la frequenza di clock a circa 500 Hz, per mitigare gli effetti della capacità di una linea così lunga presumo? I componenti che sto usando richiedono almeno la frequenza di clock standard di 100 kHz. Ho fatto ulteriori ricerche e ho trovato tra le risposte a un'altra domanda un suggerimento per utilizzare un cambio di livello P82B96. Nel foglio dati forniscono esempi di come usarli su linee anche di 100 metri:
mi sono imbattuto in un altro modo di spostare i livelli attraverso una scheda breakout di adafruit , che è solo un mosfet (bss138) con due resistori pull-up (uno per ogni lato / tensione). Hanno preso l'ideauna nota applicativa di NXP (AN10441) e due dei canali presenti potrebbero essere usati in questo modo:
Ora mi chiedo: quale soluzione è la migliore? O c'è qualcosa che ho trascurato? Inoltre, è sufficiente 5 V per garantire una buona connessione? Ci sarebbe un vantaggio nell'utilizzare una tensione ancora più alta come 12V?