I2C i dwa urzadzenia
Masz problem? Zapytaj na forum elektroda.pl
From: "radek" <rad_at_nospam_z.pl>
Subject: I2C i dwa urzadzenia
Date: Tue, 17 Aug 2004 11:05:49 +0200
Witam!
Mam podlaczone dwa urzadzenia do I2C.
Jedno jest blisko-0,5 metra, drugie daleko, 40 m dalej. Oba pracuja
poprawnie, jak sa podlaczone osobno. Gdy je wepne razem, pracuje urzadzenie,
ktore jest dalej, to blizsze nie. Przez jakie kondensatory (rezystory)
podlaczyc je nalezy do magistrali? Teraz sa podlaczone przez kondensatory
330 Ohm
pozdrawiam i dziekuje za odpowiedz!
========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai
From: RobertG <grzybr_at_nospam_mai1.zetosa.com.pl>
Subject: Re: I2C i dwa urzadzenia
Date: Tue, 17 Aug 2004 11:45:37 +0200
On Tue, 17 Aug 2004 11:05:49 +0200, radek <rad_at_nospam_z.pl> wrote:
Jedno jest blisko-0,5 metra, drugie daleko, 40 m dalej. Oba pracuja
poprawnie, jak sa podlaczone osobno. Gdy je wepne razem, pracuje
urzadzenie, ktore jest dalej, to blizsze nie. Przez jakie kondensatory
(rezystory) podlaczyc je nalezy do magistrali? Teraz sa podlaczone przez
kondensatory 330 Ohm
Rozumiem że miałeś na myśli dwa rezystory 330 ohm.
Przekroczyłeś dopuszczalną pojemność lini I2C - jedyne ograniczenie
twórców standardu które determinuje długość takiej lini.
Powinieneś zastosować extender (1 parę układów wydłużających szynę I2C).
Możesz zastosować lepsze kable i trochę zmiejszyć wartość rezystorów
podciągających ale 40 metrów to dużo (chyba za dużo IMHO).
HTH,
RobertG.
========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!not-for-mai
From: "Pawel Dienwebel \(Pelos\)" <pelos_at_nospam_pelos.pl>
Subject: Re: I2C i dwa urzadzenia
Date: Tue, 17 Aug 2004 11:47:52 +0200
Użytkownik "radek" <rad_at_nospam_z.pl> napisał w wiadomości
news:cfshol$q86$1_at_nospam_inews.gazeta.pl...
Witam!
Mam podlaczone dwa urzadzenia do I2C.
Jedno jest blisko-0,5 metra, drugie daleko, 40 m dalej. Oba pracuja
poprawnie, jak sa podlaczone osobno. Gdy je wepne razem, pracuje
urzadzenie,
ktore jest dalej, to blizsze nie. Przez jakie kondensatory (rezystory)
podlaczyc je nalezy do magistrali? Teraz sa podlaczone przez kondensatory
330 Ohm
Yyyyyy kondensatory 330Om ?
Chodzi Ci o pullupy ? Jesli masz pullupy 330Om to za malo - ja bym probowal
miedzy 2k2 a 1k0 przy takich odleglosciach.
Zalezy jeszcze co jest napisane w pdfach od tych urzadzen.
--
Pelos
http://www.pelos.pl
Troche ksiazek o elektronice
http://www.allegro.pl/show_user_auctions.php?uid=26946
=======
From: "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl>
Subject: Re: I2C i dwa urzadzenia
Date: Tue, 17 Aug 2004 12:20:09 +0200
Użytkownik "radek" <rad_at_nospam_z.pl> napisał w wiadomości
news:cfshol$q86$1_at_nospam_inews.gazeta.pl
Mam podlaczone dwa urzadzenia do I2C.
Jedno jest blisko-0,5 metra, drugie daleko, 40 m dalej. Oba pracuja
poprawnie, jak sa podlaczone osobno. Gdy je wepne razem, pracuje
urzadzenie, ktore jest dalej, to blizsze nie.
Na mój gust I2C z_zasady nie nadaje się do pracy na długich liniach.
Tzn. nawet jeśli zadziała to bez gwarancji, że zawsze i przy dowolnej
kombinacji transmitowanych danych.
W przypadku RS485 możesz na tyle zwolnić prędkość transmisji, że próbkowanie
stanu bitu w odbiorniku nastąpi dopiero po ustaleniu stanu na magistrali.
Czyli w momencie gdy biegające w linii odbicia ulegną wytłumieniu do
wymaganego poziomu. Poza tym konstrukcja interfejsów pozwala na łatwe
dopasowanie końców linii. Gdyby nie ograniczenie ze względu na max.
rezystancję linii, to RS485 w zasadzie nie miałby określonego max. zasięgu
transmisji (oczywiście pod warunkiem odpowiednio spowolnionego taktowania)
Automat interfejsowy I2C reaguje na zbocza sygnałów. W złośliwym
przypadku sygnał powracajacy po odbiciu od niedopasowanego końca linii (lub
ich kombinacja) może zostać zinterpretowany jako dodatkowe zbocze wysyłające
I2C w maliny.
Wyobrażmy sobie, że mamy nadajnik I2C (a ściślej to zarazem i odbiornik),
kawałek linii długiej i odbiornik. Urządzenie I2C jako odbiornik (tzn.
jeśli nie nadaje tylko słucha) z punktu widzenia linii jest obciążeniem
wysokoimpedancyjnym. Czyli linia na końcu nie jest dopasowana. Ew.
rezystory podciągające rzędu 1...10kohm też mają się nijak do przeciętnej
impedancji falowej kabelka rzędu kilkadziesiąt...stokilkadziesiat ohm.
Nadajnik wysyła w linię zbocze sygnału. Impuls biegnie w linii, odbija się
od jej niedopasowanego końca i wraca do nadajnika. Linia względnie krótka,
tłumi słabo, więc amplituda odbicia prawdopodobnie będzie wystarczająca,
żeby mogła być zinterpretowana jako zmiana stanu logicznego - np. dodatkowy
warunek Start/Stop albo fałszywe ACK.
Teraz sa podlaczone przez kondensatory 330 Ohm
Ekhm... Czegoś nie rozumiem? ;-)
Spróbujmy jednak tą linię dopasować. Założyć na końcach rezystory 100ohm?
Tak obciążonej linii nie wysteruje żadne standarowe urządzenie I2C.
Dopasowac dynamicznie dwójnikami RC? Mocno spłaszczy zbocza, a do tego
zupełnie różnie w przypadku zboczy narastających i opadających (nadajnik ma
skrajnie różną impedancję w stanach H i L). Pamietajmy, że odbiornik
reaguje na zbocza więc nie można ich dowolnie spłaszczać. Stąd wniosek,
że tak dopasowanej linii o typowej wartości impedancji falowej rzędu
stokilkadziesiąt omów nie_da się wysterować z mało wydajnych wyjść I2C.
Czytałem kiedyś felieton na temat gotowania jajek w mikrofalówce. Ludzie
wymyślili dziesiątki bardziej lub mniej udanych patentów, żeby nie musieć
skrobać jajecznicy z kuchenki. Za wyjątkiem jednego: Przyznać, że
mikrofalówka nie nadaje się do gotowania jajek i sięgnąć po garnek jako
odpowiednie narzędzie. Zatem I2C nie nadaje się do łączenia odległych
urządzeń. Do tego są inne rozwiązania. Howgh! ;-)
BTW:
W Elfie można kupić układy 82B715 (73-715-11):
http://www.elfa.se/pdf/73/737/07371511.pdf
Może takie extendery rozwiążą problem? Tzn. urządzenie bliskie podłączasz
bezpośrednio a odległe przez parkę extenderów.
Dostaniesz je też w TME (tylko szybko - 2szt. DIP na magazynie! ;-) , ale za
to taniej niż w Elfie)
http://www.tme.pl/katalog/index.phtml?&f_szukaj=82B715&f_radio=&idp=1
--
Marek Dzwonnik, GG: #2061027 (zwykle jako 'niewidoczny')
========
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mai
From: "tomekg" <tgronowicz_at_nospam_remove.poczta.onet.pl>
Subject: Re: I2C i dwa urzadzenia
Date: Tue, 17 Aug 2004 13:52:59 +0200
Witam,
Mam podlaczone dwa urzadzenia do I2C.
Jedno jest blisko-0,5 metra, drugie daleko, 40 m dalej. Oba pracuja
poprawnie, jak sa podlaczone osobno. Gdy je wepne razem, pracuje
urzadzenie, ktore jest dalej, to blizsze nie.
Na mój gust I2C z_zasady nie nadaje się do pracy na długich liniach.
Tzn. nawet jeśli zadziała to bez gwarancji, że zawsze i przy dowolnej
kombinacji transmitowanych danych.
Na pewno prawdą jest, że 40m dla I2C to za dużo, ale ...
dlaczego w takim razie urządzenie urządzenie podłączone w odległości
40m działa, a to bliższe nie?
Osobiście, sprawdził bym czy adres urządzenia znajdującego się dalej
nie jest taki sam jak adres urządzenia znajdującego się bliżej
Pozdrawiam
Tomek G.
========
Newsgroups: pl.misc.elektronika
Date: Tue, 17 Aug 2004 14:01:16 +020
From: RoMan Mandziejewicz <roman_at_nospam_pik-net.pl>
Subject: Re: I2C i dwa urzadzenia
Hello tomekg,
Tuesday, August 17, 2004, 1:52:59 PM, you wrote:
Mam podlaczone dwa urzadzenia do I2C.
Jedno jest blisko-0,5 metra, drugie daleko, 40 m dalej. Oba pracuja
poprawnie, jak sa podlaczone osobno. Gdy je wepne razem, pracuje
urzadzenie, ktore jest dalej, to blizsze nie.
Na mój gust I2C z_zasady nie nadaje się do pracy na długich liniach.
Tzn. nawet jeśli zadziała to bez gwarancji, że zawsze i przy dowolnej
kombinacji transmitowanych danych.
Na pewno prawdą jest, że 40m dla I2C to za dużo, ale ...
dlaczego w takim razie urządzenie urządzenie podłączone w odległości
40m działa, a to bliższe nie?
Osobiście, sprawdził bym czy adres urządzenia znajdującego się dalej
nie jest taki sam jak adres urządzenia znajdującego się bliżej
40 metrów to już kawał linii długiej i musi być dopasowana na końcach,
jesli marzysz o jakiejkolwiek sensownej transmisji. Takie 'drobiazgi'
jak dbałość o separowanie linii sygnałowej od prądów (to nie pomyłka!)
zasilania czyli poprawne prowadzenie przewodu masy też są warte uwagi.
--
Best regards,
RoMan mailto:roman_at_nospam_pik-net.pl
=======
From: "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl>
Subject: Re: I2C i dwa urzadzenia
Date: Tue, 17 Aug 2004 14:27:15 +0200
Użytkownik "tomekg" <tgronowicz_at_nospam_remove.poczta.onet.pl> napisał w
wiadomości news:cfsrj0$dnd$1_at_nospam_inews.gazeta.pl
Na pewno prawdą jest, że 40m dla I2C to za dużo, ale ...
dlaczego w takim razie urządzenie urządzenie podłączone w odległości
40m działa, a to bliższe nie?
Dalatego, że urządzenie "bliskie" zamiast krótkiej magistrali widzi 40m
linii długiej z rozwarciem na końcu. Jeżeli pracuje jako odbiornik to
najpierw dostaje zbocze z pobliskiego nadajnika (wytłumione i wypłaszczone
na skutek obciązenia impedancją linii) a następnie - jakieś 400ns później -
drugi skok wynikający z powrotu sygnału odbitego od rozwartego końca linii
długiej. Na to wszystko nakłada się jeszcze dzwonienie wynikające z
obcinania przepięć przez diody klampujące na wejściach IC. Zrobiłem przed
chwilą parę symulacji. Oczywiście uproszczonych (linia bezstratna,
obciążenie zastępcze w postaci R=2k||C=20pF||D, itd..). Mimo to można się
dowiedzieć paru ciekawych rzeczy ;-)
--
Marek Dzwonnik, GG: #2061027 (zwykle jako 'niewidoczny')
========
Path: news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.nask.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai