 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.27 Kraj: Yogyakarta
|
Objavljeno: Ned Jan 27, 2008 4:02 am Naslov sporočila: full duplex RS485 problem |
|
|
Pozdravljeni!
Imam en problem, ki mi dela že par dni preglavice.
Želim vzpostaviti full duplex komunikacijo med 1 master enoto in več slave enotami.
Uporabljam čipe MAX3071, ki so 3.3V verzija MAX488 čipa.
Problem je pri odgovorih slave enot.
V sistemu master-slave deluje vse brez problema. Kadar pa sta 2 slave enoti v sistemu, pa master enota ne dobi več odgovora od slave enote. V program sem vključil LED indikacijo kdaj slave enota sprejme/pošlje podatke. Na določen naslov v paketu poslanih podatkov se pravilno odzove samo 1 slave enota, samo kljub temu, da se podatki očitno pošljejo, master tega ne registrira.
Uporabljam 120E terminatorje na koncu kablov, kabli so navadni mrežni UTP.
Ima kdo idejo v čem bi lahko bil problem. Super bi bilo pogledati zadevo z osciloskopom a ga lahko šele med tednom dobim, se mi pa malo mudi
_________________ Bad things happen to good people all the time for no reason!
Blog |
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3362 Aktiv.: 14.19 Kraj: Dragomer
|
Objavljeno: Ned Jan 27, 2008 5:19 am Naslov sporočila: Rs485 full duplex mislim, da ne gre |
|
|
Mislim, da na 485 protokolu full duplex (kjer oba hkrati pošiljata in sprejemata) ne gre. Gre samo semi dupleks, kjer, ko eden govori, pošilja, so vsi drugi tiho, poslušajo in šele ko neha, se lahko na linijo oglasi kak drug udeleženc. In je potrebno predvideti programsko izogibanje koliziji, ko bi dva hkrati hotela oddajati.
Full duplex gre samo na RS232, a ta samo med dvema udeležencema.
Seveda, lahko da nimam prav.
|
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.56
|
Objavljeno: Ned Jan 27, 2008 10:39 am Naslov sporočila: |
|
|
Narisi shemo vodila (vkljucno s terminatorji).
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.27 Kraj: Yogyakarta
|
Objavljeno: Ned Jan 27, 2008 11:27 am Naslov sporočila: |
|
|
Shema je identična kot jo vidiš v vsakem datasheet-u od 485 čipov za full duplex vezavo.
Poizkusil sem 2 varjanti:
T = Terminator; S = Slave; M = Master
T - S - M - S - T
ne dela
T - M - S - S - T
tudi ne dela
dela samo
T - M - S - T
Stvar deluje tako:
M dobi ukaz in ga posreduje dalje po vodilu do vseh slave enot.
Slave enota katere address-a se ujema odgovori master enoti.
In odgovor dela samo če je 1 slave enota na vodilu.
Terminatorja sta narejena z 120ohm uporoma, kot je v data sheetu
aja še to: ostala 2 twisted para sta uporabljena za posredovanje napetosti do slave enot. Ampak to mislim da nebi smelo vplivati.
Ima še kdo kakšno idejo, men že sive celice odmirajo od pregretja
_________________ Bad things happen to good people all the time for no reason!
Blog |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.56
|
Objavljeno: Ned Jan 27, 2008 11:36 am Naslov sporočila: |
|
|
Tega nisi napisal: ali master postavi oddajnik v Hi-Z, ko konca z oddajo ?
Ob predpostavki da je vodilo dovolj kratko (da ne dovorimo o stotinah metrov zaradi nove slave enote ) in pravilno implementirano, bi to moralo delovati. Si povsem preprican, da se na ukaz res odzove z zasegom vodila samo en slave ?
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
eddie Član

Pridružen-a: Sre 10 Dec 2003 21:02 Prispevkov: 723 Aktiv.: 3.05 Kraj: Severna primorska
|
Objavljeno: Ned Jan 27, 2008 11:43 am Naslov sporočila: |
|
|
To kar si opisal ni full duplex.
Full dupleks je ko dve enoti master oziroma slave istočasno pošiljata podatke. To pri rs485 tipu vodila ni mogoče. To je možno pri rs422, kjer sta uporabljeni 2 parici!
To kar si opisal je half duplex sistem in bi moral na rs485 vodilu delovati brez problema! Zelo razširjen protokol, ki deluje na način ki ga ti opisuješ(master - slave) je naprimer modbus.
Možne težave lahko povzroča dolžina vodila, nepravilno zaključeno vodilo in mogoče še kaj...
Poizkusi naslednje(če še nisi): postavi stvar na mizi s kratkimi povezavami, majhnim baudratom.
Ali si prepričan da imajo postaje različne naslove?
Toliko zaenkrat.
Lp
[/b]
|
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3362 Aktiv.: 14.19 Kraj: Dragomer
|
Objavljeno: Ned Jan 27, 2008 11:50 am Naslov sporočila: Moj predlog |
|
|
Moj predlog:
postavi vse naprave najprej na mizo, jih poveži skupaj in testiraj komunikacijo na mizi. Če na mizi dela, je software v redu, če ne, potem išči problem v programju.
|
|
Nazaj na vrh |
|
 |
gumby Član


Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 18.41
|
Objavljeno: Ned Jan 27, 2008 11:54 am Naslov sporočila: |
|
|
eddie je napisal/a: |
To kar si opisal ni full duplex.
Full dupleks je ko dve enoti master oziroma slave istočasno pošiljata podatke. To pri rs485 tipu vodila ni mogoče. To je možno pri rs422, kjer sta uporabljeni 2 parici! |
In zakaj ne bi mogel pri 485 imeti dveh paric?
_________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
 |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.27 Kraj: Yogyakarta
|
Objavljeno: Ned Jan 27, 2008 12:03 pm Naslov sporočila: |
|
|
uporabljam 2 parici
se pravi sistem je half duplex na 2 paricah
postaje imajo različne naslove, nepravilno zaključeno ne more bit ker potem niti M-S nebi delovalo. Hitrost sem sedaj že včeraj znižal iz 115200 na 19200 baudov.
Sem 100% da se na ukaz odzove samo 1, čeprav bi bila logična razlaga da je tu napaka, sem pregledal program na slave enoti in nisem našel nikjer pošiljanja na master, kjer nebi smelo biti.
_________________ Bad things happen to good people all the time for no reason!
Blog |
|
Nazaj na vrh |
|
 |
Jackal Član


Pridružen-a: Sre 10 Maj 2006 19:14 Prispevkov: 144 Aktiv.: 0.62 Kraj: Ravne na Koroškem
|
Objavljeno: Ned Jan 27, 2008 12:11 pm Naslov sporočila: Re: full duplex RS485 problem |
|
|
red_mamba je napisal/a: |
Uporabljam 120E terminatorje na koncu kablov, kabli so navadni mrežni UTP.
|
Za RS-485 rabiš STP (Shielded Twisted Pair) kabel.
Malo poglej priložene slike. Mogoče najdeš na njih kaj uporabnega.
Opis: |
|
Velikost datoteke: |
92.4 KB |
Pogledana: |
6 krat |

|
Opis: |
|
Velikost datoteke: |
97.42 KB |
Pogledana: |
4 krat |

|
Opis: |
|
Velikost datoteke: |
122.26 KB |
Pogledana: |
6 krat |

|
_________________ Ne prepiraj se z bedakom, ker te bo potegnil na svoj nivo in te premagal z izkušnjami. |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.56
|
Objavljeno: Ned Jan 27, 2008 12:15 pm Naslov sporočila: |
|
|
red_mamba je napisal/a: |
uporabljam 2 parici
se pravi sistem je half duplex na 2 paricah |
Jaz sem razumel, da je parica samo ena (zato sem ti tudi rekel za shemo, narisal si z enojnimi povezavami, zdaj sem pa se toliko manj preprican, da je res rpavilno zvezano).
Nekaj od navedenega nikakor ne more drzati - ali ni pravilen program, ali pa HW. Ce bi bilo vse OK, bi delalo, mar ne ? Narisi shemo vezave (tokrat zares), da vidimo ce je pri tem kaksna napaka. Ce je ni tam, potem je lahko edinole se SW.
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.27 Kraj: Yogyakarta
|
Objavljeno: Ned Jan 27, 2008 12:28 pm Naslov sporočila: |
|
|
shemo imaš zgoraj v two-tp-full-duplex.PNG
_________________ Bad things happen to good people all the time for no reason!
Blog |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.56
|
Objavljeno: Ned Jan 27, 2008 12:32 pm Naslov sporočila: |
|
|
Oba slave-a torej govorita po eni parici, master pa po drugi ? V temm primeru imas ali napacno dizajnirano vezje (enable oddajnikov slave-ov) ali napacno napisan program (enable oddajnikov slave-ov) - drugega ne more biti.
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.27 Kraj: Yogyakarta
|
Objavljeno: Ned Jan 27, 2008 12:56 pm Naslov sporočila: |
|
|
Joj sokrat nehaj ugibat, ugibam lahko sam tudi. Utemelji svoje odgovore.
1. Vezje je lektrično gledano vredu povezano. Če odklopim eno izmed slave enot bo poslala response. Če sta obe ga M ne dobi.
Pošiljanje večih hkrati je izključeno, ker tista slave, ki pošlje kaj nazaj master prižge ledico, in jo vedno samo 1, tista katera ima pravi naslov.
Sistem je zvezan tako kot je zgoraj narisano. Torej to nebi smel biti problem. Ena možnost je upornost sistema in terminatorji. MAX3071 čipi so 3.3V RS485 mreže. Ampak v data sheetu so terminatorji 120 ohmski.
2. Nimaš nobenga enable in disable, vsi so vedno enable-ani. That's the whole point of full-duplex, da lahko v vsakem trenutku vsi pošiljajo in sprejemajo.
_________________ Bad things happen to good people all the time for no reason!
Blog |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.56
|
Objavljeno: Ned Jan 27, 2008 1:14 pm Naslov sporočila: |
|
|
red_mamba je napisal/a: |
Joj sokrat nehaj ugibat, ugibam lahko sam tudi. Utemelji svoje odgovore. |
Ne ugibam - eliminiral sem tisto, kar s pomocjo tvojih skopih odgovorov lahko: terminacija ni kriva. Veckrat sem te vprasal ali je vse zvezano pravilno (vkljucno z enable signali) in veckrat sem ti rekel da narisi shemo, cesar nisi naredil.
[da preskocim ostanek odgovora, ker sele zdaj vidim, kaksne neumnosti trosis]
Citiram: |
Sistem je zvezan tako kot je zgoraj narisano. Torej to nebi smel biti problem. Ena možnost je upornost sistema in terminatorji. MAX3071 čipi so 3.3V RS485 mreže. Ampak v data sheetu so terminatorji 120 ohmski.
2. Nimaš nobenga enable in disable, vsi so vedno enable-ani. That's the whole point of full-duplex, da lahko v vsakem trenutku vsi pošiljajo in sprejemajo. |
Daj si najprej razcistiti pojme. Full-duplex na dvokanalni povezavi pomeni, da se lahko dve napravi pogovarjata (oddajata in sprejemata) istocasno. Ce dodas tretjo napravo, ki na enem kanalu oddaja hkrati z drugo, bo rezultat nedelovanje. Ne more hkrati en oddajnik drzati parice v stanju 0, medtem ko jo drugi poskusa spraviti v stanje 1. Temu so namenjeni enable signali oddajnikov - vsak slave mora imeti oddajnik ugasnjen, razen takrat, ko mu je dovoljeno govoriti (oddajati). V sistemu z dvema kanaloma in vec enotami to se vedno pomeni, da lahko hkrati govorita samo dve, komunikacija je full-dupelx, ostale enote pa so medtem tiho (ugasnjen oddajnik).
Zgoraj (na shemi iz AN) so narisani enable signali, ki jih je seveda potrebno ustrezno krmiliti. Ti mi dopovedujes da je sve ":pravilno zvezano", hkrati pa da "ne rabis enable signalov"
Prav, ne rabis jih, vse je pravilno zvezano, jaz pa samo ugibam Dvakrat sem torej "uganil" kaksno neumnost si naredil ... kar dobro, kajne ?
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 496 dni
Powered by phpBB © 2001, 2005 phpBB Group
|