Męczy mnie teraz problem terminacji różnicowej linii RS485. Jeśli na linii mamy tylko jeden nadajnik i jeden odbiornik i są one połączone ok 2cm ścieżki na PCB to gdzie tu jest miejsce na terminatory? I czy są one potrzebne do czegokolwiek?
W dniu 2011-05-27 11:10, Grzegorz Niemirowski pisze:
Chodziło mi o to, czy są w tej konkretnej sytuacji potrzebne do czegokolwiek. Jeśli chodzi o "normalne" prowadzenie sygnału RS485 to wiem, że bez nich będą kłopoty.
W dniu 2011-05-27 12:15, Grzegorz Niemirowski pisze:
Tak, zastanowił bym się. Nie znam za bardzo specyfikacji RS485, taki terminator może przecież wymuszać na magistrali odpowiedni stan gdy, żaden z nadajników nie jest obecny i jest to też jakaś informacja dla odbiorników (doczytałem się, że z niej korzystają - "Failsafe Receiver"). Dlatego wolę pytać niż błądzić.
Użytkownik "Andrzej W." <awa_wp.a_to snipped-for-privacy@wp.pl napisał w wiadomości news:4ddf87a6$0$2497$ snipped-for-privacy@news.neostrada.pl...
Nie nazwałbym tego korzystaniem z faktu zwarcia linii rezystorem. Najpierw były failsafe dobrze działające gdy linia rozwarta (duże R rozciągające linie) Potem się pojawiły takie failsafe co zarówno dla rozwartej jak i zwartej sobie radzą (precyzyjny próg ustawiony poniżej zera). P.G.
W dniu 2011-05-27 12:15, Grzegorz Niemirowski pisze:
Terminator (jak nazwa mogła by sugerować), dopasowuje źródło sygnału i obciążenie do linii. Jeżeli połączenie jest linią długą w odniesieniu do parametrów sygnału, to zawsze zastanawiam się nad terminatorami. Osobnym problemem jest EMC, gdzie warto rozważać zastosowanie dopasowania, ale o to akurat wątkotwórca nie pyta. K.
Wątkotwórca jednak pyta czy są jakieś powody żeby terminować linię nawet w przypadku gdy ma 2 cm. Ja bym dał raczej jako obciążenie driverów niż zakończenie linii. W przeciwnym wypadku, przy dużej impedancji wejściowej odbiorników może się okazać że istotne zaczynają być elementy pasożytnicze a zdaje się, że autor wątku chce pracować na 40 Mbps. Dałbym też podciąganie linii do Vcc i GND jeśli nie ma pewności czy odbiorniki są failsafe. W końcu to tylko 3 rezystorki - można nawet dać
0402 a uniknie się przerabiania płytki gdy będą problemy.
No ale pytający chce wstawić na płytkę moduły wyposażone w RS485. Oczywiście wystarczyłoby po TTL liniami Rx i TX a tak to musi uważać bo nie ma full duplexu. Ale widocznie moduły nie maja innego interfejsu.
Odpowiadając Tobie i Mario: najszybsze scalaki RS485 jakie spotkałem są na 50Mbps. Zupełnie nie rozumiem co chce zrobić wątkotwórca. Ścieżkę o długości 2cm przy takich wymaganiach prowadzi się "spokojnie". K.
Watkotwórca zastanawia się tylko, czy te rezystory nie są jeszcze używane do czegoś innego niż dopasowanie impedancji. W dokumentacji użytych modułów wymagany jest terminator z trzech połączonych rezystorów (Vcc --- P --- N --- GND).
Użytkownik "Andrzej W." <awa_wp.a_to snipped-for-privacy@wp.pl napisał w wiadomości news:irokkg$63t$ snipped-for-privacy@mx1.internetia.pl...
Takie wymaganie oznacza, że odbiornik w module nie jest fail-safe. Jeśli linia bywa niewysterowana (tylko wtedy) to oporniki trzeba dać, ale nie koniecznie takie jak piszą bo podali pewnie wartości wynikające z dopasowania linii - czyli jeśli założyli specjalny kabel RS485 to chyba wypadkowa rezystancja widziana z linii powinna wyjść 120 ohm. Na drugim końcu też 120 ohm i rezystory rozciągające tak, aby na wypadkowych 60ohm (nieco więcej, bo te rozciągające też wchodzą do widzianej na końcu, więc faktycznie między linie jakiś większy od 120) spowodować co najmniej 0,2V spadku, bo tyle wymaga standard RS485 aby odbiornik na pewno widział 1-kę. Jeśli dopasowanie linii można pominąć to można według mnie wybrać między:
- taki zestaw rezystorów jak sugerują,
- to samo tylko wartości z 10 razy większe (szkoda prądu)
- jeszcze większe oporniki (np. po 100k), ale tylko dwa (bez tego między liniami).
Jak dla niewysterowanej linii moduł nie będzie widział 1-ki to będzie odbierał jakieś frame error i gdy pojawi się faktyczna komunikacja to bit startu stanie się jednym z bitów aktualnie odbieranego błędnego bajtu i ogólnie odbierze jakieś śmieci.
Z drugiego wątku wynikało, że dasz bufor, cały czas pracujący w kierunku tego modułu więc niewysterowanie linii (modułu) nie będzie występowało i rezystory są zbędne. Natomiast czy oporniki na linii przed buforem to zależy czy ten bufor będzie fail-save, czy nie. P.G.
Bardzo dziękuję za wyczerpującą odpowiedz, bez czepiania się mojej niewiedzy i uproszczeń, co widzę jest ulubionym zajęciem co poniektórych. Już mam większą jasność po dwóch dniach grzebania w sieci. Jako bufor użyję prawdopodobnie SN65HVD50 lub MAX13087E (okazało się, że
10 Mbps wystarczy). Wyczaiłem, że w moim module na wejściu jest IL3685, ma on wewnętrzne rezystory podciągające do Vdd i GND na wejściach, wstępna polaryzacja linii będzie więc zapewniona. Dam też szeregowo w linie danych rezystory 100 Ohm na wypadek gdyby jednak oba nadajniki zdecydowały się nadawać w jednej chwili. Mam niestety zasilanie o znikomej wydajności.
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.