Re: Dwa COM'y na jednym IRQ

Autor: Artur Kidzinski (kidzio_at_friko.onet.pl)
Data: Mon 29 Jun 1998 - 20:49:31 MET DST


Xylodius wrote:

> Kazdy port (jako ze sa one niezalezne) potrzebuje jednego IRQ.

Nie prawda..port szeregowy wogole nie potrzebuje przerwan !!!Oczywscie obsluga
jest wtedy DUZO trudniejsza ale mozliwa.
Oczywscie mowie o sutyacji gdy SAM piszesz procedure obslugi portu
(wlacznie z wpisywaniem wartosci do portow NS16650(badz 8251)

> Dlatego gdy w
> pececie dziela one IRQ (1+3,2+4)
> to moze dzialac jednoczesnie tylko jeden z nich. Kazdy z portow ma oddzielny
> adres wiec jest niezalezny od pozostalych i moze dzialac samodzielnie pod
> warunkiem, ze zostanie mu przydzielone IRQ.
> W tym przypadku oba porty sa na jednym IRQ dlatego jest tam cos w rodzaju
> multipleksera, ktory generuje
>

Multipleksera no no...a od kiedy to dwa druty polaczone razem to multiplekser
???

> sygnal INT tylko jesli oba porty dzielace IRQ wysla Request.
>

To troche glupi pomysl, alebardzo ciekawa teoria !!!!!!!!!!!!(niestety
nieprawdziwa)Problem wynika z tego ze jeden z uzywanych przez Ciebie portow nie
ma wyjscia OC (Open Colector,badz zostal blednie dobrany rezystor
"podciagajacy"), ktore umozliwia "zwieranie" lini zgloszen przerwan, z tego
wlasnie powodu zaobserwowales to dziwne napiecie(ktore jest wynikiem zwarcia
wyjsc gdy na jednym znich jest 1(~3-5V) a na drugim 0(<0,8V), ktore moze
doprowadzic do znisczenia ukladu).
Dowolna ilosc portow szeregowuch moze pracowac na jednej lini przerwan pod
warunkiem ze:
-wszystkie maja wyjscia typu OC (co umozliwa wspolne zgaszanie przerwan)
-KAZDA z procedur obslugujacych przerwanie sprawdzi czy przerwanie zostalo
wygenerowane przez przypisany jej port ( TAK to jes mozliwe przez odczyt statusu
portu spod przypiasnego mu adresu I/O).

Niestety wymaga to "recznego" programowania sterownika portu szeregowego...

> Pozdrawiam,
> Xylodius,
> xylodius_at_prodigy.net



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 17:23:00 MET DST