Tastaturets virkemåde - om det der sker, når man trykker på en tast.
De ord der er makeret med fed, henviser til en nærmere forklaring i bunden.
Et keyboard er basalt set en mini computer med en microprocessor (mini-CPU), ROM og EEPROM memory/buffer til at ”opbevare” data og fungerer lidt ligesom en mini-harddisk.
Dette er et internt kredsløb fra et standard keyboard, hvor de små grønne dioder er de lys, man ser oppe i højre hjørne af tastaturet.
Det interne kredsløb i tastaturet har 2 formål. Det første formål er at det er ansvarligt for at lægge mærke til det rå signal, som opstår ved tastaturtryk og oversætte det til et signal, der kan læses af computeren. Nummer 2 er at den faktisk håndterer kommunikationen mellem keyboardet og resten af computeren.
Keyboardet får strøm igennem serielinterfacet, fra 2 ledninger på motherboardet, som giver et +5V signal.
Det der sker, når man trykker på en tast er at, keyswitches (under knapperne) aktiveres og der bliver genereret et elektrisk signal til en intern buffer (som kan indeholde 16-20 bytes, alt efter hvilket keyboard det er), som fortæller microprocessor, at en tast er nede.
Microprocessor slår herefter op i sin matrix som består af rækker og kolonner, for på den måde se, hvilken tast der er trykket ned.
Når en tast er blevet identificeret, sender microprocessoren en speciel kode til keyboard-controlleren på motherboardet., der fortæller, hvad der er blevet tastet. Denne kode hedder en scan code. Der findes der 2 typer scan-koder: Én kode når tasten er nede og én når den kommer op igen.
Kommunikationen foregår altså via kablet mellem keyboardet og ps2 interfacet (på motherboardet). Keyboardet bruger sin egen controller til at ”snakke”, med keyboard-controlleren på motherboardet.
Keyboard controlleren er en del af south bridge’n, der her sørger for at videregive et interrupt signal (IRQ1 = 9h), som south bridge’n finder i en Interrupt Vector Table (ligger i de første 1024 bytes i RAM), og derved fortæller CPU’en, at den skal tilsidesætte de nuværende processer og give øjeblikkelig plads til data fra tastaturet.
Interrupt-signalet starter således et serviceprogram, der oversætter scan kode informationen fra keyboardet til ASCII-koder, som opbevares i en tastaturbuffer på computeren, som alle applikationer har adgang til, og det er denne vej, at indtastningerne på keyboardet bliver visuelle.
I nedenstående er bragt et udvalg af scan koder.
Character Name Char Code Decimal Binary Hex
Null NUL Ctrl @ 0 00000000 00
Start of Heading SOH Ctrl A 1 00000001 01
Start of Text STX Ctrl B 2 00000010 02
End of Text ETX Ctrl C 3 00000011 03
End of Transmit EOT Ctrl D 4 00000100 04
Enquiry ENQ Ctrl E 5 00000101 05
Acknowledge ACK Ctrl F 6 00000110 06
Bell BEL Ctrl G 7 00000111 07
Back Space BS Ctrl H 8 00001000 08
Horizontal Tab TAB Ctrl I 9 00001001 09
Line Feed LF Ctrl J 10 00001010 0A
Vertical Tab VT Ctrl K 11 00001011 0B
Form Feed FF Ctrl L 12 00001100 0C
Carriage Return CR Ctrl M 13 00001101 0D
Shift Out SO Ctrl N 14 00001110 0E
Shift In SI Ctrl O 15 00001111 0F
Ordforklaringer
Microprocessor
Er en silicon chip, der indeholder en CPU. Inden for PC-verdenen, bruges ordet CPU, men det dækker så her hele begrebet. Som hjertet i alle personlige computere og de fleste workstations sidder der en mikroprocessor. Mikroprocessorer styrer også logikken i næsten alle digitale apparater, fra clockradioer til fuel-injectionsystemer i biler.
Keyswitches
Når man trykker på en tast, f.eks. A, trykker man en form af 2 plader sammen, så der kan løbe signaler igennem og på den måde ved computeren, hvilken tast der er trykket på, fordi den sender en scan-code.
Intern buffer
Bruges til indeholde og afsende de informationer (scan codes), den får fra keyboardet til computeren.
Scan code
Scan code bliver vist i hexidecimale tal for at keyswitchen ved, hvilken tast der helt præcis bliver trykket på, da der findes mange forskellige typer keyboards.
Interrupt Vector Table
Er en tabel som bruges, når man starter sin computer op. Når man starter sin computer op, putter BIOS’en en adresse ind i tabellen, så når DOS søger efter keyboardet går den ind og leder i tabellen.
ASCII
(American Standard Code for Information Intercharge)
Er en form for tegnsæt til computere. En tabel, der omsætter hvert bogstav til et 7-bit tal, altså et tal imellem 0 og 127. Omfatter kun amerikanske bogstaver, hvorfor de fleste computere benytter 8 bits til hvert tegn. Området 128 til 255 benyttes til ”danske” keyboards, f.eks. æ, ø og å.
Interrupt-signal
Sender output og indput til computeren.
skrevet af Peter Lenler
