Elektronika portu komputerowego

May 03, 2004 7 Replies

Witam



Przeczytalem kilka ksiazek ale nie znalazlem informacji, o ktora do was pisze. Mianowicie nie rozumiem co robi elektronika komputera gdy dostaje informacje na port. Dokladniej: chodzi o transfer dancyh do komputera na odpowiedni port (LPT, COM, USB). Pomijam dodatkowe informacje typu synchronizacja, sygnal rozpoczecia, zakonczenia nadawani i cala reszte.



Chodzi mi o przypadek gdy mamy 2 linie transmisyjne jednokierunkowe. Urzadzeniem niech bedzie stara kamera analogowa, ktora podlaczamy na dwuzylowym kabelku. Rozumiem ze sygnale sa dyktowane zmianami napiecia oraz szybkoscia zmian, oraz ze dane ktore docieraja do komputera mozna odczytac z pamieci pod odpowiednimi adresami.



Moje pytanie to co robi komputer gdy dostaje bit informacji? Skad wie ze dostal informacje na jakims porcie i odpowiednim pinie kabelka? W pamieci jest jakis rezydentny program czy elektronika portu po odebraniu odpowiedniej sekwencji bitowej wymusza jakies przerwanie powodujace usawienie odpowiednich adresow pamieci (0/1)?



I druga kwestioa jesli napisze program zczytuajacy odpowiednie adresy pod ktorymi znajduja sie odbierane dane z portu to... musze umiescic program rezydentny w pamieci zczytujacy bardzo szybko i sprawdzajacy czy sie cos zmienilo pod tymi dresami czy mozna jakos elektronike ustawic zeby program czekal na bodziec o zmianie stanu pod adresem?



Bede wdzieczny za kazda wskazowke. Pozdrawiam.


W przypadku COM'a mozna ustawic przerwanie generowane po odebraniu poprawnej ramki ( jednego znaku ) transmisji. Jezeli chcesz sprawdzac zmiany na poszczegolnych pinach to musisz napisac program ktory mozliwie czesto bedzie odczytywal port i sprawdzal czy ktores z wejsc zmienilo swoj stan.

W komputerze trudno cos "ustawic" w elektronice. Pozostaje jedynie "bardzo szybko" odczytywac odpowiedni port.

Sebasto

Tu zgoda - czyli program wykorzystuje elektronikê do zamiany informacji szeregowej, w postaci zmiany napiêæ na liniach RX/TX portu szeregowego w informacjê równoleg³± (8 bitów jednocze¶nie) dostêpn± w rejestrze I/O dedykowanym danemu urz±dzeniu...

Nie na ka¿dym porcie da siê sprawdzaæ stany pinów... Trudno na przyk³ad sprawdzaæ stany pinów z³±cza USB albo TX/RX RS232...

E tam... oczywi¶cie ¿e wiele rzeczy "ustawiasz" - przecie¿ otwarcie portu szeregowego wymaga podania parametrów takich jak szybko¶æ transmisji, parzysto¶æ/nieparzysto¶æ, d³ugo¶æ s³owa danych, ilo¶æ bitów stopu i w koñcu to czy ma reagowaæ na linie potwierdzania i sam generowaæ na niej sygna³y. No i jeszcze trzeba "ustawiæ" rejestry decyduj±ce o przerwaniach... W³a¶nie wpisanie czego¶ do rejestru urz±dzenia takiego jak UART ustawia stan elektroniki pracuj±cej na potrzeby tego konkretnego programu...

Chodzilo mi o ustawienia dotyczace reakcji na zmiany poziomow logicznych na poszczegolnych wejsciach tak jak to jest w mikrokontrolerch ( przerwanie na zmiane poziomu, zbocze, poziom ).

U¿ytkownik "Sebasto" snipped-for-privacy@wp.pl napisa³ w wiadomo¶ci news:c75jg1$425$ snipped-for-privacy@topaz.icpnet.pl...

PC-towski RS232 portafi zg³aszaæ przerwanie przy ka¿dej zmianie stanu na wej¶ciu np CTS i DSR

No i jeszcze RI i DCD z tego co pamietam.

U¿ytkownik "Sebasto" snipped-for-privacy@wp.pl napisa³ w wiadomo¶ci news:c77c96$iu5$ snipped-for-privacy@topaz.icpnet.pl...

A i owszem :-)

Jak s±dzê oryginalne pytanie by³o raczej ogólne i nie by³o potrzeby wchodziæ w a¿ takie szczegó³y wiêc nie wchodzi³em w nie... Fakt jest faktem, ¿e przy komunikacji ze ¶wiatem zewnêtrznym elektronika komputera (dowolnego) intensywnie wspó³pracuje z oprogramowaniem i jakkolwiek elektronika mo¿e ograniczaæ mo¿liwo¶ci oprogramowania, to jednak software kontroluje re¿im pracy uk³adów elektronicznych poprzez ustawianie danych w rejestrach steruj±cych portów. Ka¿de urz±dzenie peryferyjne jest nieco inne, wiêc software do jego kontroli jest inny. Tak czy inaczej odpowied¼ na pytanie czy mo¿na elektronikê "ustawiæ" w jaki¶ tam specyficzny sposób dogodny dla software jest twierdz±ca. Elektronika jest tak projektowana, aby by³o w miarê prosto i relatywnie wygodnie ni± kontrolowaæ z poziomu oprogramowania - oczywi¶cie w takim zakresie w jakim jest to konieczne do wype³nienia funkcji przeznaczenia.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required