Calcolo resistenza pull-up/down

Salve,
avrei un quesito ci sarebbe una formula per calcolare in base a quanti dispositivi ci sono in I2C quale residenza ci vuole?
Io ho queste cose collegate però mi da dei lag quando interroga gli integrati ora ho su 2 resistenze da 4.7 K.
Questa e la lista:
DS3231 tempo 1, 1 eeprom 24LC512, 1 HIH6120 temp / humidity , 2 PCA9865 per RGB e ATMEGA32U4 micro

Non è che il ritardo è causato dall'EEPROM?

Se fosse dovuto ad una erronea polarizzazione, le varie periferiche non comunicherebbero.

Tra l'altro alcuni moduli (ad esempio lo RTC) hanno già dei resistori di pull up sul bus I2C, per cui i resistori addizionali non occorrono.

L'importante è che la resistenza parallelo equivalente non scenda al di sotto di 1k.

In genere valori bassi di resistenza si inseriscono nel caso di capacità parassite dei cavi più elevate (>200pF).

In che senso errata polarizzazione!?

cyberhs:
Non è che il ritardo è causato dall'EEPROM?

Se fosse dovuto ad una erronea polarizzazione, le varie periferiche non comunicherebbero.

Tra l'altro alcuni moduli (ad esempio lo RTC) hanno già dei resistori di pull up sul bus I2C, per cui i resistori addizionali non occorrono.

L'importante è che la resistenza parallelo equivalente non scenda al di sotto di 1k.

Ciao, se non erro le resistenze sono in funzione della velocità del bus non delle periferiche collegate....

Sulla I2C, da specifiche, le R di pullup vanno dimensionate per far scorrere 3 mA, pertanto con 5V il valore corretto è 1.66K, dato che non esiste va bene 1.5K, è possibile lavorare con solo 1 mA, 5K di R (4.7K valore commerciale), se i cavi sono molto corti, pochi cm, e c'è un solo device connesso.

Quindi con 5 dispositivi + il micoro mi consigli di mettere 2.2k!? prima di meteore eeprom andava tutto si vede che di è abbassato troppo il valore del bus...

astrobeed:
Sulla I2C, da specifiche, le R di pullup vanno dimensionate per far scorrere 3 mA, pertanto con 5V il valore corretto è 1.66K, dato che non esiste va bene 1.5K, è possibile lavorare con solo 1 mA, 5K di R (4.7K valore commerciale), se i cavi sono molto corti, pochi cm, e c'è un solo device connesso.

Come ti ha detto:

astrobeed:
Sulla I2C, da specifiche, le R di pullup vanno dimensionate per far scorrere 3 mA, pertanto con 5V il valore corretto è 1.66K, dato che non esiste va bene 1.5K, è possibile lavorare con solo 1 mA, 5K di R (4.7K valore commerciale), se i cavi sono molto corti, pochi cm, e c'è un solo device connesso.

cavo lungo? = resistenza bassa
cavo corto? = resistenza alta.
prova ad abbassare gradualmente finche hai stabilita e velocita.

Che tutti gli altri componenti sono vicini tranne eeprom che dista 11 cm .. adesso ho messo in parallelo le 4.7k ma non va ancora lagga..

elpapais:
Come ti ha detto:
cavo lungo? = resistenza bassa
cavo corto? = resistenza alta.
prova ad abbassare gradualmente finche hai stabilita e velocita.

scusa... ma che significa "lagga" ? Qual'è il difetto?

Ho delle funzioni che deve leggere in i2c e arriva in ritardo a farle o non le fa perché e già passato il suo tempo di lettura o addirittura mi blocca tutto

cam9500:
scusa... ma che significa "lagga" ? Qual'è il difetto?

Perché non posti anche il codice ? :wink:

Troppo grande il codice e complesso cmq prima di mettere l'eeporm andava tutto e quella la legge per ultimo ma mi blocca prima il resto.. cmq ora ho 3.8volt nel canale I2C con due resistenze in parallelo 4.7 k che in teoria doverei avere 2.35V

As_Needed:
Perché non posti anche il codice ? :wink:

Lo puoi sempre allegare il codice :wink:

Galeots:
Ho delle funzioni che deve leggere in i2c e arriva in ritardo a farle o non le fa perché e già passato il suo tempo di lettura o addirittura mi blocca tutto

Ma le funzioni sono sequenziali quindi non dovresti avere problemi, che scheda stai usando?

cmq ora ho 3.8volt nel canale I2C con due resistenze in parallelo 4.7 k che in teoria doverei avere 2.35V

A 5v 3.8 è il limite minimo per il livello alto (SPECIFICHE I2C) ma se dici 2.35 si direbbe di una periferica a 3.3v..... Le alimentazioni delle periferiche i2c sono tutte a 5v? Non puoi utilizzare Vdd diverse senza adattare i livelli.