IBM PC hardver. Vrste tastatura, dizajn i princip rada

LAB 4

PC ULAZNI UREĐAJI - tastatura i miš

Cilj rada

Svrha rada je proučavanje principa rada tastature računara, kao i upravljanje parametrima tastature i miša koristeći Windows.

Osnovne informacije

Tastatura je uređaj za unos informacija od korisnika u računar.
Tipična standardna tastatura personalnog računara ima više od 100 tastera, uključujući alfanumeričke, funkcijske, računovodstvene i druge tastere.
Alfanumerički tasteri omogućavaju korisniku da unese brojeve, slova i interpunkciju. U Rusiji se najčešće koriste ruski i engleski raspored. Međutim, korisnik u sistemskim postavkama računara može odabrati bilo koji raspored tastature - od kineskog do arapskog. Ako svi potrebni simboli rasporeda koji ste odabrali nisu nacrtani na tipkama tastature, situacija se može ispraviti kupovinom posebnih naljepnica za tipkovnicu.
Gornji red tastature se sastoji od funkcijskih tastera - od F1 do F12. Koristeći funkcijske tipke ili njihove kombinacije s drugim tipkama, možete kontrolirati računalo, na primjer, otvoriti prozor pomoći, prozor istraživača, uključiti i isključiti računalo.
Na desnoj strani tastature nalaze se takozvane računovodstvene tipke - sa slikom brojeva i matematičkih simbola, čija upotreba ubrzava kucanje numeričkih informacija i rad s njima. Računovodstvene tipke također obavljaju funkciju kontrole kursora.

Glavni parametri modernih tastatura

Ključni mehanizam. Određuje prvenstveno cijenu tastature, kao i taktilnost (taktilni osjećaj).

Za mehaničke tastature možete birati sa ili bez klika. Klik znači oštar dodir pritiska na tipku (popraćen zvukom), što se mnogima sviđa.

taktilne opcije.

Taktilni parametri uključuju tvrdoću ključa i dužinu poteza.

Tvrdoća tipki se određuje koliko se jako pritisne tipka.



Prosječan hod ključa je 3,5 mm. Za one koji tečno kucaju, poželjniji je kraći potez.

Oba parametra su određena ukusom korisnika i smisleno se biraju tek nakon akumulacije lično iskustvo. Po prvi put je dovoljno preći preko tastature u radnji.

Drugi taktilni parametar je klik. Tastature dolaze sa klikom ili bez. Doslovno prevedeno, klik je klik. Tačan prijevod je taktilna (tj. taktilna) barijera koja se pojavljuje usred pritiskanja i savladava se klikom (otuda i naziv). Realizira ga lučna tanka ploča ispod ključa, koja se savija "trzajem".

Klik vam omogućava da precizno osjetite da je tipka pritisnuta i da ne preskačete slova prilikom brzog biranja. Klik se sviđa mnogim korisnicima.

Obično se klik nalazi na mehaničkim tastaturama, jer to ne mijenja njihovu cijenu, ali ponekad se može naći i na drugim tipovima tastatura.

Form factor definiranje tipki (i Shift, Backspace i Enter). Kada ovi ključevi imaju pogodan oblik i lokaciju, rad je olakšan.

Tipka Enter može imati sljedeće oblike: ravan, L-oblik i L-oblik (potrebno je preslikati slova L i G u odnosu na vertikalu da biste dobili pravi oblik tipke Enter). L-oblik je najpogodniji jer se veliki Enter može pogoditi bez gledanja u njega.

Ćirilični raspored. Postoje dva ćirilička rasporeda, od kojih je jedan pogodniji.

Raspored (tj. raspored slova na tasterima) ćirilice je dva tipa: prozorski (prepoznaje se po mestu slova E u gornjem levom uglu) i kucani (prepoznaje se po mestu slova E u donjem desnom uglu).

Raspored pisaćeg teksta, kao što ime govori, sličan je tipkama na pisaćoj mašini. Windows izgled se pojavio u Windows OS-u. U poređenju sa pisanim na mašini, napravljena su mala, ali veoma efikasna poboljšanja. Na primjer, vrlo rijetko korišteno slovo E pomjereno je u dalji ugao, a na njegovo mjesto je stavljen ključ sa često korištenom tačkom i zarezom. U kucanom rasporedu postavljaju se u gornji red i unose se velikim slovima. Čudno je da je savršeniji izgled razvila strana kompanija.

Neki proizvođači primjenjuju samo ruski izgled, neki primjenjuju oba, dajući korisniku izbor.

Ćirilica ima dvije boje (slova se nalaze u donjem desnom uglu tastera): crvenu (za većinu proizvođača) i tamnu. U drugom slučaju, ćirilica se brka sa latinicom čak i kada je ova druga primijenjena svijetlim dvostrukim obrisom.

Ergonomska tastatura. Takozvane ergonomske tastature su mnogo manje zamorne za korisnika, iako zauzimaju više prostora i skuplje su.

Naslon za ruke dostupan. Stalci smanjuju umor i poboljšavaju izgled.

Dodatne ključne grupe. To mogu biti internet, multimedija i druge ključne grupe. Ubrzajte svoj rad omogućavajući vam da manje prelazite na miš i s njega. Lokacija tipki za spavanje treba biti takva da se slučajno ne zakače.

Interface. Povezan sa razvojem matičnih ploča. Govoreći o interfejsu, oni misle na žičane tastature. Koriste se sljedeći interfejsi:

PS/2.. To je tanak okrugli konektor - 6-pinski miniDIN. Isti se koristi za PS/2 miševe, a kako ih ne bi zbunili, specifikacija PC "99 predviđa različite boje za ove utikače: ljubičastu za tastaturu i zelenu za miša.

USB. Može se koristiti sa svim više ili manje novim matičnim pločama, budući da ove posljednje imaju USB portovi i podršku u BIOS-u. Konektor - ravan, pravougaoni

USB sučelje je modernije i nudi više funkcija, veću propusnost od starijih tipova portova.

Kako radi tastatura

Princip rada tastature je ilustrovan na sl. 1. Bez obzira na to kako je proces pritiska na tipku mehanički implementiran, signal pritiska na tipku registruje kontroler tipkovnice (na primjer, 8049) i prenosi u obliku tzv. scan code na matičnu ploču. Kod za skeniranje je jednobajtni broj, čijih nižih 7 bitova predstavljaju identifikacioni broj dodijeljen svakom ključu. Na matičnoj ploči računara, poseban kontroler se takođe koristi za povezivanje tastature. Za računare tipa AT obično se koristi univerzalni periferni interfejs čip. (Univerzalni periferni interfejs, UPI) 8049.

Kada kod za skeniranje uđe u čip (8049), tada se hardverski prekid (IRQ 1) inicijalizira, procesor zaustavlja svoj rad i izvršava proceduru koja analizira kod skeniranja. Ovaj prekid servisira poseban program koji je dio ROM BIOS-a. Kada se od ključeva primi kod za skeniranje , ili , promjena statusa se upisuje u RAM. U svim ostalim slučajevima, skenirani kod se pretvara u kod znakova (tzv. ASCII kodovi ili prošireni kodovi). U ovom slučaju, postupak obrade prvo određuje podešavanje tipki i prekidača kako bi se ispravno dobio ulazni kod ("a" ili "A"). Uneseni kod se zatim stavlja u bafer tastature, što je memorijsko područje koje može pohraniti do 15 unesenih znakova dok ih aplikacijski program ne obradi. Tampon je organizovan po principu FIFO(prvi unutra prvi vani).

Za rad s tastaturom koriste se portovi i prekidi. Kao odgovor na prekid, BIOS sistemska servisna rutina u ROM-u čita kod za skeniranje tastera sa porta tastature (broj porta 96) i zatim šalje komandu za brisanje bafera procesora tastature na port tastature. Ako sistemska jedinica ne reaguje na prekide tastature, kodovi za skeniranje se akumuliraju u baferu procesora tastature, iako kada normalan rad ovo ne bi trebalo da se desi. Posebni kod za skeniranje 255, heksadecimalna vrijednost FF, koristi se od strane tipkovnice da naznači da je njen bafer pun.

Bilješka

Svaki ključ generira dvije vrste kodova za skeniranje: klik kod, kada se pritisne taster, i kod izdanja, kada je ključ otpušten. Za PC klase AT, isti bitnist se koristi za potisne kodove i oslobađajuće kodove, ali kodovi za oslobađanje se sastoje od dva bajta, od kojih je prvi uvijek 0F0H. Za PC XT generaciju, kod oslobađanja je 128 veći od push koda (sedmi bit od 7 je 1). Na primjer, 7-bitni kod za skeniranje ključa<В>je 48 ili 110000 u binarnom obliku. Kada se pritisne tipka, kontroler tipkovnice prima kod 10110000, a kada se otpusti, kod 00110000.

8049 kontroler je odgovoran ne samo za generiranje kodova za skeniranje, već je također neophodan za obavljanje funkcija samokontrole i provjeru tipki pritisnutih tokom pokretanja sistema. Proces samotestiranja je prikazan jednim treptajem tri LED diode tastature tokom POST programa. Dakle, kvar tastature je otkriven već u fazi pokretanja računara.

Kontroler na matičnoj ploči ne samo da može primati, već i prenositi podatke kako bi rekao tipkovnici različite parametre, na primjer, učestalost ponavljanja pritisnute tipke itd.

U tabeli. Slike 1-2 prikazuju primjere kodova za skeniranje koji odgovaraju trenutno najčešćoj tastaturi sa 102 tipke.

Skeniranje heksadecimalne funkcijske tipke

Tabela 1

Heksadecimalni kodovi za skeniranje za ključeve za unos podataka

tabela 2


Dakle, obradu unosa sa tastature (slika 2) obezbeđuju dva mikrokontrolera: jedan se nalazi na matičnoj ploči računara, drugi je ugrađen u samu tastaturu.

Kao što možete vidjeti na dijagramu, sve horizontalne linije matrice ključa povezane su preko otpornika na izvor napajanja. Ugrađeni čip tastature ima dva porta - izlazni i ulazni. Prvi je povezan sa vertikalnim (Y0–Y5) linijama matrice, a drugi sa horizontalnim (X0–X4).

Kontroler tastature radi prema sljedećem algoritmu. Postavljanjem naizmjenično na svakoj od vertikalnih linija nivoa napona koji odgovara logičkoj nuli, mikroračunar s tastaturom kontinuirano procjenjuje stanje horizontalnih linija - bez obzira na aktivnost na centralnom procesoru.

Ako se ne pritisne nijedan taster, nivo napona na svim horizontalnim linijama odgovara logičkoj jedinici. Čim se pritisne, vertikalne i horizontalne linije koje odgovaraju tipki će se zatvoriti. Kada procesor postavi vertikalnu liniju na logičku nulu, nivo napona na horizontalnoj liniji će takođe odgovarati logičkoj nuli.

Ako se nivo logičke nule pojavi na jednoj od horizontalnih linija, procesor tastature će snimiti pritisak na taster. Poslat će računaru (kroz interni 16-bajtni bafer) zahtjev za prekid i broj ključa u matrici (nazvan kod za skeniranje - ovo je nasumična vrijednost koju je izabrao IBM kada je kreirao prvu tastaturu za PC) . Komunikacija sa računarom će se ponoviti kada se otpusti prethodno pritisnut taster.

Kod za skeniranje je jedinstveno povezan sa ožičenjem tastature i ne zavisi direktno od oznaka ispisanih na površini tastera. Ali programu nije potreban serijski broj pritisnutog tastera, već ASCII kod koji odgovara znaku na ovom tasteru. Važno je shvatiti da ovaj kod ne ovisi u potpunosti o kodu za skeniranje, jer se istom ključu može dodijeliti nekoliko vrijednosti. Zavisi, između ostalog, o stanju drugih tastera (na primer, dugme 0 se takođe koristi za unos znaka) kada se pritisne zajedno sa dugmetom) i sistemskim postavkama. To je ono što vam omogućava da varirate raspored tastature (odnosno redosled tastera na njemu).

Sve konverzije skeniranog koda u ASCII kod se izvode softverom. Ove funkcije po pravilu preuzimaju odgovarajući BIOS moduli. Za kodiranje ćiriličkih znakova, ovi moduli su prošireni drajverima tastature (sada su uključeni u operativne sisteme).

Dijagram (slika 3) objašnjava rad kontrolera tastature.

G-clock generator; MF counter; C je selektor.

Fig.3. Najjednostavnija struktura tastature

Dekoder sekvencijalno ispituje stanje tastera koji se nalaze u X kolonama matrice tastature. Ako se pritisne bilo koji taster, tada signal preko zatvorenog kontakta ide na odgovarajuću horizontalnu magistralu Y i preko selektora (registra) ide na ulaz PLA (ROM). Signali iz dekodera i selektora formiraju adresni ulaz PLM-a (ROM), u čijim ćelijama se zapisuju znakovni kodovi (njihove najmanje značajne cifre). Kod karaktera se upisuje u izlazni registar. Gornje cifre koda određuju se sadržajem posebnog registra koji svoju vrijednost mijenja tek kada se pritisne tipka za promjenu registra (Shift, Alt, itd.).

Miš

Miš je dvodimenzionalni analogni manipulator povezan sa personalnim računarom i opremljen jednim, dva ili tri dugmeta na gornjem poklopcu i, eventualno, točkićom.

Miš radi zajedno sa ekranom, kontrolišući kretanje kursora (pokazivača) na njemu. Najpopularniji su miševi sa dva dugmeta. Na primjer, jedno dugme se može koristiti za pokretanje funkcije, a drugo za otkazivanje. Na grafičkim sistemima, jedan može uključiti marker, a drugi ga isključiti. Postoje miševi sa dodatni uređaji za pomeranje (pomeranje je pomeranje gore, dole, levo ili desno od velike slike, kao što je tekst (ili WEB stranica), koja se ne uklapa u potpunosti na ekran). Postoje miševi sa dva točka, svaki od njih "upravlja" da se kreće po jednoj od osi. Neki miševi su opremljeni dodatnim dugmetom na bočnoj strani kućišta ispod palca. Ovo dugme se može reprogramirati za obavljanje različitih radnji. Prvi miševi imali su mehanički dizajn. Koristio je malu kuglicu koja je virila kroz donju površinu uređaja i rotirala dok se kretala po površini. Mehanička kretanja (linearna ili kutna) se pretvaraju u binarne kodove. Na primjer, mehanički miš(sl.4) sadrži kuglu koja se rotira kada se uređaj pomera po ravnoj površini.

U ovoj šemi:

1. Kontrola lopte

2. Prozor za postavljanje lopte

3. Kontaktni valjak koji pomera kursor duž x i y ose na ekranu monitora.

4. Usmjereni izvor svjetlosti.

5. Koračni disk

6. Fotoćelija

7. Električni impulsi na izlazu fotoćelije.

8. Kontrolna dugmad

9. Upravljačka jedinica manipulatora i blok veza između manipulatora i računara.

Princip rada.

Prilikom pomicanja miša po horizontalnoj površini, kontrolna kugla se rotira i prenosi rotaciju na jedan od kontaktnih valjaka x ili y ose. Zajedno sa valjcima, disk za stepenice se okreće. Kada se okreće, blokira pristup svjetlosnom toku fotoćelije (fotodiode, fototranzistora ili fotootpornika). Ovaj način rada stvara grupu električnih impulsa na izlazu fotoćelije, koji se dovode do upravljačke jedinice manipulatora. Dakle, rotacija lopte se pretvara u uglove rotacije koračnog diska duž osi X I Y i bilježe dva brojača. Budući da je udaljenost koju prijeđe miš proporcionalna ovim uglovima, kodovi brojača određuju položaj miša na površini. Isti kodovi, preneseni na procesor, kontrolišu položaj markera na ekranu monitora.

Pored brojača, miš sadrži dugmad, informacije sa kojih su takođe uključene u kod koji se prenosi na procesor.

Nedostaci mehaničkih miševa uključuju činjenicu da njihov rad zahtijeva prostor (obično uvijek nema dovoljno mjesta na desktopu). Osim toga, mehanički dijelovi se često lome. Miševi imaju tendenciju skupljanja prljavštine, što dovodi do smanjenja pouzdanosti njihovog funkcioniranja. Stoga se ovaj uređaj mora povremeno čistiti, iako se čini da radi na čistoj površini stola. Jeftina i jednostavnost mehaničkih miševa učinila ih je najčešćim uređajima.

Alternativa mehaničkom mišu je optički miš.

U modernom optički miš koristi se potpuno drugačiji princip (slika 5).

U ovoj šemi:

1. Površinski stolovi.

2. Telo manipulatora.

3.4. Kontrolna dugmad.

5. Usmjereni jednobojni izvor svjetlosti.

6. Prozor u tijelu manipulatora za osvjetljavanje površine stola.

Princip rada.

Optički miš koristi minijaturnu video kameru za skeniranje površine brzinom od 1500 snimaka u sekundi. Za osvjetljavanje površine koristi se LED dioda. Okviri površine tablice pretvoreni u binarni kod se snimaju u memoriju manipulatora.

Procesor sekvencijalno bira okvire iz memorije, upoređuje ih međusobno i na osnovu poređenja izračunava rutu za pomeranje kursora na ekranu monitora duž x i y ose. Procesor takođe prati signal koji dolazi sa kontrolnih dugmadi. Svi podaci se prenose na PC preko komunikacijske jedinice.

Odsustvo pokretnih dijelova i visoka preciznost su prednosti ove metode.

Kvalitet miša je određen njegovom rezolucijom, koja se mjeri brojem tačaka ili očitavanja po inču (1 inč = 25,4 mm). Ako miš ima rezoluciju od 1000 uzoraka/inču i pomiče se za jedan inč, tada elektronsko kolo generiše 1000 impulsa (uobičajena rezolucija optičkog miša je oko 400 uzoraka/inču). Drajver miša, nakon što je primio ove informacije, usredsređuje ih u zavisnosti od grafičke rezolucije monitora i shodno tome pozicionira kursor na njegovom ekranu.

Tastatura- uređaj za kontrolu tastature za personalni računar. Koristi se za unos alfanumeričkih (znakovnih) podataka, kao i kontrolnih komandi. Kombinacija monitora i tastature daje najjednostavnije korisnički interfejs. Tastatura upravlja kompjuterskim sistemom, a monitor prima povratnu informaciju od nje.

Postoji tri glavne vrste ključni mehanizam: membrana, polumehanički I mehanički. Membranske tastature su obično nekoliko puta jeftinije od mehaničkih tastatura.

Membranske tastature

Naziv potiče od činjenice da kada se pritisne taster, dve membrane se zatvaraju. Povrat ključa vrši se gumenom kupolom (sa "minom" u sredini). Srednji film s rupama služi za odvajanje membrana.

Budući da se membrane nalaze na unutrašnjim stranama filmova, dizajn je dobro zaštićen, na primjer, od prolivene kafe.

U sigurnijoj implementaciji, sve izgleda kao jedna gumena prostirka sa izbočenim kupolama koje se nalaze ispod tastera.

Pluses tipke membranskog tipa su sigurnost, niska buka I Cijena.

Oduzeti ovog tipa krhkost.

Polumehaničke tastature

Ove tastature koriste izdržljivije metalne kontakte koji ne troše. Sve je to postavljeno na štampanu ploču. Ključ se vraća gumenom kupolom.

Mehaničke tastature

U mehaničkom tastature, ključ se vraća oprugom.

Mehaničke tastature ne zahtijevaju potpuni "sve dolje" da registruju signal, tako da je sila da se tipka pomakne s mjesta jedina sila koju trebate primijeniti da registrirate signal. Više nije potrebno pritisnuti taster na okviru tastature.

Minusi takav mehanizam: nedostatak zategnutosti, Cijena.

plus je trajnost I pouzdanost, posebno kada su kontakti pozlaćeni.

Trajnost (broj klikova pri kojima je osiguran pouzdan kontakt):

za membranske tastature: 10-30 miliona;

za mehaničke (polumehaničke): 50 miliona pa čak 100 miliona za pozlaćene kontakte.

Za prosječnog korisnika, 20 miliona će trajati 10 ili više godina tokom normalnog rada. Za to vrijeme će se promijeniti najmanje 2 generacije tastatura.

Princip rada.

Osnovne funkcije tastature ne zahtijevaju podršku vozača.

Neophodan softver za početak rada na računaru se već nalazi na ROM (memorija samo za čitanje) čipu u osnovnom ulazno/izlaznom sistemu (BIOS), tako da računar reaguje na pritiske tastera čim se uključi.

Kontroler procesora skenira prekidače ključa i kada pritisnete bilo koji taster, prenosi se jedinstveni jednobajtni kod za skeniranje. Kada kod za skeniranje uđe u procesor, pokreće se hardverski prekid. Procesor analizira kod za skeniranje i pretvara ga u kod znakova. Rezultirajući kod karaktera se zatim stavlja u malo područje memorije poznato kao bafer tastature. Uneseni znak se pohranjuje u bafer tastature sve dok ga odatle ne preuzme program za koji je namijenjen, na primjer, uređivač teksta ili program za obradu teksta. Ako znakovi češće ulaze u bafer nego što se iz njega izvlače, dolazi do efekta prelivanja bafera. U tom slučaju, unos novih znakova se zaustavlja na neko vrijeme. U praksi, u ovom trenutku, kada pritisnemo taster, čujemo zvuk upozorenja i ne posmatramo unos podataka.

Svakom ključu je dodijeljen jedinstveni numerički kod i postoje posebne tablice kodiranja tipkovnice, koje se po pravilu snimaju u poseban čip - generator karaktera procesora. Za promjenu kodiranja tastature koristite specijalni programi- drajveri za tastaturu. Moderne tastature mogu ne samo da prenose podatke procesoru, već i da primaju komande od njega.

Kompozicija tastature.

ALFA-NUMERIČKI TIPCI

Dizajniran za unos simboličkih informacija i naredbi kucanih slovom. Svaki taster može raditi u nekoliko načina (registra) i, shodno tome, može se koristiti za unos nekoliko znakova.

FUNKCIJSKE TIPKE (F1- F12)

Funkcije dodijeljene ovim tipkama zavise od svojstava određenog programa koji je trenutno pokrenut, au nekim slučajevima i od svojstava operativnog sistema. F1 otvara sistem pomoći, gdje možete pronaći pomoć o radu drugih tipki.

SERVISNI KLJUČEVI

SHIFT; ENTER; ALT; CTRL; TAB; ITD; BACKSPACE;

PRINT SCREEN- štampanje trenutnog stanja ekrana na štampaču (za MS-DOS) ili njegovo čuvanje u posebnoj oblasti RAM memorije koja se zove međuspremnik (za Windows).

SCROLL LOCK- prebacivanje načina rada u nekim (obično zastarjelim) programima.

PAUZA– obustava/prekid tekućeg procesa.

KONTROLA KURZORA

Kursor- element ekrana koji označava mjesto za unos znakovnih informacija, koji se koristi pri radu sa programima koji unose podatke i komande sa tastature. Kursorski tasteri vam omogućavaju da kontrolišete poziciju unosa.

GORE/DOLJE/LIJEVO/DESNO

DOM I KRAJ pomerite kursor na početak ili kraj trenutnog reda, respektivno. Njihovo djelovanje je također modificirano pomoću registarskih ključeva.

INSERT prebacuje način unosa podataka (prebacivanje između načina umetanja i prepisivanja). Ako je kursor teksta unutar postojećeg teksta, tada se u načinu umetanja unose novi znakovi bez zamjene postojećih znakova (tekst se čini kao da je razdvojen). U načinu zamjene, novi znakovi zamjenjuju tekst koji je prethodno bio na poziciji za unos.

IZBRIŠI je dizajniran za brisanje znakova koji se nalaze desno od trenutne pozicije kursora. Položaj ulazne pozicije ostaje nepromijenjen.

DODATNA PLOČA

duplira radnju numeričkih i nekih simboličkih tastera glavnog panela.

Podešavanje tastature.

Tastature ličnih računara imaju funkciju ponavljanja znakova koja se koristi za automatizaciju procesa unosa. Sastoji se od činjenice da kada se ključ drži duže vrijeme, počinje automatski unos koda koji je s njim povezan.

Tastatura - uređaj za kontrolu tastature za personalni računar. Služi za unos alfanumerički (znak) podatke i kontrolne komande. Kombinacija monitora i tastature daje najjednostavnije korisnički interfejs. WITH koristeći tastaturu za upravljanje računarskim sistemom, i uz pomoć monitora dobijaju odgovor od njega.

Princip rada. Tastatura pripada standardnim sredstvima PC. Njegove glavne funkcije ne moraju biti podržane posebnim sistemskim programima (drajverima). Neophodan softver za početak rada sa računarom već je dostupan u ROM čipu kao deo osnovnog I/O sistema (BIOS) i stoga računar reaguje na pritiske tastera odmah nakon uključivanja. Princip rada tastature je sljedeći.

10) Kada pritisnete tipku (ili kombinaciju tipki), posebno mikrokolo ugrađeno u tastaturu izdaje tzv. scan code.

11) Kod za skeniranje ulazi u mikrokolo koje obavlja funkcije luka tastature. (Lukovi su posebni hardversko-logički uređaji odgovorni za komunikaciju procesora sa drugim uređajima.) Ovo mikrokolo se nalazi na glavnoj ploči računara unutar sistemske jedinice.

12) Port za tastaturu daje prekid procesoru ( Prekini- privremeno zaustavljanje izvršavanja jednog programa kako bi se promptno izvršio drugi, trenutno važniji (prioritetni) program) sa fiksnim brojem. Za broj prekida tastature - 9 (Prekid 9, Int9).

13) Nakon što dobije prekid, procesor odgađa tekući rad i prema broju prekida pristupa posebnoj oblasti ​​RAM-a, u kojoj se nalazi tzv. vektor prekida. Vektor prekida je lista adresnih podataka sa fiksnom dužinom zapisa. Svaki unos sadrži adresu programa koji mora servisirati broj prekida koji odgovara broju unosa.

14) Nakon što je odredio adresu početka programa koji obrađuje prekid, procesor prelazi na njegovo izvršavanje. Najjednostavniji program Obrada prekida na tastaturi je "žičano uvezana" u ROM čip, ali programeri mogu "zameniti" svoj program umesto njega ako promene podatke u vektoru prekida.

15) Program za obradu prekida usmjerava procesor na port tipkovnice, gdje pronalazi kod za skeniranje, učitava ga u svoje registre, a zatim pod kontrolom rukovaoca određuje koji karakterni kod odgovara ovom kodu za skeniranje.

17) Procesor zaustavlja obradu prekida i vraća se na zadatak na čekanju.

Uneseni znak se pohranjuje u bafer tastature sve dok ga odatle ne preuzme program za koji je namijenjen, na primjer, uređivač teksta ili program za obradu teksta. Ako znakovi češće ulaze u bafer nego što se iz njega izvlače, dolazi do efekta prelivanja bafera. U tom slučaju, unos novih znakova se zaustavlja na neko vrijeme. U praksi, u ovom trenutku, kada pritisnemo taster, čujemo zvuk upozorenja i ne posmatramo unos podataka.

Zajedno sa mišem ili touchpadom, tastatura je primarni ulazni uređaj za korisnika.

Moderne tastature, koje se nazivaju i PC/AT tastature, imaju 101 taster, iako nekim modelima, posebno onima dizajniranim za upotrebu u laptopima, neki tasteri možda nedostaju.

Raspored tastera na tastaturi naziva se raspored tastature. Za svaki jezik, raspored tastature je malo drugačiji, ali glavni blokovi tastera su uvek isti.

Dakle, svaka tastatura sadrži funkcijske tastere, alfanumeričke tastere, numeričke tastere, tastere sa kursorom i razne servisne i kontrolne tastere. Razmotrimo ih detaljnije i istovremeno otkrijmo gdje se nalaze na tastaturi.

Funkcijski tasteri su tasteri F1 do F12. Nalaze se u horizontalnom redu na vrhu tastature. Koriste se za brzo pozivanje određenih funkcija trenutne aplikacije. Ovisno o primjeni, njihova namjena se može potpuno promijeniti.

Alfanumerički tasteri se nalaze ispod funkcijskih tastera i zauzimaju 4 horizontalna reda u levom i centralnom delu tastature. Ovi tasteri se koriste za unos teksta, tekstualnih znakova i brojeva. Upravo se ovaj blok mijenja ovisno o jeziku na kojem su ispisani. Obično ovaj blok sadrži ključeve engleskog i nacionalnog jezika (za našu zemlju - engleski i ruski raspored, ponekad i ukrajinski).

Numerički tasteri dupliraju numeričke tastere i neke kontrole. To je učinjeno za praktičniji rad s proračunima. Blok ovih tastera se nalazi na krajnjoj desnoj strani tastature. Brojni laptopi nemaju ovaj blok radi uštede prostora.

Kursorski tasteri se koriste za pomeranje kursora na datu poziciju. To su Home, End, tipke sa strelicama i drugi. Nalaze se između alfanumeričkog bloka i numeričke tastature.

Servisni i kontrolni tasteri su tasteri koji kontrolišu režime unosa teksta i različite funkcije operativnog sistema. Nalaze se u donjim uglovima numeričkog bloka (Alt, Shift, Windows tipke), u lijevoj koloni brojčanog bloka (Caps Lock, Tab), u blizini funkcijskih tipki i tipki sa kursorom.

Uređaj i princip rada tastature

Ako zamislimo tastaturu kao rešetku, tada će se tipke nalaziti na sjecištu vertikalnih i horizontalnih traka.

Radi na sljedeći način. Horizontalne linije su pod naponom. Ako nema pritiskanja, horizontalne i vertikalne linije se ne zatvaraju i na horizontalnim linijama će biti signal logičke jedinice (na linijama postoji napon). Na vertikalnim linijama naizmjenično će se primjenjivati ​​logička nula.

Horizontalne linije se ispituju jedna po jedna. Ako se pritisne tipka, zatvorit će se vertikalne i horizontalne linije, a horizontalna linija će biti postavljena na logički nulti signal primljen od vertikalne linije.

Znajući na koju je vertikalnu liniju primijenjena nula i koja horizontalna linija umjesto jedan daje nulti signal, možete precizno odrediti pritisnutu tipku.

Ovo je kontroler tastature. Primljenom signalu dodeljuje takozvani kod za skeniranje. Nakon toga, centralnom procesoru daje zahtjev za prekid i šalje mu skenirani kod pritisnute tipke.

Tastatura također ima vlastiti bafer za pohranjivanje koda za skeniranje pritisnutih tipki. Namijenjen je onim slučajevima kada se istovremeno pritisne nekoliko tipki. Sa baferom, procesor obrađuje ove pritiske tipki ili kombinacije tipki koje se pritisnu istovremeno.

Postoji mala nijansa u šifri ključa. Kod za skeniranje koji se prenosi na procesor nije ista slovna oznaka koja je odštampana na ključu. To je samo broj tipke koja je pritisnuta. Vrijednost samog ključa određena je ASCII kodom ključa. Isti ključ može odgovarati nekoliko vrijednosti u ovom kodu. Konverzija skeniranog koda u ASCII kod se vrši pomoću softverskog BIOS-a i drajvera tastature.

laptop tastatura

U laptopu, kao u PC, postoji tastatura, ali zbog činjenice da je laptop proizvod iz jednog komada, tastatura u njemu ima veću vrednost nego u običnom računaru.

Zbog male veličine laptopa, njegova tastatura ima svoje karakteristične karakteristike.
Kako ne bi virili iznad bloka tastature i ne bi ogrebali ekran, tasteri laptopa su mnogo tanji nego inače i imaju poseban tanak uređaj koji obezbeđuje kratak hod tastera.

Kako bi smanjili površinu same tastature, proizvođači smanjuju veličinu tipki. Takođe, neki modeli možda nemaju numeričku tastaturu na desnoj strani tastature. Neki tasteri su smešteni u jednu kompaktnu grupu, posebno tasteri sa kursorom i servisni tasteri.

Da bi se pružile neke specifične radnje dizajnirane za rad sa komponentama laptopa, dodatne funkcije su uvedene na tipkama i nove kombinacije tipki specifične za određeni model.
Ove karakteristike imaju svoje prednosti i nedostatke.

Plus je kretanje mekih tastera, njihov gotovo tih rad, prijatni taktilni osećaji.
Nedostatak je nedostatak digitalnog bloka kod nekih modela, nestandardni raspored, mala veličina nekih tipki.

Također, nedostatak u odnosu na kompjutersku tastaturu je problem zamjene i. Računarska tastatura je jeftina i lako se mijenja. Njegovo rastavljanje, čišćenje i popravak je mnogo lakši i mnogo jeftiniji od sličnog rada sa tastaturom laptopa.
Dakle, razmotrite glavne probleme i kvarove tastature laptopa i kako ih popraviti.

Kvarovi i popravke tastature laptopa

Kao i kod svakog uređaja, postoje dvije glavne vrste kvarova - kvarovi zbog greške korisnika laptopa i kvarovi na hardveru.

Najčešći su kvarovi zbog greške korisnika kod ovog uređaja.

Najčešći uzrok je prolivena tečnost po tastaturi. Da se to ne bi dogodilo, nemojte stavljati tečnost blizu laptopa i ne piti ništa dok sjedite za njim. Ako je problem već nastao, pažljivo sakupite tečnost sa tastature vatom i salvetama i odnesite je u servis. Takođe se preporučuje da uklonite bateriju iz laptopa. Treba imati na umu da što prije kontaktirate servisni centar, veća je vjerovatnoća da tekućina neće imati vremena da uđe u laptop. Prilikom samostalnog ili nevještog rastavljanja tečnost može ući u kućište i dovesti do mnogo ozbiljnijih i skupljih oštećenja.

Takođe, tastatura može pretrpjeti jake udarce po tipkama. Kao rezultat toga, neki ključevi se s vremenom pokvare ili izlete. Ako imate odgovarajuće ključeve, možete ih sami zamijeniti, ali ako ih nema ili je sam mehanizam za pritiskanje pokvaren, onda je bolje da ga date u servisni centar. Sprečavanje ovog kvara je pažljivo rukovanje ključevima.

Ponekad su tasteri slabo pritisnuti, lepljivi ili čak prestaju da se pritiskaju. To je zbog činjenice da kada jedete za tastaturom, ona se vremenom začepi. Tasteri prestaju pritiskati ili ih je teško pritisnuti zbog krhotina ispod njih. Ponekad se tastatura začepi prašinom. U slučaju obične tastature, lako se čisti, ali tastatura laptopa koristi sopstvene nosače za tastaturu. Prilikom rastavljanja možete oštetiti kabel koji ide do njega ili slomiti ključeve. Stoga ne bi škodilo da tastaturu redovno dajete na čišćenje u servis kako biste spriječili ovaj problem. Ovaj postupak možete kombinirati s čišćenjem laptopa od prašine u servisnom centru.

Kvarovi hardvera uključuju oštećenje kontakata petlje, oštećenje same petlje, kvar kontrolera tastature, ploče tastature i drugo. Sve kvarove na hardveru preporuča se obaviti u servisnom centru. Ovo je suptilna popravka koja se ne može izvesti bez iskustva i prave opreme.

Također treba imati na umu da u nekim slučajevima popravak hardvera može biti skuplji od zamjene tastature novom. Nakon dijagnoze neće biti suvišno uporediti cijenu popravka i cijenu nove tastature. Zamjenu je bolje povjeriti stručnjacima, jer određeni model laptopa ima svoj tip priključka za tastaturu i svoj model, koji se može samo odabrati i ugraditi.

Predavanje 6

Tastatura: Periferni ulazni uređaj

Vrste tastatura:

Jednostavne tastature sa standardnim skupom tipki (abecedni, numerički, funkcijski itd.)

INmultimedijalne tastature pored standardnih tastera, dodati su i multimedijalni tasteri. Ove tastature olakšavaju rad sa multimedijom

Tastature za igre dizajniran za upotrebu u igricama.

Takođe, prilikom odabira tastature, možete obratiti pažnju na njene tehničke parametre. Među ovim parametrima je mehanizam tastera tastature.

Postoje tri glavne vrste: membranske, mehaničke i polumehaničke.

IN membranska tastatura - elektronska tastatura bez odvojenih mehaničkih pokretnih dijelova, napravljena u obliku ravne, obično fleksibilne površine s otisnutim uzorkom tipki. Tastature ovog tipa karakteriziraju vrlo niska cijena, izuzetna kompaktnost (debljina je djeliće milimetra), sposobnost savijanja, visoka pouzdanost i gotovo savršena zaštita od prljavštine i vlage. Glavni nedostatak je gotovo potpuni nedostatak taktilne povratne informacije, što otežava precizno i ​​slijepo kucanje. Da bi se nadoknadio ovaj nedostatak, uređaji sa membranskom tastaturom obično imaju zvučnu potvrdu pritiska na taster. Osim toga, opterećenje na membranama se ne "mjeri" sistemom "pusher-cap" (vidi dolje), već se određuje isključivo prstima operatera, što značajno smanjuje vijek trajanja membrana.

Osamdesetih godina prošlog veka membranske tastature su korišćene u nekim kućnim računarima nižeg cenovnog ranga. Trenutno se i dalje koriste u kućanskim aparatima (na primjer, u mikrotalasne rerne), specijalizovana i industrijska oprema. Moderne kompjuterske tastature koriste kombinovanu tehnologiju membranske, gumene i mehaničke tastature, gde se pritiskom na plastični taster gura gumeni poklopac, pružajući taktilnu povratnu informaciju, i pritiska na membranu. Princip rada.

Membranska tastatura se obično sastoji od tri sloja. Na dva od njih su postavljene provodne staze. Treći, izolacijski sloj se odvaja. Na mjestima gdje se nalaze tipke, ima izreze koji omogućavaju dodirivanje tragova gornjih i donjih slojeva kada se pritisnu. Debljina slojeva tastature obično nije veća od debljine papira ili kartona.

INmehaničke tastature metalne opruge se koriste za vraćanje ključeva. Krugovi tastature ovog tipa nisu jako zaštićeni od prašine i vlage. Dugotrajnost je glavna prednost mehaničkih tastatura.

Polumehaničke tastature ovo je križ između membranske i mehaničke, gdje se umjesto donje membrane koristi štampana ploča. Ovaj dizajn se smatra izdržljivijim. Ključ se takođe vraća u prvobitni položaj pomoću gumene kupole. Ponekad sa malom oprugom. U tom slučaju se postiže glatkiji hod tokom cijelog presovanja. Ali opružna tehnologija ima jedan specifičan učinak: ključ se aktivira čak i djelomičnim pritiskom, dok koncept membrane omogućava da se predomislite u procesu pritiskanja. Ovo je važno za veliku brzinu štampanja. Cijena ovakvih uređaja je veća nego za membranske, ali osim što imaju određenu zaštitu od zagađenja, ove tastature će vam duže trajati.

Laser tastature

Sastoji se od male kutije projektora koja vam omogućava da prikažete sliku sa tastature na bilo kojoj ravnoj površini. Podaci se prenose zračnim putem (bežično). Možete podesiti svjetlinu, zvuk tipki, osjetljivost. Istina, to ne garantuje 100% prepoznavanje vaših pokreta, a osim toga, oči bole od jakog svjetla. Postoji još jedan minus: tastatura se ne vidi pri jakom svjetlu. Pa, cijena ovog gadžeta nikako nije mala.

IN bežične tastature Postoje tri glavna tipa veze, a to su Bluetooth veza, infracrvena veza i RF veza.

Tastature koje imaju RF vezu napajaju se iz baterije ili preko USB kabla koji se koristi za punjenje tastature. Tastature sa infracrvenom vezom moraju biti u dometu prijemnog uređaja. Tastature sa RF vezom imaju veći domet od tastatura sa infracrvenom vezom. Bluetooth tastature koriste Bluetooth tehnologiju da obezbede veći domet od RF i infracrvenih tastatura. Tastature sa RF vezom pružaju veću prenosivost od tastatura sa Bluetooth i infracrvenom vezom.

Žičane tastature

PS/2 i USB su dvije vrste žičanih veza koje povezuju tastature sa računarima.

PS/2 port se prvi put pojavio na kompjuterima (prije toga se koristio za povezivanje tastature . Brzina prijenosa podataka - od 80 do 300 Kb/s i ovisi o performansama povezanog uređaja i softvera .

Od šest pinova u konektoru, četiri se koriste: frekvencija, podaci, snaga, zajednički. Istovremeno, kontakti koji se koriste za sabirnicu podataka i frekvencija za tastaturu mogu se razlikovati od kontakata za povezivanje miša. Ovo vam omogućava da koristite oba uređaja odjednom, ali preko razdjelnika.

Neki može ispravno raditi ako su miš i tastatura "pogrešno" povezani (to jest, kada je tastatura spojena na konektor namijenjen mišu, i obrnuto, miš je spojen na konektor za tipkovnicu) - to je zbog činjenice da je svaki konektor univerzalan. Većina matične ploče ako je pogrešno spojen (ili isključen tokom rada) zahtijevat će od korisnika da "ispravno" poveže uređaje, a ponekad .

Ovisno o vrsti kućišta tastature, dijele se na:

tradicionalno (standardno)– konvencionalne AT-tastature;

Ergonomski. Dizajn tastature ovog tipa uzima u obzir prirodan položaj ruku tokom kucanja (u takvim dizajnom tastatura je bila prelomljena u sredini, tasteri su bili pod pravim uglom u odnosu na prirodni položaj ruku prilikom kucanja). Ergonomska tastatura može poboljšati produktivnost i izbjeći opasnosti od određenih kroničnih bolesti.

Fleksibilno.- Tastatura je izrađena od netoksične visokoelastične silikonske gume i izgleda kao neka vrsta tepiha sa izbočinama raznih oblika. Slova i simboli se ne brišu tokom vremena kada se primjenjuju na poleđinu vanjskog filma. Vanjski film može biti mat ili sjajan. Glavna prednost ovakvih tastatura je lakoća transporta - teže samo oko 350 grama i lako se sklapaju u kompaktnu rolu. Dobro su zaštićeni od prljavštine (vodootporni), lako se čiste i relativno lako podnose udarce. Oni su nečujni i u nekim implementacijama imaju pozadinsko osvijetljene tipke.

Ali postoje i nedostaci: da biste pritisnuli tipku, morate uložiti malo više napora nego na konvencionalnoj tastaturi. Pritiskom treba pasti strogo u centar.

Program može koristiti tastaturu na različite načine. Može odgoditi svoje izvršenje dok operater ne unese broj ili dok se ne pritisne tipka. Tokom obavljanja nekog posla, program može periodično provjeriti da li je operater pritisnuo tipku koja mijenja način rada programa. Stalni programi mogu kontrolirati sve pritiske tipki, aktivirajući se kada se pritisne unaprijed određena kombinacija. Možete koristiti prekid koji generiše tastatura, na primjer, da prekinete program.

Kako tastatura radi

Šta se nalazi unutar tastature? Ispostavilo se da tamo postoji kompjuter! Samo ovaj računar se sastoji od jednog mikrokola i obavlja specijalizovane funkcije. Prati pritisak na tastere i šalje broj pritisnutog tastera centralnom računaru.

Tastatura je skup senzora koji opažaju pritisak na tipke i zatvaraju određeni električni krug. Dugo su se proizvodile klavijature sa mehaničkim senzorima. Moderne tastature su membranskog tipa. Prekidač je skup membrana: aktivna - gornja, pasivna - donja, razdvajajuća.

Unutar kućišta tastature, pored senzora, nalaze se i elektronske ploče za dekodiranje signala.

Razmjena podataka između tastature i matične ploče odvija se u 11-bitnim blokovima (8 bita plus servisne informacije) preko 2-žičnog kabla (signalni i uzemljeni).

Princip tastature je skeniranje prekidača tipki. Zatvaranje i otvaranje bilo kojeg od prekidača odgovara jedinstvenom digitalnom kodu (sken kodu) od 1 bajta.

Tastatura je povezana sa matičnom pločom pomoću DIN ili mini-DIN konektora.

Na matičnoj ploči poseban mikro krug obavlja prijem i obradu signala s tastature -kontroler tastature.

Ako uzmemo u obzir vrlo pojednostavljeni šematski dijagram tastature, možemo vidjeti da se sve tipke nalaze u čvorovima matrice:

Svi horizontalni vodovi matrice povezani su preko otpornika na napajanje +5 V. Računar sa tastaturom ima dva porta - izlazni i ulazni. Ulazni port je povezan na horizontalne linije matrice (X0-X4), a izlazni port je povezan sa vertikalnim linijama (Y0-Y5).

Postavljanjem naizmjenično na svakoj od vertikalnih linija naponski nivo koji odgovara logičkoj 0, kompjuter sa tastaturom ispituje stanje horizontalnih linija. Ako se ne pritisne nijedan taster, nivo napona na svim horizontalnim linijama odgovara logici 1 (jer su svi ovi vodovi povezani na +5 V napajanje preko otpornika).

Ako operater pritisne bilo koju tipku, tada će se zatvoriti odgovarajuće vertikalne i horizontalne linije. Kada procesor postavi vrijednost logičke 0 na ovoj vertikalnoj liniji, nivo napona na horizontalnoj liniji će također odgovarati logičkoj 0.

Čim se nivo logičke 0 pojavi na jednoj od horizontalnih linija, procesor tastature fiksira pritisak na taster. On šalje zahtjev za prekid i broj ključa u matrici centralnom računaru. Slične radnje se izvode kada operater otpusti prethodno pritisnutu tipku.

Broj tastera koji šalje procesor tastature je jedinstveno povezan sa rasporedom matrice tastature i ne zavisi direktno od oznaka ispisanih na površini tastera. Ovaj broj se zove kod za skeniranje.

Riječ "skeniranje" odnosi se na činjenicu da kompjuter s tastaturom skenira tastaturu kako bi pronašao tipku koja je pritisnuta.

Ali programu nije potreban serijski broj pritisnutog tastera, već ASCII kod koji odgovara oznaci na ovom tasteru. Ovaj kod ne zavisi jedinstveno od koda za skeniranje, jer Isti ključ može imati više vrijednosti ASCII koda. Zavisi od stanja drugih ključeva. Na primjer, ključ s oznakom "1" se također koristi za unos znaka "!" (ako se pritisne zajedno sa tasterom SHIFT).

Stoga se sve konverzije skeniranja u ASCII obavljaju pomoću softvera. Obično ove konverzije izvode BIOS moduli. Za korištenje ćiriličkih znakova, ovi moduli su prošireni drajverima tastature.

Ako pritisnete taster i ne otpustite ga, tastatura će preći u režim automatskog ponavljanja. U ovom režimu, kod pritisnutog tastera se automatski šalje centralnom računaru nakon određenog vremenskog perioda, koji se naziva period automatskog ponavljanja. Režim automatskog ponavljanja olakšava unos velikog broja identičnih znakova sa tastature.

Treba napomenuti da tastatura sadrži interni bafer od 16 bajta preko kojeg komunicira sa računarom.

Stog drajvera za sistemske ulazne uređaje

Drajveri tastature, bez obzira na fizičke šeme ožičenja, koriste drajvere klase sistemske tastature za rukovanje operacijama nezavisnim od hardvera. Podaci vozača se pozivajuvozači klase , budući da pružaju zahtjeve za određenu klasu uređaja koje zahtijeva sistem, ali ne ovise o implementaciji hardvera.

Dopisivanjefunkcionalni drajver (port driver) implementira I/O podršku specifičnu za uređaj. Windows OS za x86 platforme implementira jedan drajver za tastaturu (i8042) i miša.

Plug and Play PS/2 drajver za tastaturu

Stog drajvera sadrži (od vrha do dna):

    Kbdclass - drajver filtera klase tastature najvišeg nivoa;

    opcioni drajver filtera klase tastature najvišeg nivoa;

    i8042prt - upravljački program za funkcionalnu tastaturu;

    root drajver magistrale.

Na Windows 2000 i starijim, drajver klase tastature jekbdclass , čiji su glavni zadaci:

    pružanje općih i uređaja neovisnih operacija klase uređaja;

    podrška uključi i igraj,

    istovremeno izvršavanje operacija od strane više uređaja;

    implementacija rutine povratnog poziva usluge klase koju poziva upravljački program funkcije da prenese podatke iz ulaznog bafera uređaja u bafer podataka drajvera klase uređaja.

U Windows 2000 i novijim, funkcionalni drajver za ulazne uređaje koji koriste PS/2 port (tastature i miševi) jei8042prt , čije su glavne funkcije sljedeće:

    obezbeđivanje hardverski zavisnih simultanih operacija PS/2 ulaznih uređaja (tastature i miševi dele zajedničke ulazne izlazne portove, ali koriste različite prekide, rutine za rukovanje prekidima (ISR) i rutine za dovršavanje rukovanja prekidom);

    podrška uključi i igraj, podrška za upravljanje napajanjem i Windows Management Instrumentation (WMI);

    podrška za operacije za stare uređaje;

    pozovite rutinu povratnog poziva usluge klase za klase tastature i miša za prijenos podataka iz bafera ulaznih podataka i8042prt u bafer podataka drajvera klase;

    pozivanje skupa funkcija povratnog poziva koje mogu implementirati drajvere filtera visokog nivoa za fleksibilnu kontrolu uređaja.

Općenito, stog uređaja (ispravnije je govoriti o hrpi objekata uređaja) PS / 2 tastature sastoji se od:

    fizički objekat tastature (PDO) kreiran od strane upravljačkog programa sabirnice (u ovom slučaju, PCI sabirnica) – \Uređaj\00000066;

    Funkcionalni objekat uređaja tastature (FDO) kreiran i priključen na PDO od strane drajvera i8042prt - neimenovani objekat;

    opcioni objekti filtera uređaja tastature kreirani od strane drajvera filtera za tastaturu treće strane;

    objekat filtera uređaja najvišeg nivoa klase tastature kreiran od strane upravljačkog programa klase Kbdclass - \Device\KeyboardClass0.

Rukovanje unosom sa tastature od strane aplikacija

Podsistem Microsoft Win32 pristupa tastaturi koristeći Raw Input Thread (RIT), koji je dio sistemskog procesa csrss.exe. operativni sistem kreira RIT i sistemski hardverski ulazni red (SHIQ) pri pokretanju.

RIT otvara objekt uređaja drajvera klase tastature za ekskluzivnu upotrebu i šalje mu I/O zahtjev (IRP) tipa IRP_MJ_READ koristeći funkciju ZwReadFile. Nakon što primi zahtjev, upravljački program Kbdclass ga označava kao na čekanju, stavlja ga u red čekanja i vraća povratni kod STATUS_PENDING. Sirovi ulazni tok mora čekati da se IRP završi, koristeći poziv asinkronog postupka (APC).

Kada korisnik pritisne ili otpusti jedan od tastera, kontroler sistemske tastature generiše hardverski prekid. Njegov rukovalac poziva specijalnu servisnu rutinu prekida IRQ 1 (interrupt service rutinu, ISR), registrovanu u sistemu od strane drajvera i8042prt. Ova procedura čita podatke koji su se pojavili iz internog reda čekanja kontrolera tastature. Obrada hardverskog prekida mora biti što je brža, tako da ISR stavlja u red čekanja poziv odgođene procedure (DPC) I8042KeyboardIsrDpc i izlazi. Čim je to moguće (IRQL padne na DISPATCH_LEVEL), sistem će pozvati DPC. U ovom trenutku, KeyboardClassServiceCallback procedura povratnog poziva registrovana od strane Kbdclass drajvera u i8042prt drajveru će biti pozvana. KeyboardClassServiceCallback će dohvatiti IRP zahtjev na čekanju iz svog reda, popuniti maksimalan broj KEYBOARD_INPUT_DATA struktura koje nose sve potrebne informacije o pritisku/otpuštanju ključa i prekinuti IRP. Sirovi ulazni tok se budi, obrađuje primljene informacije i ponovo šalje IRP tipa IRP_MJ_READ drajveru klase, koji je ponovo u redu do sljedećeg pritiska/otpuštanja tipke. Prema tome, stog tastature uvek ima najmanje jedan IRP na čekanju, i nalazi se u redosledu Kbdclass drajvera.

Koristeći uslužni program IrpTracker, koji je razvila ranije pomenuta kompanija Open Systems Resources, možete pratiti redosled poziva koji se javljaju prilikom obrade unosa sa tastature.

Kako RIT obrađuje dolazne informacije? Svi dolazni događaji na tastaturi stavljaju se u red za unos hardvera sistema, nakon čega se sekvencijalno pretvaraju u windows poruke(tipa WM_KEY*, WM_?BUTTON* ili WM_MOUSEMOVE) i postavljen na kraj virtueliziranog ulaznog reda aktivne niti (VIQ). U Windows porukama kodovi za skeniranje tipki zamjenjuju se virtualnim kodovima tipki koji ne odgovaraju lokaciji tipke na tipkovnici, već radnji koju tipka izvodi. Mehanizam konverzije koda zavisi od aktivnog rasporeda tastature, istovremenih pritisaka na tastere (kao što je SHIFT) i drugih faktora.

Kada se korisnik prijavi, Windows Explorer proces pokreće nit koja kreira traku zadataka i radnu površinu (WinSta0_RIT). Ova tema je vezana za RIT. Ako korisnik pokrene MS Word, tada će se nit koja je kreirala prozor odmah povezati na RIT. Nakon toga, nit koju posjeduje Explorer se odvaja od RIT-a, pošto samo jedna nit može biti povezana sa RIT-om u isto vrijeme. Kada se pritisne tipka, odgovarajući element će se pojaviti u SHIQ-u, što će uzrokovati da se RIT probudi, konvertuje događaj hardverskog unosa u poruku sa tastature i postavi ga u VIQ niti aplikacije MS Word.

Nizovi stanja tastera tastature

Jedan od izazova u dizajniranju Windows hardverskog ulaznog modela bio je učiniti ga otpornim na greške. Tolerancija grešaka je obezbeđena nezavisnom obradom unosa od strane niti, što sprečava da jedna nit negativno utiče na drugu. Ali to nije dovoljno za pouzdano izolovanje niti jedna od druge, tako da sistem podržava dodatni koncept - lokalno stanje unosa. Svaka nit ima svoje vlastito stanje unosa, informacije o kojem se pohranjuju u strukturi THREADINFO. Informacije o ovom stanju uključuju podatke o virtuelnom ulaznom redu niti, kao i grupu varijabli. Potonji sadrže kontrolne informacije o stanju ulaza. Što se tiče tastature, podržane su sledeće informacije: koji prozor ima fokus tastature, koji prozor je trenutno aktivan, koji tasteri su pritisnuti, u kakvom je stanju kursor za unos.

Informacije o tome koje su tipke pritisnute pohranjene su u sinhronom stanju niza tipki. Ovaj niz je uključen u lokalne varijable ulaznog stanja svake niti. Istovremeno, postoji samo jedan niz stanja asinhronog ključa, koji sadrži slične informacije, a dijele ga sve niti. Nizovi odražavaju stanje svih ključeva u ovom trenutku, a funkcija GetAsyncKeyState vam omogućava da odredite da li je navedena tipka trenutno pritisnuta. GetAsyncKeyState uvijek vraća 0 (nije pritisnut) ako ga pozove nit različita od one koja je kreirala prozor koji trenutno ima fokus za unos.

Funkcija GetKeyState razlikuje se od GetAsyncKeyState po tome što vraća stanje tastature u vreme kada je poslednja poruka na tastaturi preuzeta iz reda niza. Ova funkcija se može pozvati u bilo koje vrijeme; nije joj bitno koji prozor ima fokus.

Zamke za tastaturu

U operativnom sistemu Microsoft Windows, zamka ili kuka je mehanizam za presretanje događaja pomoću posebne funkcije (kao što je prosleđivanje Windows poruka, unos mišem ili tastaturom) pre nego što stignu do aplikacije. Ova funkcija tada može reagirati na događaje i, u nekim slučajevima, promijeniti ih ili otkazati.

Pozivaju se funkcije koje primaju obavijesti o događajimafunkcije filtera i razlikuju se po vrstama događaja koje presreću. Da bi Windows pozvao funkciju filtera, ta funkcija mora biti spojena na kuku (kao što je kuka za tastaturu). Povezivanje jedne ili više funkcija filtera na zakačicu naziva se postavljanje zakače. Aplikacije koriste Win32 API funkcije SetWindowsHookEx i UnhookWindowsHookEx za instaliranje i uklanjanje funkcija filtera. Neke kuke se mogu postaviti i za cijeli sistem i za jednu specifičnu nit.

Ako je više funkcija filtera priključeno na istu zakačicu, Windows implementira red funkcija, s posljednjom pripojenom funkcijom na početku reda i prvom funkcijom na kraju reda. Red funkcija filtera (pogledajte sliku 8) podržava sam Windows, što olakšava pisanje funkcija filtera i poboljšava performanse operativnog sistema.

Sistem održava zasebne lance za svaku vrstu udice. Lanac kuke je lista pokazivača za filtriranje funkcija (posebne aplikacije definirane funkcije povratnog poziva). Kada se dogodi događaj povezan sa određenim tipom zakačivanja, sistem uzastopno prosljeđuje poruku svakoj funkciji filtera u lancu kuke. Radnja koju funkcija filtera može poduzeti ovisi o vrsti zakačivanja: neke funkcije mogu samo pratiti pojavu događaja, druge mogu modificirati parametre poruke ili čak zaustaviti obradu poruke blokiranjem poziva sljedeće funkcije filtera u lancu zakačivanja ili funkcija rukovanja porukama odredišnog prozora.

Kada je jedna ili više funkcija filtera spojena na zakačicu i dogodi se događaj koji pokreće zakačivanje, Windows poziva prvu funkciju u redu čekanja funkcija filtera i to je njegova odgovornost. Funkcija je tada odgovorna za pozivanje sljedeće funkcije u lancu, što se radi pomoću CallNextHookEx Win32 API funkcije.

OS podržava nekoliko tipova kukica, od kojih svaka omogućava pristup jednom aspektu Windows mehanizma za razmjenu poruka.

Opća shema obrade

Hajde da generalizujemo sva prethodno stečena znanja o proceduri unosa sa tastature u jednom algoritmu. Dakle, algoritam protoka signala od korisnika pritiskom na tipke na tastaturi do pojave znakova na ekranu može se predstaviti na sljedeći način:

    Operativni sistem pri pokretanju kreira sirovi ulazni tok i sistemski hardverski ulazni red u sistemskom procesu csrss.exe.

    Sirovi ulazni tok u petlji šalje zahtjeve za čitanje upravljačkom programu klase tastature, koji ostaju na čekanju dok se ne dogode događaji na tipkovnici.

    Kada korisnik pritisne ili otpusti taster na tastaturi, mikrokontroler tastature detektuje pritisak/otpuštanje tastera i šalje skenirani kod pritisnutog tastera i zahtev za prekid centralnom računaru.

    Kontroler sistemske tastature prima kod za skeniranje, pretvara kod za skeniranje, čini ga dostupnim na I/O portu 60h i generiše hardverski prekid CPU-a.

    Kontrolor prekida poziva rutinu prekida IRQ 1, ISR, registrovanu u sistemu od strane upravljačkog programa i8042prt funkcije tastature.

    ISR procedura čita podatke koji su se pojavili iz internog reda čekanja kontrolera tastature, prevodi kodove za skeniranje u virtuelne kodove tastera (nezavisne vrednosti koje definiše sistem) i stavlja u red poziv odgođene procedure I8042KeyboardIsrDpc.

    Što je prije moguće, sistem poziva DPC, koji zauzvrat poziva KeyboardClassServiceCallback proceduru povratnog poziva koju je registrovao upravljački program klase tastature Kbdclass.

    KeyboardClassServiceCallback procedura preuzima zahtjev na čekanju iz sirovog ulaznog toka iz njegovog reda i vraća informacije o tipki koja je pritisnuta u njemu.

    Sirovi ulazni tok pohranjuje primljene informacije u sistemski hardverski ulazni red i na osnovu njega generiše osnovne poruke Windows tastature WM_KEYDOWN, WM_KEYUP, koje se postavljaju na kraj virtuelnog ulaznog reda VIQ aktivne niti.

    Petlja poruka niti uklanja poruku iz reda i prosljeđuje je odgovarajućoj proceduri prozora na obradu. U ovom slučaju može se pozvati sistemska funkcija TranslateMessage, koja na osnovu osnovnih poruka tastature kreira dodatne "znakovne" poruke WM_CHAR, WM_SYSCHAR, WM_DEADCHAR i WM_SYSDEADCHAR.

mob_info