Jak skonfigurować RS-485 z 2 bitami stopu w programie na procesorze 51?
RS-485 i trans. szeregowa.
From: rora_at_nospam_klub.chip.pl (Rora)
Subject: RS-485 i trans. szeregowa.
Date: 8 Oct 2001 13:16:29 +0200
Czesc wszystkim,
pisze program tylko do odczytu transmisji szeregowej na RS-485
(2400 baud, 8 bajtow, 2 bity stop, brak parzystosci)
procesor 51', wybralem tryb 1 do programowej szybkosci
odbierania danych i odpowiednio ustawiony Timer.
org 23h
push psw
push acc
clr scon.0 ;zerowanie falgi odbioru kolejnego bajtu
mov buf,sbuf ;odczyt bajtu
pop acc
pop psw
RETI
Mam w zwiazku z tym kilka pytan:
1. Czy moje ustawienia i ten programik poradza sobie z 2 bitami STOP ?
2. Czym rozni sie obsluga transmisji z 1 bitem STOP-u od 2 bitow STOP-u ?
3. Czy koncowke RO ukladu MAX-485 mozna bezposrednio podlaczyc
do koncowki RxD 89C52 (bez zadnych ukladow posredniczacych) ?
Robert
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: rora_at_nospam_klub.chip.pl (Rora)
Subject: Re: RS-485 i trans. szeregowa.
Date: 8 Oct 2001 20:43:20 +0200
Mam pytanie, czy kolega ma jakas wieksza praktyke z RS-485, bo ja jestem w
fazie projektow takiej malej sieci na RS-485 do sterowania roznymi
urzadzeniami i szukam jakiegos "zaczepienia", moze jakies rozwiazania i
jaki
protokol przeplywu danych o ile takowy jest potrzebny w tym prypadku.
Czesc,
niestety dopiero zaczynam zabawe z RS-485 :-),
ale z tego co sie orientuje to 485 rozni sie od 232 tylko parametrami
elektrycznymi
sieci. Natomiast cala reszta jest zgodna z 232.
Robert
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Milosz Skowyra <miloszek_at_nospam_fidonet.org.pl>
Subject: Re: RS-485 i trans. szeregowa.
Date: Tue, 09 Oct 2001 16:30:28 +0200
Rora wrote:
Mam pytanie, czy kolega ma jakas wieksza praktyke z RS-485, bo ja jestem w
fazie projektow takiej malej sieci na RS-485 do sterowania roznymi
urzadzeniami i szukam jakiegos "zaczepienia", moze jakies rozwiazania i
jaki
protokol przeplywu danych o ile takowy jest potrzebny w tym prypadku.
Najlepiej jezeli jest tylko jedno urzadzenie master uzyc do tego celu
wlasnie dodatkowego bitu stop. Dokladnie opisane jest to w Rydzewskim,
problem tylko ze z peceta nie bardzo da sie kontrolowac zawartosc tego
bitu.
--
Regards.
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Zajac - znowu czapki nie nosisz ????
From: Greg Szymsiak <greg_sz_at_nospam_dsuper.net>
Subject: Re: RS-485 i trans. szeregowa.
Date: Tue, 09 Oct 2001 12:59:46 -0400
RS485 to dziala na 2 drutach i tylko poldupleksowo. Musisz cos wymyslic zeby
wiedziec kiedy odwrocic kierunek transmisji. RS232 czyli V24 plus jeszcze cos z
tych V.xx (chyba V28 ale nie pamietam) okresla znacznie wiecej bo i poziom
sygnalow ale tez i caly algorytm wspoldzalania urzadzen.
Jak chcecie to moge gdzies poszukac schemacik bardzo prostego interface do PC.
Mam ten schemat srobiony za pomoca PADS ale moze sie da przeksztalcic na jakis
format graficzny. Uklad jest fajny bo ma tylko jeden chip a do konversji z RS232
na logike 5V uzywa tylko jednego tranzystora i bandy opornikow. Chodzilo zeby to
bylo malutkie.
Jak dacie rade odczytac format PADS to moge to wyslac kazdemu co mnie o to
poprosi ale musze poszukac troszeczke bo to robilem w 1996. Do testowania
systemu ktory uzywal RS485 do wewnetrznej komunikacji.
Grzegorz
Rora wrote:
Mam pytanie, czy kolega ma jakas wieksza praktyke z RS-485, bo ja jestem w
fazie projektow takiej malej sieci na RS-485 do sterowania roznymi
urzadzeniami i szukam jakiegos "zaczepienia", moze jakies rozwiazania i
jaki
protokol przeplywu danych o ile takowy jest potrzebny w tym prypadku.
Czesc,
niestety dopiero zaczynam zabawe z RS-485 :-),
ale z tego co sie orientuje to 485 rozni sie od 232 tylko parametrami
elektrycznymi
sieci. Natomiast cala reszta jest zgodna z 232.
Robert
--
> Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: rora_at_nospam_klub.chip.pl (Rora)
Subject: Re: RS-485 i trans. szeregowa.
Date: 8 Oct 2001 20:43:39 +0200
Jezeli 2 bity stop to musisz wybrac tryb 3, wtedy 1 bit stop bedzie
zapisywany w RB8 a drugi zostanie potraktowany jako faktyczny bit stop.
Co prawda mozliwe jest dzialanie ukladu w twojej konfiguracji ale lepiej
zrobic to po bozemu.
3. Czy koncowke RO ukladu MAX-485 mozna bezposrednio podlaczyc
do koncowki RxD 89C52 (bez zadnych ukladow posredniczacych) ?
Tak, dokladnie do tego zostal skonstruowany ten uklad.
Wielkie DZIEKI za CENNE UWAGI :-))))).
Pytam apropo zgodnosci sygnalow RO i RxD poniewaz slyszalem
ze po RO trzeba zastosowac inverter sygnalu (taki na tranzystorze),tylko
zajrzalem do dokumentacji i nic tam takiego nie bylo, wiec wolalem zapytac
Grupowiczow.
Z powazaniem
Robert
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Milosz Skowyra <miloszek_at_nospam_fidonet.org.pl>
Subject: Re: RS-485 i trans. szeregowa.
Date: Mon, 08 Oct 2001 14:53:27 +0200
Rora wrote:
org 23h
push psw
push acc
clr scon.0 ;zerowanie falgi odbioru kolejnego bajtu
mov buf,sbuf ;odczyt bajtu
pop acc
pop psw
RETI
Mam w zwiazku z tym kilka pytan:
1. Czy moje ustawienia i ten programik poradza sobie z 2 bitami STOP ?
Jezeli 2 bity stop to musisz wybrac tryb 3, wtedy 1 bit stop bedzie
zapisywany w RB8 a drugi zostanie potraktowany jako faktyczny bit stop.
Co prawda mozliwe jest dzialanie ukladu w twojej konfiguracji ale lepiej
zrobic to po bozemu.
Programik sobie poradzi, ale skoro w obsludze przerwania nie uzywasz ani
acc ani psw to szkoda marnowania czasu procka na ich zrzucanie na stos.
2. Czym rozni sie obsluga transmisji z 1 bitem STOP-u od 2 bitow STOP-u ?
Transmisja rozni sie dokladnie dlugoscia, zamiast 1 bit startu, 8 danych
i jeden stop masz 1 bit startu, 8 danych i 2 stopu czyli zamiast 10
bitow masz 11 bitow w ramce.
3. Czy koncowke RO ukladu MAX-485 mozna bezposrednio podlaczyc
do koncowki RxD 89C52 (bez zadnych ukladow posredniczacych) ?
Tak, dokladnie do tego zostal skonstruowany ten uklad.
--
Regards.
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
..and when you turned to me and smiled.....it took my breath away...
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: RS-485 i trans. szeregowa.
Date: Tue, 09 Oct 2001 20:08:11 GMT
On 8 Oct 2001 13:16:29 +0200, Rora wrote:
pisze program tylko do odczytu transmisji szeregowej na RS-485
(2400 baud, 8 bajtow, 2 bity stop, brak parzystosci)
Mam w zwiazku z tym kilka pytan:
1. Czy moje ustawienia i ten programik poradza sobie z 2 bitami STOP ?
Do odczytu to nie ma problemu - wazne ze jest pierwszy bit STOP,
potem UART i tak czeka na bit startu.
2. Czym rozni sie obsluga transmisji z 1 bitem STOP-u od 2 bitow STOP-u ?
Kraza plotki ze wszystkie UARTy pracuja jak wyzej - tzn przy odbiorze
tak naprawde jest jeden bit stop. Natomiast przy nadawanie
odczekujemy ten jeden bit.
J.
From: Greg Szymsiak <greg_sz_at_nospam_dsuper.net>
Subject: Re: RS-485 i trans. szeregowa.
Date: Tue, 09 Oct 2001 16:23:34 -0400
Jakie tam plotki.
To dziala tak:
Jak odbiornik odkryje na lini odbiorczej ( Rx, Rd RxD czy jak sie zwal) ze
sie stan zmienil z '1' na '0' to po poltora czasu jednego elementu (bitu)
pobiera probke i to jest pierwszy z bitow (nalmlodszy) potem probkuje pozostale
bity, w tym przypadku razem jest ich 8. Nastepnie sprawdza czy jest "1" czyli
stop.
Jesli nie to zaznacza "Framing Error". Jak ustawisz ze oczekuje 2 bitow stop
to nie jedna ale 2 probki mosza byc na "1" zanim UART stwierdzi ze odebral
znak.
Jak juz odebral to robi przerwanko. UART 8250 i 16450 musi byc zartaz
przeczytany bo jesli wykryje nastepny start a jescze nie zostal przeczytany Rx
Buffer to flaguje Data Overrun w odp rejestrze. W 16550 i 16650 jest to
troszeczke inaczej ale to i tak trzeba zajrzec do specykikacji.
Jak ustawiasz w nadajniku UARTa 2 bity stop to wysle przerwanie ze gotowy do
nastepnej transmisji o jeden element (bit) pozniej. Tzn minimalna przerwa
miedzy znakami jest 2 elementowa. Maksymalna jest zawsze nieokreslona.
Tak dzialaja wszelkie UARTy nie tylko te z PCetow. Pewne mikrocontrolerki maja
tez mozliwosci wysylania znakow 9 bitowych. 9 bit moze sluzyc do obudzenia
innego procka po drugiej stronie linii.
"J.F." wrote:Kraza plotki ze wszystkie UARTy pracuja jak wyzej - tzn przy
odbiorze
tak naprawde jest jeden bit stop. Natomiast przy nadawanie
odczekujemy ten jeden bit.
From: "Jerry" <jerry1111_at_nospam_wp.pl>
Subject: Re: RS-485 i trans. szeregowa.
Date: Wed, 10 Oct 2001 23:28:18 +0200
Uzytkownik "Greg Szymsiak" <greg_sz_at_nospam_dsuper.net> napisal w wiadomosci
news:3BC35CC6.5ADE02AF_at_nospam_dsuper.net...
Jakie tam plotki.
To dziala tak:
Jak odbiornik odkryje na lini odbiorczej ( Rx, Rd RxD czy jak sie zwal)
ze
sie stan zmienil z '1' na '0' to po poltora czasu jednego elementu (bitu)
pobiera probke i to jest pierwszy z bitow (nalmlodszy) potem probkuje
pozostale
bity, w tym przypadku razem jest ich 8. Nastepnie sprawdza czy jest "1"
czyli
stop.
Jesli nie to zaznacza "Framing Error". Jak ustawisz ze oczekuje 2 bitow
stop
to nie jedna ale 2 probki mosza byc na "1" zanim UART stwierdzi ze odebral
znak.
Jak juz odebral to robi przerwanko. UART 8250 i 16450 musi byc zartaz
przeczytany bo jesli wykryje nastepny start a jescze nie zostal
przeczytany Rx
Buffer to flaguje Data Overrun w odp rejestrze. W 16550 i 16650 jest to
troszeczke inaczej ale to i tak trzeba zajrzec do specykikacji.
Jak ustawiasz w nadajniku UARTa 2 bity stop to wysle przerwanie ze gotowy
do
nastepnej transmisji o jeden element (bit) pozniej. Tzn minimalna przerwa
miedzy znakami jest 2 elementowa. Maksymalna jest zawsze nieokreslona.
Tak dzialaja wszelkie UARTy nie tylko te z PCetow. Pewne mikrocontrolerki
maja
tez mozliwosci wysylania znakow 9 bitowych. 9 bit moze sluzyc do obudzenia
innego procka po drugiej stronie linii.
Potwierdzam.
UART 16750 i taki z uP Toshiby (ma 3 rs-y) zglaszaja framing error
jak maja dostac 2 bity stopu a dostana 1.
jerry