RTV forum PL | NewsGroups PL

Zakłócenia w transmisji RS485 z driverem 75176 dziwne zachowanie przy '1'

Problem z driverem RS485 75176

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Zakłócenia w transmisji RS485 z driverem 75176 dziwne zachowanie przy '1'

Goto page 1, 2  Next

T.M.F.
Guest

Mon Sep 18, 2006 9:23 am   



Witam!
Mam taki dziwny problem z 75176. Podlaczam kilka urzadzen do jednej
szyny RS485 za pomoca tego drivera. Stan "0" jest aktywny, wymuszany za
pomoca drivera, natomiast stan "1" jest recesywny, wymuszany przez
terminator linii. Sam driver jest podlaczony tak, ze jego nadajnik na
stale podlaczony jest do "0", a transmisja "0" polega na jego
uaktywnieniu, natomiast transmisja "1" polega na zablokowaniu nadajnika.
W zasadzie to dziala tak jak chce. Ale obserwowalem sobie na
oscyloskopie jak to wyglada i zauwazylem niepokojace zjawisko.
Wystawiam "0" i linia ustawia sie w stanie "L", jednak kiedy wystawiam
"1" (blokuje nadajnik) to uklad sie tak zachowuje, jakby na chwile (ok.
4us) wystawial silna "1", co powoduje, ze magistrala na chwile wchodzi w
stan "H". Daje to przykry efekt - kiedy np. dwa urzadzenia wymuszaja na
magistrali "0" i jedno z nich przestaje, to na owe niecale 4us
magistrala przechodzi w stan "1" i natychmiast wraca do stanu "0".
Podobnie jesli magistrala przechodzi z "L" do "H" (wszystkie nadajniki
sa blokowane) to widze na narastajacym zboczu sygnalu szpilke (jakies
1-2us) do prawie 5V (normalnie stan "H" to ok. 2,84V utrzymywany za
pomoca rezystorow terminujacych).
Czy spotkal sie ktos z takim problemem? Moze ten driver, ktory stosuje
ma taki feler, ze blokowanie nadajnika powoduje przejsciowe wystawienie "1"?
Za wszelka pomoc dziekuje, mam pod reka tez zrzuty z oscyloskopu, gdyby
ktos z mojego metnego opisu nie polapal sie o co mi chodzi:)
Pozdrawiam,
T.M.F.

P.S. Jak na dwukanalowym oscyloskopie obserwowac sygnal roznicowy?
Robilem to tak, ze podlaczam do jednego kanalu linie "A", do drugiego
"B", a w oscyloskopie ustawiam MATH i wyswietlanie A-B. Ale moze da sie
prosciej?

T.M.F.
Guest

Mon Sep 18, 2006 10:27 am   



mokule wrote:
Quote:
Używasz ukladu niezgodnie ze standardem.
Niestety nie mozesz w takich warunkach miec zadnych wymagan.
Na pewno nie jest to feler ukladu, tylko zalozen.
Pozostaje ci tylko modlitwa.


Niby dlaczego niezgodnie ze standardem? Opisz jasniej to moze zrozumie
moj problem lepiej.
Po prostu wylaczam nadajnik ukladu, w szczegolnosci wylaczone sa
wszystkie nadajniki, a odpowiednia polaryzacje linii A i B rozwiazuje
wtedy terminator. Standard RS485 dopuszcza przeciez wylaczenie
wszystkich nadajnikow. Moj problem dotyczy tylko tego, ze w chwili
wylaczania (blokowania) nadajnik z ukladu 75176 zachowuje sie tak jakby
na chwile przed wylaczeniem dawal na szyne stan logiczny "1" co IMHO
jest zupelnie bez sensu i bledne. Bo spodziwealbym sie, ze blokujac
nadajnik on natychmiast sie wylaczy.
No chyba, ze moje szpilki biara sie z czegos innego, no ale z czego?

Pozdrawiam,
T.M.F.

T.M.F.
Guest

Mon Sep 18, 2006 11:32 am   



mokule wrote:
Quote:
Niby dlaczego niezgodnie ze standardem?
natomiast stan "1" jest recesywny, wymuszany przez
terminator linii.

Taka "1" to zadna "1". Nie zapewnia zadnych parametrow szybkosciowych.
Ten stan nie powinien byc uzwany jako przesylanie informacji a tylko dla
wygody, kiedy wszystkie nadajniki sa wylaczone.

Na oscyloskopie mam szybkosc narastania zbocza z 0 do 1 calkiem niezla,
a w kazdym razie duzo szybsza niz wymaga moja transmisja. Niech powrot
nawet trwa 500ns (a z pomiarow mam o wiele krotszy czas) to mnie to
zupelnie zadowala. Dlatego do moich zastosowan takie rozwiazanie jest ok.

Quote:
Daje to przykry efekt - kiedy np. dwa urzadzenia wymuszaja na
magistrali "0"

To nie ma prawa się zdarzyć. A jeśli juz wystapilo to i tak transmisja musi
byc anulowana i nalezy zastosowac arbitraz pozwalajacy nadawac tylko 1
urzadzeniu.

Jesli daje silne "1" to masz racje. Ale ja wlasnie dlatego nie daje
silnej "1" bo chce wykorzystac wired and. I podczas normalnej transmisji
taka sytuacja sie nie zdarza, zdarza sie tylko podczas wyszukiwania
urzadzen (wtedy kilka urzadzen wystawia bit, a nastepnie zanegowany bit,
jesli odczytam 0 i 0 to wiem, ze na danej pozycji mam konflikt i wiecej
niz jedno urzadzenie).
Ale wracajac do problemu - problemem nie jest transmisja, standardy itd.
Problem jest prosty - nadajnik z ukladu 75176 podczas wylaczania
zachowuje sie tak jakby przez ok. 2us dawal na wyjsciu "1" zanim
przejdzie w stan wysokiej impedancji, pomimo, ze jego wejscie jest
wysterowane na "0". I pytanie - czy ten typ drivera tak ma, czy ktos
zaobsrwowal podobna rzecz, ew. czy wymiana drivera na inny rozwiaze problem?
Poczytalem o nadajnikach glitch-free, ale to chyba dotyczy tylko
zachowania nadajnika przy wlaczaniu zasilania.

Pozdrawiam,
T.M.F.

mokule
Guest

Mon Sep 18, 2006 11:40 am   



Używasz ukladu niezgodnie ze standardem.
Niestety nie mozesz w takich warunkach miec zadnych wymagan.
Na pewno nie jest to feler ukladu, tylko zalozen.
Pozostaje ci tylko modlitwa.

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

T.M.F.
Guest

Mon Sep 18, 2006 12:10 pm   



mokule wrote:
Quote:
Na oscyloskopie mam szybkosc narastania zbocza z 0 do 1 calkiem niezla,

Rozumiesz chyba jednak, ze ona jest niezla tylko i wylacznie dlatego, ze
wymuszana jest mocna "1".

Mozliwe. Ale jak pisalem, szybkosc narastania nie jest dla mnie
parametrem krytycznym. Natomiast wystawienie silnej jedynki przez
blokowany driver jest. W sumie moge softwarowo te glitche usunac, ale
wolalbym rozwiazac problem definitywnie.
Zreszta nie wiem nawet czy to rzeczywiscie driver ja wystawia, czy moze
pochodzenie tej szpilki jest z innego zrodla - tylko z czego - one sie
pojawiaja w ukladzie z 3 driverami rs485 i dwoma terminatorami.

robmac
Guest

Mon Sep 18, 2006 12:14 pm   



T.M.F. napisał:
Quote:
...natomiast transmisja "1" polega na zablokowaniu nadajnika.

czyli zgodnie z notą katalogową dajesz na wyjście nadajnika stan
wysokiej impedancji; aby wysłać "1" to powinieneś na wejściu "D"
nadajnika wystawić "1" i potem wyłączać nadajnik.

Quote:
Jesli daje silne "1" to masz racje. Ale ja wlasnie dlatego nie daje
silnej "1" bo chce wykorzystac wired and. I podczas normalnej transmisji
taka sytuacja sie nie zdarza, zdarza sie tylko podczas wyszukiwania
urzadzen (wtedy kilka urzadzen wystawia bit, a nastepnie zanegowany bit,
jesli odczytam 0 i 0 to wiem, ze na danej pozycji mam konflikt i wiecej
niz jedno urzadzenie).

chyba nie tędy droga.


Quote:
...Ale wracajac do problemu - problemem nie jest transmisja, standardy itd.
Problem jest prosty - nadajnik z ukladu 75176 podczas wylaczania
zachowuje sie tak jakby przez ok. 2us dawal na wyjsciu "1" zanim
przejdzie w stan wysokiej impedancji, pomimo, ze jego wejscie jest
wysterowane na "0". I pytanie - czy ten typ drivera tak ma...

nie sprawdzałem oscyloskopem, ale "1" w transmisji szeregowej jest
stanem
"ciszy" - bity startu to "0", a stopu to "1", więc wszystko wydaje
się logiczne;
zresztą jakoś nigdy nie miałem z tym driverem problemu, co więcej
okazuje się bardziej odporny na przepięcia niż scalaki MAXa (co mnie
lekko dziwi).

może napisz dokładniej na jakiej zasadzie robisz to wyszukiwanie
urządzeń,
bo coś mi tu nie pasuje w założeniach

pozdrawiam
Robert

mokule
Guest

Mon Sep 18, 2006 12:40 pm   



Quote:
Niby dlaczego niezgodnie ze standardem?
natomiast stan "1" jest recesywny, wymuszany przez
terminator linii.

Taka "1" to zadna "1". Nie zapewnia zadnych parametrow szybkosciowych.
Ten stan nie powinien byc uzwany jako przesylanie informacji a tylko dla
wygody, kiedy wszystkie nadajniki sa wylaczone.

Quote:
Daje to przykry efekt - kiedy np. dwa urzadzenia wymuszaja na
magistrali "0"

To nie ma prawa się zdarzyć. A jeśli juz wystapilo to i tak transmisja musi
byc anulowana i nalezy zastosowac arbitraz pozwalajacy nadawac tylko 1
urzadzeniu.



--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

mokule
Guest

Mon Sep 18, 2006 12:40 pm   



Quote:
Na oscyloskopie mam szybkosc narastania zbocza z 0 do 1 calkiem niezla,

Rozumiesz chyba jednak, ze ona jest niezla tylko i wylacznie dlatego, ze
wymuszana jest mocna "1".

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Bogdan Gutknecht
Guest

Mon Sep 18, 2006 12:49 pm   



Quote:
Wystawiam "0" i linia ustawia sie w stanie "L", jednak kiedy wystawiam
"1" (blokuje nadajnik) to uklad sie tak zachowuje, jakby na chwile (ok.
4us) wystawial silna "1", co powoduje, ze magistrala na chwile wchodzi w
stan "H". Daje to przykry efekt - kiedy np. dwa urzadzenia wymuszaja na
magistrali "0" i jedno z nich przestaje, to na owe niecale 4us
magistrala przechodzi w stan "1" i natychmiast wraca do stanu "0".
Podobnie jesli magistrala przechodzi z "L" do "H" (wszystkie nadajniki
sa blokowane) to widze na narastajacym zboczu sygnalu szpilke (jakies
1-2us) do prawie 5V (normalnie stan "H" to ok. 2,84V utrzymywany za
pomoca rezystorow terminujacych).

Wstaw po prostu diode.

T.M.F.
Guest

Mon Sep 18, 2006 2:58 pm   



Quote:
...natomiast transmisja "1" polega na zablokowaniu nadajnika.

czyli zgodnie z notą katalogową dajesz na wyjście nadajnika stan
wysokiej impedancji; aby wysłać "1" to powinieneś na wejściu "D"
nadajnika wystawić "1" i potem wyłączać nadajnik.

Oj, chyba jednak niezbyt precyzyjnie opisalem moj problem.
Ja wlasnie nie chce aby nadajnik wysylal silna "1",bo wtedy inne nie
moglyby wymusic "0". W moim projekcie szyna jest stale utrzymywana w
stanie "1" przez terminatory, takze urzadzenia nadaja wylacznie "0",
jesli chca nadac "1" to po prostu nie nadaja nic. A "0" nadaje w ten
sposob, ze na wejscie D podaje stale "0", natomiast nadaje je poprzez
odblokowanie nadajnika. I tu pojawia sie problem, bo jak blokuje
transmitter to on na jakies 2us wystawia mi silna "1".

Quote:
...Ale wracajac do problemu - problemem nie jest transmisja, standardy itd.
Problem jest prosty - nadajnik z ukladu 75176 podczas wylaczania
zachowuje sie tak jakby przez ok. 2us dawal na wyjsciu "1" zanim
przejdzie w stan wysokiej impedancji, pomimo, ze jego wejscie jest
wysterowane na "0". I pytanie - czy ten typ drivera tak ma...

nie sprawdzałem oscyloskopem, ale "1" w transmisji szeregowej jest
stanem
"ciszy" - bity startu to "0", a stopu to "1", więc wszystko wydaje
się logiczne;

Ale ja nie nadaje tak jak w RS232. Pomijajac to zreszta, mowie tylko o
warstwie fizycznej protokolu.

Quote:
zresztą jakoś nigdy nie miałem z tym driverem problemu, co więcej
okazuje się bardziej odporny na przepięcia niż scalaki MAXa (co mnie
lekko dziwi).

może napisz dokładniej na jakiej zasadzie robisz to wyszukiwanie
urządzeń,
bo coś mi tu nie pasuje w założeniach

Ech, to byl tylko przyklad. Zasadnicz to mi wszystko dziala, tylko
zaobserwowalem na oscyloskopie te glitche i mnie to zaniepokoilo.
A co do wyszukiwania - robie to dokladnie tak jak opisali w 1-wire, z
tym, ze zamiast szyny 1-wire mam RS485.

Pozdrawiam,
T.M.F.

T.M.F.
Guest

Mon Sep 18, 2006 3:00 pm   



Bogdan Gutknecht napisał(a):
Quote:
Wystawiam "0" i linia ustawia sie w stanie "L", jednak kiedy wystawiam
"1" (blokuje nadajnik) to uklad sie tak zachowuje, jakby na chwile (ok.
4us) wystawial silna "1", co powoduje, ze magistrala na chwile wchodzi w
stan "H". Daje to przykry efekt - kiedy np. dwa urzadzenia wymuszaja na
magistrali "0" i jedno z nich przestaje, to na owe niecale 4us
magistrala przechodzi w stan "1" i natychmiast wraca do stanu "0".
Podobnie jesli magistrala przechodzi z "L" do "H" (wszystkie nadajniki
sa blokowane) to widze na narastajacym zboczu sygnalu szpilke (jakies
1-2us) do prawie 5V (normalnie stan "H" to ok. 2,84V utrzymywany za
pomoca rezystorow terminujacych).

Wstaw po prostu diode.

To proste rozwiazanie, niestety uklady juz gotowe i wolalbym tak nie robic.
Moze jakis inny nadajnik zastosowac? Chcialbym, jesli mozna prosic, zeby
ktos potwierdzil moje obserwacje dotyczace tego nadajnika.
Ostatecznie zamowie kilka roznych kosci i sprawdze czy wszystkie sie tak
zachowuja.

Piotr Gałka
Guest

Mon Sep 18, 2006 4:05 pm   



Użytkownik "T.M.F." <tfrancuz@nospam.mp.pl> napisał w wiadomości
news:eemcdu$k7c$2@nemesis.news.tpi.pl...
Quote:
Bogdan Gutknecht napisał(a):
Wystawiam "0" i linia ustawia sie w stanie "L", jednak kiedy wystawiam
"1" (blokuje nadajnik) to uklad sie tak zachowuje, jakby na chwile (ok.
4us) wystawial silna "1", co powoduje, ze magistrala na chwile wchodzi w
stan "H". Daje to przykry efekt - kiedy np. dwa urzadzenia wymuszaja na
magistrali "0" i jedno z nich przestaje, to na owe niecale 4us
magistrala przechodzi w stan "1" i natychmiast wraca do stanu "0".
Podobnie jesli magistrala przechodzi z "L" do "H" (wszystkie nadajniki
sa blokowane) to widze na narastajacym zboczu sygnalu szpilke (jakies
1-2us) do prawie 5V (normalnie stan "H" to ok. 2,84V utrzymywany za
pomoca rezystorow terminujacych).

Wstaw po prostu diode.

To proste rozwiazanie, niestety uklady juz gotowe i wolalbym tak nie
robic.
Moze jakis inny nadajnik zastosowac? Chcialbym, jesli mozna prosic, zeby
ktos potwierdzil moje obserwacje dotyczace tego nadajnika.
Ostatecznie zamowie kilka roznych kosci i sprawdze czy wszystkie sie tak
zachowuja.

Próbujesz 'ręcznie' zrobić CANa.
Nie wiem, ale oprócz gotowych driverów CANa zawierających cały arbitraż itp,
może są dostępne proste drivery załatwiające tylko warstwę fizyczną.
Kto wie, może nawet układ nóżek byłby zbliżony do driverów RS485.
P.G.

T.M.F.
Guest

Mon Sep 18, 2006 7:36 pm   



Quote:
Próbujesz 'ręcznie' zrobić CANa.
Nie wiem, ale oprócz gotowych driverów CANa zawierających cały arbitraż
itp, może są dostępne proste drivery załatwiające tylko warstwę fizyczną.
Kto wie, może nawet układ nóżek byłby zbliżony do driverów RS485.

Oj nie. CAN to jednak troche inna rzecz (pomijam juz warstwe logiczna
protokolu).
Natomiast ja chcialbym uzyskac odpowiedz tylko na jedno pytanie - czy to
normalne, ze nadajnik drivera 75176 przy wylaczaniu wystawia na chwile
(owe 2-4us) logiczna jedynke na wyjsciu i czy inne drivery RS485
zachowuja sie podobnie.
Caly protokol mi dziala (nawet pomimo tego wkurzajacego zachowania
75176), urzadzenia sie komunikuja i wszystko jest ok. Gdyby nie
oscyloskop to pewnie zylbym szczesciwy, a tak mnie to gryzie.

Na rysunku http://idom.wizzard.one.pl/images/oscpr.png widac wlasnie to
o czym pisze. Na linii sa 3 drivery 75176, jeden ma zablokowany
nadajnik, tylko odbiera, dwa pozostale daja "0" na szyne, pod koniec
nadajnik jednego z nich zostaje zablokowany, co wywoluje krotkotrwala
"1" na szynie, po czym rzeczywiscie sie blokuje i na szynie mamy
ponownie "0" pochodzace z drugiego nadajnika.

Na tym rysunku http://idom.wizzard.one.pl/images/oscprroz.png widac to
jeszcze lepiej. Idac od lewej mamy "0" na szynie, nastepnie na krotko
szyna wraca do stanu "1" - wszystkie nadajniki sa zablokowane, a "1"
jest wymuszane przez terminatory. Nastepnie mamy ponownie "0", po ok.
60us wylaczam jeden z nadajnikow i widzimy krotki glitch do "1", po czym
szyna wraca do stanu "0" na kolejne 60us, az do zablokowania drugiego
nadajnika. Widac wtedy ponownie glitch, tym razem do prawie 5V
generowany przez blokowany nadajnik, a nastepnie powrot magistrali do
poziomu wymuszanego terminatorami.
Moje pytanie dotyczy tylko tych glitchy - czy one sa typowa cecha
nadajnikow rs485, czy tez 75176 po prostu tak ma.
Pozdrawiam i dzieki za konstruktywne uwagi.

Piotr Gałka
Guest

Tue Sep 19, 2006 7:21 am   



Użytkownik "T.M.F." <tfrancuz@nospam.mp.pl> napisał w wiadomości
news:eemsk6$1vr$1@nemesis.news.tpi.pl...
Quote:

Moje pytanie dotyczy tylko tych glitchy - czy one sa typowa cecha
nadajnikow rs485, czy tez 75176 po prostu tak ma.
Pozdrawiam i dzieki za konstruktywne uwagi.

Moim zdaniem są następujące możliwości:
1. On faktycznie tak ma (inne może też, a może nie). To by niczemu nie
szkodziło, bo drivery w RS485 włącza/wyłącza się gdy są w stanie '1'.
2. To są odbicia z linii (nie wiem na jakim połączeniu to mierzysz).
3. Błąd w programie sterującym, który najpierw wystawia jedynkę, a potem
dopiero Hi-Z, lub robi to równocześnie (drivery mają krótszy czas propagacji
stanu niż wyłączenia).
4. Inne

Najpierw sprawdź jeden driver obciążony tylko rezystorami i sterowany
prostokątem (z generatora, a nie procesora) tylko na jednym pinie, potem
można dopiero dyskutować jak zachowuje się driver.
P.G.

T.M.F.
Guest

Tue Sep 19, 2006 8:16 am   



Quote:
Moim zdaniem są następujące możliwości:
1. On faktycznie tak ma (inne może też, a może nie). To by niczemu nie
szkodziło, bo drivery w RS485 włącza/wyłącza się gdy są w stanie '1'.

Tak mogloby byc, tyle, ze przegladajac tony pdfow z driverami nigdzie
nie natrafilem na uwage, ze nalezy je wylaczac wylacznie wtedy kiedy
wystawiaja "1". Co wiecej w tabeli prawdy dla 75176 pokazana jest
sytuacja kiedy na D jest "0", nadajnik jest blokowany i dla tej
kombinacji jest Z, bez jakichkolwiek uwag.

Quote:
2. To są odbicia z linii (nie wiem na jakim połączeniu to mierzysz).

Linie sa zaterminowane z obu stron. Zreszta gdyby to bylo odbicie to
pojawialoby sie chyba tez przy przejsciu z "1" do "0"? No i
towarzyszylyby temu kolejne oscylacje o mniejszych amplitudach?

Quote:
3. Błąd w programie sterującym, który najpierw wystawia jedynkę, a potem
dopiero Hi-Z, lub robi to równocześnie (drivery mają krótszy czas
propagacji stanu niż wyłączenia).

Niemozliwe. Wylaczenie drivera nastepuje jedna instrukcja. Nawet gdyby
byl blad to mialbym caly czas wystawiona silna "1".

Quote:
4. Inne

Najpierw sprawdź jeden driver obciążony tylko rezystorami i sterowany
prostokątem (z generatora, a nie procesora) tylko na jednym pinie, potem
można dopiero dyskutować jak zachowuje się driver.

Nie moge tego niestety w tej chwili sprawdzic.

Pozdrawiam, T.M.F.

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Zakłócenia w transmisji RS485 z driverem 75176 dziwne zachowanie przy '1'

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map