80C51 UART i dwie predkosci ?



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: "Witek" <robertwi_at_nospam_polbox.com>
Subject: 80C51 UART i dwie predkosci ?
Date: Wed, 16 Feb 2000 00:02:08 +0100


Witam

Musze na jednym procku AT89C2051 jednoczesnie odbierac i nadawac po porcie
szeregowym z roznymi predkosciami tj. to co przyjdzie na rx wywalic na tx z
dwokrotnie wieksza predkoscia. Nie moge zrobic UARTa programowo poniewaz rx
ma pracowac na 19200. Czy jest jakies rozwiazanie ?
I jeszcze jedno rozwiazanie typu odebranie znaku > zmiana predkosci ->
wyslanie itd. odpada.

Dzieki
Witek

Ps. Cos czuje ze sie raczej nie da



Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: "Tomasz Gumny" <tomasz.gumny_at_nospam_ep.com.pl>
Subject: Re: 80C51 UART i dwie predkosci ?
Date: Tue, 15 Feb 2000 23:41:12 GMT


Witek napisał(a) w wiadomo¶ci: <88clru$cnf$1_at_nospam_sunsite.icm.edu.pl>...

Musze na jednym procku AT89C2051 jednoczesnie odbierac i nadawac po porcie
szeregowym z roznymi predkosciami tj. to co przyjdzie na rx wywalic na tx z
dwokrotnie wieksza predkoscia. Nie moge zrobic UARTa programowo poniewaz rx
ma pracowac na 19200.

To odbieraj "sprzetowo", a nadawaj "programowo". Zawsze zdazysz wyslac
poprzedni bajt zanim przyjdzie nastepny.
TG



Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: "=?iso-8859-2?Q?Sylwester_=A3azar?=" <elektronik_at_nospam_alpro.com.pl>
Subject: Re: 80C51 UART i dwie predkosci ?
Date: Wed, 16 Feb 2000 07:48:58 GMT


To odbieraj "sprzetowo", a nadawaj "programowo". Zawsze zdazysz wyslac
poprzedni bajt zanim przyjdzie nastepny.
TG


Nie zawsze!
Trzeba to zrobić rozsądnie!
Mamy 520 us na wysłanie znaku z prędko¶cią 2x większą.Tak więc pozostaje ok.
260 us na inne operacje (co 520 us ) . Czyli, realnie < 50% wydajno¶ci
procesora. Je¶li procesor ma jeszcze co¶ robić oprócz tej konwersji to
musisz podjąć decyzję, czy wysyłasz w programie głównym, używając pętli
opóźniających, czy może lepiej wysyłać kolejne bity w przerwaniu, tak aby w
programie głównym móc wykonywać inne działania.
Ja dla porządku wybrał bym rozwiązanie z przerwaniami i dałbym jeszcze
krótki bufor kołowy (np. 8 bajtów), tak aby wysyłanie było płynne, je¶li
procesor miałby dłuższe "zadanie specjalne".
Ale to już mi dąży do ideału, więc może nie warto :-)
pozdrawiam,

Sylwester Łazar
electronics engineer
http://www.alpro.com.pl
elektronik_at_nospam_alpro.com.pl
__________________________________________
//ALPRO//- Projektowanie Systemów Elektronicznych
tel: +48 604 873468
tel/fax: (061) 8223-788
__________________________________________



Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: "Tomasz Gumny" <tomasz.gumny_at_nospam_ep.com.pl>
Subject: Re: 80C51 UART i dwie predkosci ?
Date: Wed, 16 Feb 2000 09:00:30 GMT


Sylwester Łazar napisał(a) w wiadomo¶ci: ...

To odbieraj "sprzetowo", a nadawaj "programowo". Zawsze zdazysz wyslac
poprzedni bajt zanim przyjdzie nastepny.
TG

Nie zawsze!
Trzeba to zrobić rozsądnie!
[...]
...czy może lepiej wysyłać kolejne bity w przerwaniu, tak aby w
programie głównym móc wykonywać inne działania.

Sylwester Łazar


Dokladnie o czyms takim myslalem. To juz chyba skrzywienie zawodowe, bo
nawet nie wpadlem na to, ze mozna po prostu wystawiac kolejne bity i czekac
nic nie robiac. Obawiam sie, ze jak procesor bedzie tak dlugo stal w
(prawie) jednym adresie, to mu sie szyna adresowa moze przepalic. ;-)
TG



Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: Janusz Charchut <Janusz.Charchut_at_nospam_p37.f26.n484.z2.fidonet.org>
Subject: 80C51 UART i dwie predkosci ?
Date: Tue, 22 Feb 00 22:11:45 +0100


Czesc Witek!
16 Feb Witek napisal(a) do All:

W> Musze na jednym procku AT89C2051 jednoczesnie odbierac i
W> nadawac po porcie szeregowym z roznymi predkosciami tj. to
W> co przyjdzie na rx wywalic na tx z dwokrotnie wieksza
W> predkoscia. Nie moge zrobic UARTa programowo poniewaz rx ma
W> pracowac na 19200. Czy jest jakies rozwiazanie ?
W> I jeszcze jedno rozwiazanie typu odebranie znaku > zmiana
W> predkosci -> wyslanie itd. odpada.

Podobne rozwiazanie zostalo przedstawione w EP 12/99. Z tym, ze tam byla
konwersja MIDI na RS232 i na odwrot. Rozwiazanie problemu, to 2 kostki 89c2051 i
wykorzystane przerwanie.

Pozdrawiam
Janusz
*Inet: Janusz.Charchut_at_nospam_p37.f26.n484.z2.fidonet.org
*Fido: 2:484/26.37