RS485-problem spedzajacy sen z powiek



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Prywer" <p.prywer_at_nospam_interia.pl>
Subject: RS485-problem spedzajacy sen z powiek
Date: Mon, 2 Jun 2003 20:19:40 +0200


Witam wszystkich,
Mam problem z magistrala RS485.Do PC (Master) sa podlaczone dwa urzadzenia
(Slave). Na samym poczatku uruchamiania systemu mialem powazny klopot z
transmisja (sterowanie sygnalem RTS). Czasami ramki transmisyjne bylu
poucinane i ogolnie caly system pracowal b.niestabilnie. Po przejrzeniu
archiwum listy dyskusyjnej, przerobilem konwerter i czesc odbiorcza
uaktywnilem na stale. W programie na Pc-ta (Visual C++)monitoruje wysylane
ramki i po odebraniu ostatniego znaku przelaczam sie na nadawanie. Wszytko
uleglo poprawie i caly system zaczal pracowac poprawnie.Jednak po kilku
dniach testowania okazalo sie,ze z transmisja jest nie do konca ok.
Generalnie system dziala poprawnie, jednak czasami (blad pojawia sie
nieregularnie,ale zawsze przy tym samym najdluzszym rozkazie) odpowiedz od
jednego ze Slave-ow dochodzi do PC-ta ucieta ,czasami znieksztalcona(smieci)
lub w ogole nie dochodzi.Wszytko sprawdzilem tzn ramka z zapytaniem
prawidlowo dociera do obu ukladow Slave, odpowiada prawodlowo tylko ten
zaadresowany. Wydaje mi sie, ze blad tkwi w sterowaniu sygnalem RTS od
strony PC-ta tzn. przez pewien okres czasu sa uaktywnione dwa nadajniki:
konwertera 232<=>485 i ukladu Slave.
Czy ktos z Was spotkal sie z podobnym problemem? Moze warto zbudowac
konwerter oparty o uklad 555 realizujacy automatyczne zalaczanie/wylaczanie
torow transmisyjnych?Prosze o jakies sugestie. Brak mi juz pomyslow.
Pozdrawiam serdecznie:
Piotr Prywer



--
Serwis Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.polbox.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pawel \"O'Pajak\"" <pavel(malpa)klub.chip.pl_at_nospam_niechciana.poczta.out>
Subject: Re: RS485-problem spedzajacy sen z powiek
Date: Mon, 2 Jun 2003 21:19:11 +0200


Powitanko,
Czy ktos z Was spotkal sie z podobnym problemem? Moze warto zbudowac
konwerter oparty o uklad 555 realizujacy automatyczne
zalaczanie/wylaczanie
torow transmisyjnych?

A to jest jak rozumiem half-duplex. Probowales pokombinowac z predkoscia
transmisji? (ja bym na poczatek dal 1200-2400 bps, albo nawet zaczal od
300). Stawiam na nie_wyrabianie sie czasowe jakiejs czesci ukladu (program w
kompie lub slav'y). Czy jak jest tylko 1 slave to cos sie zmienia/poprawia?
Pozdroofka,
Pawel Chorzempa
--
"-Tato, po czym poznać małą szkodliwość społeczną?
-Po wielkiej szkodzie prywatnej" (kopyrajt: S. Mrożek)
Przy odpowiadaniu na priv zastanow sie nad moim adresem;-)


========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.gazeta.pl!news.gazeta.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Prywer" <p.prywer_at_nospam_interia.pl>
Subject: Re: RS485-problem spedzajacy sen z powiek
Date: Mon, 2 Jun 2003 21:36:12 +0200



A to jest jak rozumiem half-duplex. Probowales pokombinowac z predkoscia
transmisji? (ja bym na poczatek dal 1200-2400 bps, albo nawet zaczal od
300). Stawiam na nie_wyrabianie sie czasowe jakiejs czesci ukladu (program
w
kompie lub slav'y). Czy jak jest tylko 1 slave to cos sie
zmienia/poprawia?

Tak half-duplex.Szybkosc transmisji to 9600b/s.Zastanawiajace jest to, ze
ten problem pojawia sie sporadycznie, jednak jak juz sie pojawi to jest
ciagle obecny, ale urzadzenie odpowiada prawidlowo na inne rozkazy.Predkosc
zmienialem wczesniej (tzn przed przebudowa konwertera) i nie pomoglo. Co do
pierwszego Slave'a to go nie odlaczalem,ale on "milczy" wtedy, kiedy ramki
sa adresowane do urzadzenia drugiego i na pewno nie "wtraca" sie w
transmisje.To sprawdzilem. Mysle,ze wina tkwi po stronie sterowania Com-em
Pc-ta (zaleznosci czasowe), ale jak to ustalic (niestety nie dysponuje
oscyloskopem) i naprawic??.Moze sterowanie linia CTS??
Pozdrowionka:
Piotrek Prywer



--
Serwis Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.polbox.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pawel \"O'Pajak\"" <pavel(malpa)klub.chip.pl_at_nospam_niechciana.poczta.out>
Subject: Re: RS485-problem spedzajacy sen z powiek
Date: Mon, 2 Jun 2003 22:39:31 +0200


Powitanko,
Mysle,ze wina tkwi po stronie sterowania Com-em
Pc-ta (zaleznosci czasowe), ale jak to ustalic (niestety nie dysponuje
oscyloskopem) i naprawic??.Moze sterowanie linia CTS??

Hmm, ja bym odlaczyl tak kontrolnie jeden...
Co do com'a to moze cos takiego (nie probowalem, ale z opisu wyglada OK):
http://www.rtcard.com/comlab32.html
A oscyloskop... eh, If I were a rich man ;-)
Pozdroofka,
Pawel Chorzempa
--
"-Tato, po czym poznać małą szkodliwość społeczną?
-Po wielkiej szkodzie prywatnej" (kopyrajt: S. Mrożek)
Przy odpowiadaniu na priv zastanow sie nad moim adresem;-)


========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.gazeta.pl!news.ipartners.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Maciej Iwanczewski <nawiiwan_at_nospam_o2.pl.spam.precz.com>
Subject: Re: RS485-problem spedzajacy sen z powiek
Date: Mon, 02 Jun 2003 21:53:44 +0200


Piotr Prywer wrote:
Witam wszystkich,
zaadresowany. Wydaje mi sie, ze blad tkwi w sterowaniu sygnalem RTS od
strony PC-ta tzn. przez pewien okres czasu sa uaktywnione dwa nadajniki:
konwertera 232<=>485 i ukladu Slave.

Może ten sygnał RTS jest za krótki, i siłą rzeczy zmusza PCta do
wysylania danych które mieszają się z danymi od układu Slave?

A próbowałeś przejść na transmisję dwoma parami przewodów?

Ewentualnie zobacz co się dzieje na RxD i TxD komputera.
Ja bym zrobił coś takiego. Podłączył oscyloskop do TxD komputera oraz
wyjścia po stronie RS232 konwertera. Nastepnie wydałbym rozkaz do
Slave i natychmiast odłaczył konwerter od PC-ta. Obserwując odpowiedz
Slave (z konwertera) oraz sytuację na TxD można byłoby zobaczyć czy
komputer wchodzi gdy Slave jeszcze nadaje. Jeszcze do tego mozna
monitorować stan RTS-a.

Oprócz tego jak sterujesz sygnalem RTS. Chyba w czasie gdy RTS
wskazuje na kierunek transmisji z Slave do PCta nie powinien PCet
wejść (z TxD) na linię danych po stronie RS485.

No i jeszcze jeden problem jaki może występować. Twój program
spodziewa się odpowiedzi zakończonej np. samym CR, a urządzenie wysyła
koniec CR LF. Może to ma jakiś wpływ.

Ogolnie to zaprząc jakiś oscyloskop i dekodować ramki :)

--
Pozdrawiam
Maciek


========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!news.internetia.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "neuron" <neuron___at_nospam_zipnet.com.pl>
Subject: Re: RS485-problem spedzajacy sen z powiek
Date: Mon, 2 Jun 2003 22:03:12 +0200



Użytkownik "Piotr Prywer" <p.prywer_at_nospam_interia.pl> napisał w wiadomości
news:bbg4fj$r89$1_at_nospam_inews.gazeta.pl...
Witam wszystkich,
Mam problem z magistrala RS485.Do PC (Master) sa podlaczone dwa urzadzenia
(Slave). Na samym poczatku uruchamiania systemu mialem powazny klopot z
transmisja (sterowanie sygnalem RTS). Czasami ramki transmisyjne bylu
poucinane i ogolnie caly system pracowal b.niestabilnie. Po przejrzeniu
archiwum listy dyskusyjnej, przerobilem konwerter i czesc odbiorcza
uaktywnilem na stale. W programie na Pc-ta (Visual C++)monitoruje
wysylane
ramki i po odebraniu ostatniego znaku przelaczam sie na nadawanie. Wszytko
uleglo poprawie i caly system zaczal pracowac poprawnie.Jednak po kilku
dniach testowania okazalo sie,ze z transmisja jest nie do konca ok.
Generalnie system dziala poprawnie, jednak czasami (blad pojawia sie
nieregularnie,ale zawsze przy tym samym najdluzszym rozkazie) odpowiedz
od
jednego ze Slave-ow dochodzi do PC-ta ucieta ,czasami
znieksztalcona(smieci)
lub w ogole nie dochodzi.Wszytko sprawdzilem tzn ramka z zapytaniem
prawidlowo dociera do obu ukladow Slave, odpowiada prawodlowo tylko ten
zaadresowany. Wydaje mi sie, ze blad tkwi w sterowaniu sygnalem RTS od
strony PC-ta tzn. przez pewien okres czasu sa uaktywnione dwa nadajniki:
konwertera 232<=>485 i ukladu Slave.
Czy ktos z Was spotkal sie z podobnym problemem? Moze warto zbudowac
konwerter oparty o uklad 555 realizujacy automatyczne
zalaczanie/wylaczanie
torow transmisyjnych?Prosze o jakies sugestie. Brak mi juz pomyslow.
Pozdrawiam serdecznie:
Piotr Prywer

Musisz pamietac o jednej sprawie :((((
Poniewaz program jest pod windowsa - domniemywam ze kolega nie steruje
uartem bezposrednio a za posrednictwem API . W takim przypadku mozna
spodziewac sie niesynchronicznego sterowania linia RTS .
Dziala to tak : odbieram znak - stwierdzam ze jest to 12 znak z ramki a wiec
jej koniec - prelaczam wiec rts na nadawanie . Jednak 12 znak nie pochodzi z
uartu lecz z bufora windows !! i moze przyjsc z opuznieniem . rowniez
polecenie zmiany stanu RTS poprzez API nie musi wymusic natychmiastowej
zmiany stanu wyjscia .
Na poczatek prosze zwiekszyc odstep czasu pomiedzy operacjami wysylania
odbierania
poszczegolnych ramek i zmiany stanu RTS .
Oczywiscie zakladam ze ramka ma mniej niz 1k bo jesli nie to powod moze byc
zupelnie inny
pzdr wojtek
www.neuron.zipnet.com.pl





=======

Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_message.pl>
Subject: Re: RS485-problem spedzajacy sen z powiek
Date: Mon, 2 Jun 2003 22:54:02 +0200


Użytkownik "neuron" <neuron___at_nospam_zipnet.com.pl> napisał w wiadomości
news:24721-1054583988_at_nospam_as3-111.starogard.dialup.inetia.pl

Dziala to tak : odbieram znak - stwierdzam ze jest to 12 znak z ramki
a wiec jej koniec - prelaczam wiec rts na nadawanie . Jednak 12 znak
nie pochodzi z uartu lecz z bufora windows !!

A FIFO w 16550 ? Czy nie może bruździć dodatkowo ?

--
Marek Dzwonnik mdz_at_nospam_message.pl
GG: #2061027 (zwykle jako 'dostępny-niewidoczny')



========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!news.gazeta.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Prywer" <p.prywer_at_nospam_interia.pl>
Subject: Re: RS485-problem spedzajacy sen z powiek
Date: Tue, 3 Jun 2003 01:05:56 +0200




Dziala to tak : odbieram znak - stwierdzam ze jest to 12 znak z ramki a
wiec
jej koniec - prelaczam wiec rts na nadawanie . Jednak 12 znak nie pochodzi
z
uartu lecz z bufora windows !! i moze przyjsc z opuznieniem . rowniez
polecenie zmiany stanu RTS poprzez API nie musi wymusic natychmiastowej
zmiany stanu wyjscia .

Jestem na 99% procent przkonany,ze problem tkwi w sterowaniu za
posrednictwem fukcji API. Kombinowalem z czasami po stronie aplikacji i
nawet wstawialem male opoznienie w programie mikrokontrolera przed
zalaczeniem nadajnika,zeby nie nadawac "natychmiast" po zdekodowaniu ramki.
Problem po jakims czasie znow sie pojawial.
Na poczatek prosze zwiekszyc odstep czasu pomiedzy operacjami wysylania
odbierania
poszczegolnych ramek i zmiany stanu RTS .
Ale czy zwiekszenie czasu w aplikacji nie wplynie na dalszy wzrost
opoznienia sygnalu RTS? Sorry, ale nie do konca rozumiem tego zabiegu.
Pozdrawiam serdecznie:
Piotr Prywer





pzdr wojtek
www.neuron.zipnet.com.pl





--
Serwis Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!newsfeed.news2me.com!elnk-nf2-pas!newsfeed1.earthlink.net!newsfeed.earthlink.net!sjc70.webusenet.com!news.webusenet.com!pd2nf1so.cg.shawcable.n