Hullut sointipituudet, kuten 10,25 ja 100 m, ovat täysin mahdollisia, ja käytän menetelmää usein (UART: n kanssa ei I2C, mutta menetelmä pysyy), kun minun on koottava tavaraa nopeasti. Se ei kuitenkaan ole paras tapa.
Tärkeintä on tietää tulojännitekynnyksesi. Varmista, että maadoitusjohdon jännitehäviö on selvästi tämän alapuolella, muuten korkean maapotentiaalin lähetin ei pysty vetämään jännitettä tarpeeksi matalalle. Maapoikkeamien suvaitsematon puute IMHO on suurin syy RS485: n tai voi-lähetin-vastaanottimien käyttöön (I2C yli CAN on mainittu muutamissa sovellushuomautuksissa).
Ihannetapauksessa kaikilla laitteilla on oma seinän syylä ja akku ja maadoitusjohdon kautta ei lähetetä virtaa laitteiden välillä.
Otetaan esimerkiksi CAT5. CAT5 ei voi olla suurempi kuin 52pf / m, tai se ei ole CAT5.
100 metrin 52pf-kaapelin kapasitanssi on 5200pf tai 5.2nf.
5,2 n kertaa 20 kohmia (pullup) antaa noin 104 mikrosekunnin aikavakion. Tämä rajoittaa nopeuden noin 10 kHz: iin.
2,2 kohm -vetoja käyttämällä saatat todennäköisesti saavuttaa 100 kHz: n.
Olen kuullut, että laitteilla tulisi olla vastus SDL: ssä ja SCK: ssa, koska suuresta kapasitiivisesta kuormasta, jota he ajavat, noin 180 tai 200 ohmia.
Mutta rehellisesti sanottuna, I2C ei ole mitenkään oikea tapa kulkea pitkiä matkoja. CAN-lähetinvastaanottimet tai RS485, joita käytetään normaalin UART: n kanssa, on vankka ratkaisu, jolla on erittäin hyvä vikasuojaus, ESD-vastus, nopeus, etäisyys jne., Dollarin sirun kustannuksella, maadoitussiirroilla ei ole väliä melkein yhtä paljon kuin sinäkin vapaasti kuljettaa voimaa yhdessä datan kanssa.
Ainoa haittapuoli on, että tölkin lähetin-vastaanotin voi saavuttaa 70ma: n lähetyksen ja 1 tai 2ma: n vain kuuntelun, joten I2C tai suora TTL UART voi olla hyödyllinen äärimmäisen pienitehoisissa tilanteissa, mieti, kuinka paljon aikaa vietät lähettämiseen.