RS232

May 01, 2004 11 Replies

Czesc,



robie wlasnie prace dyplomowa, a konkretnie takiego prostego robota programowanego przez port RS232 z komputera, no i natrafilem na taki maly problem. W momencie podlaczania zasilania do uk³adu, gdy kabel od RS'a jest podlaczony uk³ad wysy³a mi do PC'ta jeden bajt, zazwyczaj (char)-1 ale roznie to z tym bywa. Czy to jest normalne? Da sie to jakos zlikwidowac?



Uk³ad sklada sie z procka AT89c2051 + MAX232N z kondensatorami 47uF na 16V.



z gory dzieki,


Moze to jest pojedynczy impuls, ktory odbiornik traktuje jako bit startu, potem odbiera same 1.

Krzysiek Rudnik

U¿ytkownik "Poison64" snipped-for-privacy@op.DEL.pl> napisa³ w wiadomo¶ci news:c70pf2$e9m$ snipped-for-privacy@news.onet.pl...

U¿ywasz Windows XP ?

U¿ytkownik "SP9LWH" snipped-for-privacy@spamerom.pl napisa³ w wiadomo¶ci news:c70scq$oig$ snipped-for-privacy@news.onet.pl...

tak

U¿ytkownik "Poison64" snipped-for-privacy@op.DEL.pl> napisa³ w wiadomo¶ci news:c70skf$5uo$ snipped-for-privacy@news.onet.pl...

No to sprawd¼ swój uklad na maszynie z Windows 98 Windows XP ma problemy z obs³ug± RS232

Sat, 1 May 2004 21:15:02 +0200, na pl.misc.elektronika, SP9LWH napisał(a):

?????

Sat, 1 May 2004 21:15:02 +0200, na pl.misc.elektronika, SP9LWH napisał(a):

nie ma problemow tylko zasada dostepu sie zmienila.

U¿ytkownik "Wojciech F." <"vankaszaner[REMOVE_IT]"@tlen.pl> napisa³ w wiadomo¶ci news:1x9aajagetni3$. snipped-for-privacy@tofik.homeip.net...

no i to biore pod uwage i otwieram przy uzyciu CreateFile i potem ReadFile i WriteFile ale to nie zmienia faktu, ze na hyperterminalu tez odbiera ten dziwny znak, a HT juz raczej jest zrobiony, zeby dzialal jak powinien ;)

w zasadzie to nie jest problem, bo nie ma to wplywu na prace ukladu, ale chcialbym wiedziec czemu tak sie dzieje :)

Poison64 napisa³(a) w wiadomo¶ci: ...

To zak³ócenia przy w³±czaniu zasilania, pewnie zbocze opadaj±ce (w sensie logicznym, bo na linii to npiêcia s± odwrotnie) czyli bit startu, reszta jest interpretowana jako bity informacyjne. Winny jest MAX, procesor lub programik na procesor. A nie mo¿esz jako¶ siê zabezpieczyæ software'owo w PC? Mo¿na w³±czaæ liniê transmisjn± z opó¼nieniem u³amka sekundy po w³±czeniu zasilania, np przeka¼nik sterowany z uk³adu ze sta³± czasow± lub z procesorka. Chocia¿ je¿eli styki przeka¼nika zadr¿± to mo¿e byæ podobnie :( Je¿eli dopiero po w³±czeniu zasilania robota podpinasz kabel i jest dobrze to mo¿na spróbowaæ. _Je¿eli_ MAX wytrzymuje chwilowe przeci±¿enia to tranzystor npn kolektorem do linii (+ ew. kilkadziesi±t omow), bazê przez opornik i kondziorek do zasilania (2.2k i 10u da kilkaset ms opó¼nienia). Emiter do masy. Ale to nie obetnie ni¿ej jak do +0.2V Przyda³oby siê do ok -3V. Bo nie wiadomo na jakim poziomie napiêcia nast±pi prze³±czenie "1" -> "0" w odbiorniku RS komutera. Arek

i to jest najsensowniejsze - protokół

a potem się okaże, że komórka 0,5m dalej powoduje podobne zakłócenia. IMHO lepiej programowo uodpornić niż takie wynalazki robić

Witam, w dalszej czê¶ci dyskusji pojawia sie propozycja protoko³u... mo¿na zastosowaæ standardowy Modbus, gdzie jest wyliczana suma kontrolna podobnie jak wszêdzie w profesjonalnych urz±dzeniach... (kod funkcji, ilo¶æ bajtów w komunikacie, suma kontrolna jest do³±czona\\ do komunikatu - jest to dla Modbus RTU - CRC 16) Cech± tego protoko³u jest wymaganie ci±g³o¶ci transmisji, dok³adnie chyba jesli wystêpuje przerwa 1i 1/2 znaku to transmisja rozpoczyna siê od nowa (ponowienie identyfikatora funkcji), a przerwa

4 znaki oznacza koniec sesji. Wiêcej o standardzie mo¿na znale¿æ na
formatting link
Mo¿na te¿ stworzyæ w³asny protokó³ transmisji oparty na prostrzych zasadach, ale gdzie s± znaki pocz±tku i koñca transmisji, ile jest danych w danej sesji... dobrze, aby by³a jakie¶ ohraniczenie na dokoñczenie komunikatu... ST

Przede wszystkim nie ma potrzeby tego likwidowac. Protokol komunikacyjny powinien byc na to odporny.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required