Pytanie: Konwersja danych na RS232



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotrek" <saciuk_at_nospam_poczta.onet.pl>
Subject: Pytanie: Konwersja danych na RS232
Date: Sat, 29 Dec 2001 14:49:15 +0100


Witam!

Mam następujący problem z ASYNCHRONICZNYM przesyłaniem danych przez RS232:

1. Jedno urządzenie wysyła/odbiera znaki 9-bitowo (taki 9 bitowy bajt ;-) )
2. Drugie urządzenie wysyła/odbiera znaki 8-bitowo

Znam dokładnie wartość 9. bitu w każdym znaku. W jaki sposób można zbudować
konwerter który pozwala komunikować się tym urządzeniom - dla tego
8-bitowego dopisuje odpowiednio 9. bit a dla 9-bitowego obcina 9 bit każdego
znaku? Czy ma ktoś jakiś pomysł?

Z góry dziękuję za pomoc.

Piotrek
saciuk_at_nospam_poczta.onet.pl




Poprzedni Następny
Wiadomość
Spis treści
From: "Andy" <anok_at_nospam_ceti.pl>
Subject: Re: Pytanie: Konwersja danych na RS232
Date: Sat, 29 Dec 2001 16:28:34 +0100


Użytkownik "Piotrek" <saciuk_at_nospam_poczta.onet.pl> napisał w wiadomości
news:a0khls$4qt$1_at_nospam_news.tpi.pl...
Witam!

Mam następujący problem z ASYNCHRONICZNYM przesyłaniem danych przez RS232:

1. Jedno urządzenie wysyła/odbiera znaki 9-bitowo (taki 9 bitowy bajt
;-) )
2. Drugie urządzenie wysyła/odbiera znaki 8-bitowo

Znam dokładnie wartość 9. bitu w każdym znaku. W jaki sposób można
zbudować
konwerter który pozwala komunikować się tym urządzeniom - dla tego
8-bitowego dopisuje odpowiednio 9. bit a dla 9-bitowego obcina 9 bit
każdego
znaku? Czy ma ktoś jakiś pomysł?
...

no pewnie najprosciej to na kontrolerze co ma dwa
UART'y sprzetowe
odpoweidnie je konfigurujesz
i piszesz program, ktory przepisuje bajt z jednego do drugiego

troche trudniej ale tez sie da, jesli wystarczajaco szybki kontoler
wzgledem predkosci transmisji,
na kontolerze co ma jeden UART sprzetowy a drugi mozna zrobic programowo

albo w razie potrzeby oba zrobic programowo

mozna tez pewnie na jakims CPLD

w ostatecznosci jakby ktos mial duzo samozaparcia
to na TTL'ach :-)

Andrzej





Poprzedni Następny
Wiadomość
Spis treści
From: "Greg S." <greg_sz_at_nospam_dsuper.net>
Subject: Re: Pytanie: Konwersja danych na RS232
Date: Sat, 29 Dec 2001 18:32:14 -0500


Użytkownik "Piotrek" :.
...problem z ASYNCHRONICZNYM przesyłaniem danych przez RS232:
1. Jedno urządzenie wysyła/odbiera znaki 9-bitowo (taki 9 bitowy bajt
2. Drugie urządzenie wysyła/odbiera znaki 8-bitowo

Z PCta mozesz wy
uslac 9-ty bit piszac do UARTu ze masz albo parzystosc parzysta lub nieparzyzta.

Troche to upierdliwe ale da sie zrobic. Z kazdum znakiem obliczasz sobie bit
parzystosci i nieparzystosci i sprawdzasz ktory co odpowiada jako 9-ty bit i
wtedy ustwiasz parzystosc ODD (nieparzysta) albo EVEN (przysta) .
Natomiast przy odbiorze nie jestem pewien ale przeksperymentuj.
Powinno dyc tal ze jak odbierze taki 9bitoy znak to Ci powie albo ze parzystosc
jest dobra albo zla a znak bedzie do przeczytania. I znowy przez obliczenia
dojdzies czy odebrales 1 czy 0.

Oczywiscie ustawienie UARTa jest 8 bitow danych +1 bit parzystosci.
Musisz pracowac w trybie 16450 a nie 16550 bo nie mozesz uzywac buforowania bo
odbierajac nastepny bajt stracisz informacje o "parzystosci" poprzedniego.

Powodzenia