przedłużacz i2c

witam.

zrobiłem sobie zegar (dcf) i termometr (ds1621) w jednym. Ma mały problem z przedłużeniem szyny i2c - chciałem aby pomiar temperatury był jak najdokładniejszy, wiec pociągnąłem przewód na północną ściane domu. wyszło ok 30 metrów przewodu (skrętka komputerowa). Do przedłużenia szyny zastosowałem układ p82b715pn. Na chwile obecna termometr milczy. zakładam ze wszystko jest zrobione prawidłowo (na krótko działa)

mam teraz pytania:

- jaki może być maksymalnie długość przewodu pomiędzy dwoma układami p82b715pn

- czy może to być skrętka komputerowa?

- czy jest jakis inny układ przedłużający i2c

- do p82b715pn scl i sda to jedna para skręconych przewodów. Czy uzyska się lepszy efekt, gdy do przesłania scl i sda wykorzysta się więcej niż jedną żyłe?

pozdrawiam!

Reply to
bdronka
Loading thread data ...

Powitanko,

W pdfie masz napisane. Testowalem kiedys na krazku kabla 100m telefonicznego plaskiego, dzialalo.

Od biedy tak, zalezy jakie przewody wykorzystasz.

Skrecanie ze soba zegara i danych raczej sensu nie ma, moze byc wrecz szkodliwe. Ja bym probowal dac sda jedna zyla, pare od niej umasic i tak samo z scl. Masy polaczyc w jednym miejscu, drugi koniec wolny. Osobno zasilanie, to juz moze isc 1 para.

Pozdroofka, Pawel Chorzempa

Reply to
Pawel "O'Pajak

Zrób to, co napisał Paweł (zmień używane przewody) a do tego podaj, na jakiej częstotliwości chodzi Ci I2C i ewentualnie próbuj z mniejszą ;)...

Według PDFa to typowo 50m lub 3000pF (długość w pF? :P)

Drut to drut ;).. choć skrętka to raczej do transmisji różnicowej, więc trzeba uważać...

Nigdy nie używałem...

Co to znaczy DO układu?? Ja rozumiem, że masz tak: uC -> P82B715PN =================> P82B715PN -> termometr Gdzie krótkie strzałki symbolizują krótkie połączenia w obrębie PCB, a długa strzałka ==> to połączenie skrętką... Dobrze wnioskuję??

A co do Twojego pytania - to nie możesz zwiększać ilości przewodów! Dając więcej żył dajesz równolegle kilka kondensatorów, co owocuje większą pojemnością i tym bardziej transmisja nie pójdzie. No i nie puszczaj SDA i SCL tą samą parą!

Pozdrawiam Konop

Reply to
Konop

Konop schrieb:

Kiedyś pojemność kondensatorów była podawana w cm, dlaczego więc nie na odwrót? ;-)

Z tego, że czasami działa wnioskuję raczej, że albo OP puścił SCL i SDA jedną parą (przesłuchy), albo nie dobrał odpowiednio pull-upów. Najpierw dać odpowiednio wyliczone oporniki na długiej linii (z obu stron), no i oczywiście muszą być na wejściach międzymordzia, ale to już nie jest krytyczne (4.7k do 10k, w zależności od napięcia). No i jakim napięciem są te interface zasilane. Musi być przynajmniej 5V, jak ma być wszystko zasilane z 3.3V to trzeba wymienić układ na P82B96.

Waldek

Reply to
Waldemar Krzok

napięcie ze stabilizatora 5V rezystory powinny być na Lx czy Sx?

pozdrawiam i dzięĸuję za odpowiedz:)

Reply to
bdronka

napięcie ze stabilizatora 5V rezystory powinny być na Lx czy Sx?

zmieniłem pary, scl i sda idą zyłą w innych parach, ale nadal nie działa. Czy taka kombinacja byłaby dobra: uC -> P82B715PN ===> P82B715PN->P82B715PN ===> P82B715PN->ds1621 (zastosowanie P82B715PN pośrodku trasy)

pozdrawiam i dzięĸuję za odpowiedz:)

Reply to
bdronka

napięcie ze stabilizatora 5V rezystory powinny być na Lx czy Sx?

zmieniłem pary, scl i sda idą zyłą w innych parach, ale nadal nie działa. Czy taka kombinacja byłaby dobra: uC -> P82B715PN ===> P82B715PN->P82B715PN ===> P82B715PN->ds1621 (zastosowanie P82B715PN pośrodku trasy)

spytam jeszcze czy pojemność mierzyć na podłączonym P82B715PN czy samej pary przewodów?

pozdrawiam i dzięĸuję za odpowiedz:)

Reply to
bdronka

bdronka schrieb:

Rezystory musisz mieć po obu stronach drivera, na długim przewodzie najlepiej po obu stronach. Czyli w sumie 3 lub 4 pary rezystorów. Ewentualnie nawet zastosować aktywne podciągarki, można znaleźć na stronach Philipsa o I2C. Chwilowo mi sznurek znikł, ale pewnie znajdziesz. Rezystory na długiej linii muszą być dość małe (wzór jest w pdfie drivera), najlepiej po obu stronach, ale zacznij najpierw od strony termometru. Pojemność samego kabla + 10pF "na rozkusz", bierzesz opornik z rzędu mniejszy od tego, co ci wyszło. Od strony termometru i mikroprocesora możesz dać coś między 5 i 10kOhm. Na ogół wartość jest opisana w pdfie. W każdym razie przy MSP430Fxxxx daję 10kOhm lub 8.2k przy 3.3V linii, ale nie mam takich długich odcinków (góra 30cm) no i MSP są ultra low power. Jak masz oscyloskop to zobacz, jakie zbocza wychodzą i dopasuj oporniki tak, by było jak najprostokątniej, a drivery jeszcze w miarę zimne. ;-)

Waldek

Reply to
Waldemar Krzok

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.