Mikrokontroler =?ISO-8859-2?Q?posiadaj=B1cy?= dwa porty szeregowe
Masz problem? Zapytaj na forum elektroda.pl
From: gophi_at_nospam_wytnij.studio.tpi.pl (Adam Wysocki)
Subject: Mikrokontroler =?ISO-8859-2?Q?posiadaj=B1cy?= dwa porty szeregowe
Date: Mon, 24 Jan 2005 12:22:40 +0000 (UTC)
No właśnie, znacie jakiś mikrokontroler (idealnie byłoby, gdyby był
kompatybilny z '51), posiadający dwa porty szeregowe oraz (niezależnie)
port ośmiobitowy? Dobrze byłoby również, gdyby miał wbudowaną pamięć
flash, tak żebym mógł umieścić wszystko w jednym układzie. Pamięci
nie musi być dużo, 128 bajtów ramu i 1 kB romu spokojnie wystarczy,
szybki też nie musi być. Ważne natomiast żeby był w miarę tani.
Z góry dzięki.
--
Adam Wysocki * http://www.gophi.rulez.pl/ * GG 1234 * gophi at sm.pl
13:35:49 <Melyan> o, gofi tu siedzi <weirdo> dobry gofi nie jest zly
From: "Q" <oink_at_nospam_gazeta.gov.pl>
Subject: Re: Mikrokontroler posiadający dwa porty szeregowe
Date: Mon, 24 Jan 2005 14:20:51 +0100
No właśnie, znacie jakiś mikrokontroler (idealnie byłoby, gdyby był
kompatybilny z '51), posiadający dwa porty szeregowe oraz (niezależnie)
port ośmiobitowy? Dobrze byłoby również, gdyby miał wbudowaną pamięć
flash, tak żebym mógł umieścić wszystko w jednym układzie. Pamięci
nie musi być dużo, 128 bajtów ramu i 1 kB romu spokojnie wystarczy,
szybki też nie musi być. Ważne natomiast żeby był w miarę tani.
najtanszy atmel z dwoma rs'ami to ATmega162;
chyba chodzi juz od 2.7 V (nawet wersja bez L);
ps.
a nie mozesz soft-uarta zrobic?
przy kwarcu 3.686 mam 3 uarty (2 hard + 1 soft),
przy czym soft-uart jest na 9600 b/s,
zrobiony caly na przerwaniach i wszystko smiga dobrze;
From: gophi_at_nospam_wytnij.studio.tpi.pl (Adam Wysocki)
Subject: Re: Mikrokontroler =?ISO-8859-2?Q?posiadaj=B1cy?= dwa porty szeregowe
Date: Mon, 24 Jan 2005 13:52:28 +0000 (UTC)
Q <oink_at_nospam_gazeta.gov.pl> wrote:
a nie mozesz soft-uarta zrobic?
Chyba tak zrobię, bo atmega 162 jest tak drogi, że już bardziej opłaca
się zmienić sposób komunikacji (jeszcze nie jest opracowany).
przy kwarcu 3.686 mam 3 uarty (2 hard + 1 soft),
przy czym soft-uart jest na 9600 b/s,
zrobiony caly na przerwaniach i wszystko smiga dobrze;
Na 51 to będzie działało jakoś sensownie? Muszę na coś zwrócić
szczególną uwagę?
--
Adam Wysocki * http://www.gophi.rulez.pl/ * GG 1234 * gophi at sm.pl
Sorry, że trochę od tematu odbiegłam, ale cipka fajna jest. (C) GABi
From: Zbych <abuse_at_nospam_onet.pl>
Subject: Re: Mikrokontroler =?ISO-8859-2?Q?posiadaj=B1cy_dwa_porty_?=
Date: Mon, 24 Jan 2005 16:40:40 +0100
Pewnego dnia Adam Wysocki przemówił ludzkim głosem:
Na 51 to będzie działało jakoś sensownie? Muszę na coś zwrócić
szczególną uwagę?
Pewnie na priorytety przerwań, tak żeby sprzętowy uart nie przyblokował
tego software'owego :-). I najlepiej linię odbiorczą umieścić na wejściu
z przerwaniem (lub taktowaniem timera jak zabraknie pinów z przerwaniami).
--
Prawo jest jak płot - żmija zawsze się prześlizgnie,
tygrys zawsze przeskoczy a bydło tylko stoi i czeka.
### /mail: bzb<at>poczta<dot>onet<dot>pl/ ###
From: "Q" <oink_at_nospam_gazeta.gov.pl>
Subject: Re: Mikrokontroler posiadający dwa porty szeregowe
Date: Tue, 25 Jan 2005 01:47:59 +0100
Pewnie na priorytety przerwań, tak żeby sprzętowy uart nie przyblokował
tego software'owego :-).
a wcale, ze nie :P
sory, ale znalem kiedys typa co pisal
hm... lubial pisac wiekszosc kodu w procedurach obslugi przerwan :).
no i wlasnie przypomniales mi o tym typie :),
i az mna "wzdrygnelo" (z obrzydzenia, zeby bylo jasne :)
nie wiem jaka jest Twoja filozofia pisania programow,
ale moja, poza tym, ze jest prosta i sluszna :))),
jest taka, ze prodcedura obslugi przerwania ma wykonac sie
w jak najkrotszym czasie;
wykonac niezbedne rzeczy i jak najpredzej wrocic;
/jak najszybciej odblokowac przerwania;
ponoc mozna odblokowac przerwania w funkcji obslugii przerwania
jakas instrukcja, ale jest to hm... traktowalbym to jako "wyjscie
ostateczne" :)
I najlepiej linię odbiorczą umieścić na wejściu
z przerwaniem
no, jak chcesz miec rx soft-uarta na przerwaniach,
a nie poprzez "wszystko-zerny polling" to nie masz innego wyjscia :).
(lub taktowaniem timera jak zabraknie pinów z przerwaniami).
half duplex - 1 timer na rx i tx;
full duplex - 2 timery: 1 na rx i 1 na tx;
From: Zbych <abuse_at_nospam_onet.pl>
Subject: Re: Mikrokontroler =?ISO-8859-2?Q?posiadaj=B1cy_dwa_porty_?=
Date: Tue, 25 Jan 2005 11:34:34 +0100
Pewnego dnia Q przemówił ludzkim głosem:
jest taka, ze prodcedura obslugi przerwania ma wykonac sie
w jak najkrotszym czasie;
Uważam to za rzecz tak oczywistą, że nawet nie pomyślałem, warto o tym
pisać :-)
(lub taktowaniem timera jak zabraknie pinów z przerwaniami).
half duplex - 1 timer na rx i tx;
full duplex - 2 timery: 1 na rx i 1 na tx;
Masz oczywiście rację. Choć ja miałem na myśli wykorzystanie wejścia
taktującego do wywołania przerwania w sytuacji, gdy zabraknie nóżek z
przerwaniami sprzętowymi ( ustawiasz timer na 0xFFFF i......).
Oczywiście ten sam timer potem można wykorzystać do zbierania
przychodzących bitów.
--
Prawo jest jak płot - żmija zawsze się prześlizgnie,
tygrys zawsze przeskoczy a bydło tylko stoi i czeka.
### /mail: bzb<at>poczta<dot>onet<dot>pl/ ###
From: "Q" <oink_at_nospam_gazeta.gov.pl>
Subject: Re: Mikrokontroler posiadający dwa porty szeregowe
Date: Tue, 25 Jan 2005 21:03:50 +0100
Uważam to za rzecz tak oczywistą, że nawet nie pomyślałem, warto o tym
pisać :-)
nawet nie wiesz jak wielu magistrow znam,
ktorzy nie wiedza o tym;
i nawet sami na to nie wpadna :)
From: "Q" <oink_at_nospam_gazeta.gov.pl>
Subject: Re: Mikrokontroler posiadający dwa porty szeregowe
Date: Tue, 25 Jan 2005 01:33:00 +0100
Na 51 to będzie działało jakoś sensownie? Muszę na coś zwrócić
szczególną uwagę?
napisz wiecej o swoim urzadzeniu :).
/o wykorzystaniu rs'ow konkretnie :)
jesli np. musisz miec 2 uarty,
ale jeden z nich bedzie bardziej obciazony niz drugi
/czesciej nadawal/odbieral;
to tego daj na sprzetowym;
no chyba, ze ten mniej obciazony ma dzialac na 115200,
a ten bardziej na 4800 to wtedy zrob odwrotnie raczej;
wszystko zalezy od tego co robisz;
From: gophi_at_nospam_wytnij.studio.tpi.pl (Adam Wysocki)
Subject: Re: Mikrokontroler =?ISO-8859-2?Q?posiadaj=B1cy?= dwa porty szeregowe
Date: Tue, 25 Jan 2005 14:34:42 +0000 (UTC)
Q <oink_at_nospam_gazeta.gov.pl> wrote:
napisz wiecej o swoim urzadzeniu :).
/o wykorzystaniu rs'ow konkretnie :)
Chyba jednak zdecyduję się na transmisję synchroniczną ;)
Dotarł do mnie genialny w swej prostocie fakt, że jeśli
wykorzystam dwie linie PC -> uC i jedną uC -> PC to nadal
zmieszczę się w jednym MAX 232. Generalnie, musi obsługiwać:
* dwukierunkową komunikację z komputerem.
* dwukierunkową komunikację z urządzeniem szeregowym (async).
* komunikację do urządzenia równoległego (11 bit).
Przy czym komunikację z komputerem mogę puścić przez RTS, DTR i CTS
(niekoniecznie TX i RX), ale komunikacja z urządzeniem szeregowym
musi iść asynchronicznie. I chyba tak właśnie zrobię.
no chyba, ze ten mniej obciazony ma dzialac na 115200,
a ten bardziej na 4800 to wtedy zrob odwrotnie raczej;
Prędkość nie ma znaczenia, 9600 spokojnie wystarczy.
--
Adam Wysocki * http://www.gophi.rulez.pl/ * GG 1234 * gophi at sm.pl
Tak cię kocham, tak cię lubię, że za tobą kapcie gubię (C) Status GG