Velocità protocollo I2C

Ciao a tutti, ho un arduino 2009 che uso per programmare tramite protocollo i2c delle eprom.
Tramite l'oscilloscopio ho visto che i segnali sulla linea SDA sono di circa 10 microsecondi, è possibile rallentare la velocità di trasmissione di 4 volte (40 microsecondi)? Siccome ho dovuto mettere sulla linea (che è abbastanza lunga) dei condensatori ed in 10 microsecondi non ce la fanno ad andare a zero!!!

Grazie
Gianluca

In una linea in cui il problema maggiore e' di dover mantenere il piu' possibile bassa la capacita, tu vai ad aggiungerne ?

ma quanto e' lunga ?

Se la distanza è notevole puoi provare con degli I2C extender --> http://store.fungizmos.com/items/343
--> http://www.nxp.com/products/interface_and_connectivity/i2c/i2c_bus_repeaters_hubs_extenders/series/P82B715.html

Mi sembra di aver capito che i segnali di SDA variano al variare del SCL... SDA cambia quando SCL è basso, tranne per lo start e lo stop.
In pratica il clock potrebbe essere anche di mezzo secondo!!!
A me servirebbe di rallentare la velocità a questi livelli "estremi"....

Ho già provato modificando il valore di TWBR ma è sempre molto veloce....

Jurgen:
Mi sembra di aver capito che i segnali di SDA variano al variare del SCL... SDA cambia quando SCL è basso, tranne per lo start e lo stop.
In pratica il clock potrebbe essere anche di mezzo secondo!!!
A me servirebbe di rallentare la velocità a questi livelli "estremi"....

Ho già provato modificando il valore di TWBR ma è sempre molto veloce....

Quant'é la distanza tra i 2 dispositivi???
Ciao Uwe

Ciao, circa... 20 mt...

Jurgen:
Ciao, circa... 20 mt...

Allora con due P82B715 dovresti farcela. Ma togli tutti i condensatori.

Ciao Uwe

Grazie.... Ma senza usare i ripetitori?! Non c'è verso di abbassare la velocità?!
Sono quasi sicuro che basterebbe quello...
A me basta scrivere su due allocazioni di memoria consecutive, non ho bisogno di velocità...
Sto cercando di farlo "a mano" alzando ed abbassando i segnali di due porte analogiche "simulando" il protocollo...
Purtroppo sto sbagliando qualche cosa...

non so' quanto hai messo su TWBR, ma si puo' scendere di parecchio

Ho messo: TWBR = 158; TWSR |= _BV (TWPS0); Dovrei andare a 12,5 Khz

Non incasinarti la vita e utilizza una coppia di P82B715 che sei a posto...io collegavo due arduini a circa 30 metri senza problemi...poi ho dovuto allungare la distanza e sono passato a RS485...se vuoi li ho ancora nel cassetto fai un fischio...