Tangentbordskontroll (dator) - Keyboard controller (computing)
Vid beräkning, en tangentbordsstyrenhet är en anordning som gränssnitt ett tangentbord till en dator . Dess huvudsakliga funktion är att informera datorn när en knapp trycks ned eller släpps. När data från tangentbordet kommer fram höjer styrenheten ett avbrott (ett tangentbordsavbrott ) så att CPU: n kan hantera ingången.
Om ett tangentbord är en separat perifer systemenhet (såsom i de flesta moderna stationära datorer ), är tangentbordet styrenheten inte direkt vidfäst till nycklar men får avläsningskoder från en mikrokontroller inbäddade i tangentbordet via någon form av seriegränssnitt . I det här fallet kontrollerar styrenheten vanligtvis också tangentbordets lysdioder genom att skicka tillbaka data till tangentbordet via kabeln.
Den IBM PC AT använde en Intel 8042 chip för att samverka till tangentbordet. Den här datorn kontrollerade också åtkomst till A20-linjen för att implementera en lösning för ett chipfel i Intel 80286 . Tangentbordskontrollen användes också för att initiera en programvaru-CPU-återställning för att låta CPU: n övergå från skyddat läge till riktigt läge eftersom 286 inte tillät CPU att gå från skyddat läge till riktigt läge om inte CPU återställs. Detta var ett problem eftersom BIOS och operativsystemtjänster endast kunde anropas av program i riktigt läge. Dessa beteenden har använts av massor av programvara som förväntar sig detta beteende, och därför har tangentbordsstyrenheterna fortsatt att styra A20-linjen och utföra programvaru-CPU-återställningar även när behovet av en återställning via tangentbordskontrollen undanröjdes av Intel 80386 : s förmåga att växla till riktigt läge från skyddat läge utan en CPU-återställning. Tangentbordsstyrenheten hanterar även PS / 2 -mus ingång om en PS / 2-mus-porten är närvarande. Idag är tangentbordskontrollen antingen en enhet inuti en Super I / O- enhet eller saknas, vars tangentbord och musfunktioner hanteras av en USB-kontroller och dess roll för att styra A20-linjen som hanteras av chipsetet.
IBM
- IBM spelar en liten roll i skapandet av tangentbordskontrollen. På IBM-kompatibla datorer finns tangentbordskontrollen eller Intel 8042-tangentbordskontrollen på moderkortet. Styrenheten hanterar ingångar som tas emot från datorns tangentbord, A20-linjer, återställning, dechiffrering av skanningskoder, samt PS / 2-musen. Med senare modeller av tangentbord ersattes 8042 med mikroprocessorn 8742, som hade en mikroprocessor, RAM och I / O-portar.
- Den som försöker använda den klassiska 8042-tangentbordskontrollen (KBC) som finns i IBM PC / AT och nästan alla senare datorer stöter vanligtvis på ett problem med brist på exakt dokumentation. 8042 (eller 8742, eller ett antal kompatibla delar inbyggda i senare Super I / O-chips) är faktiskt ganska väldokumenterade. Fångsten är att 8042 är en programmerbar mikrokontroller med egen styrprogramvara i (vanligtvis) ROM. Fram till nyligen visste ingen utanför några företag (IBM, AMI, Phoenix) exakt vad styrprogramvaran gjorde.
- IBM dokumenterade ett antal kommandon som värden kan skicka till KBC. Det bör förstås att alla dessa kommandon är en ren mjukvarukonstruktion, med ingenting om 8042-hårdvaran som dikterar att kommandona behöver följa något specifikt format, funktion eller att de ens behöver vara där alls. Därför är att förstå 8042 ROM-koden det enda sättet att förstå exakt vad kommandona är och vad de gör, med förbehållet att olika styrenheter kan och har något annorlunda kod i sin ROM.
Lista över KBC-kommandon
-Kommandona listade som "ignorerade" utför ingen funktion.
- 00h-1Fh : Läs KBC RAM indirekt. Inte dokumenterat.
- 20h-3Fh : Läs KBC RAM vid offset 20h-3Fh. Endast kommando 20h dokumenteras av IBM.
- 40h-5Fh : Skriv KBC RAM indirekt. Inte dokumenterat.
- 60h-7Fh : Skriv KBC RAM vid offset 20h-3Fh. Endast kommando 60h dokumenteras av IBM. Byten vid offset 20h är kommandobyte och behandlas speciellt.
- 80h-A8h : ignoreras.
- AAh : Självtest . Detta kommando är dokumenterat, men dess biverkningar är det inte.
- ABh : Gränssnitttest.
- ACh : Diagnostisk dumpning. Nämns av tredje part, men inte dokumenterad av IBM.
- ADh : Inaktivera tangentbord.
- AEh : Aktivera tangentbord.
- AFh-BFh : ignoreras.
- C0h : Läs ingångsport.
- C1h : Kontinuerlig ingångsportundersökning, hög nibble. Nämns av tredje part, men inte dokumenterad av IBM.
- C2h : Kontinuerlig ingångsportundersökning, låg nibble. Nämns av tredje part, men inte dokumenterad av IBM.
- C3h-CFh : ignoreras.
- D0h : Läs utgångsporten.
- D1h : Skriv utgångsport.
- D2h-DEh : ignoreras.
- E0h : Läs testingångar.
- E1h-EFh : ignoreras.
- F0h-FFh : Pulsutgångsbitar .
Slutsats
1. Bärbar datoranordning innefattande: en tangentbordstyrenhet med en första ingång för mottagning av tangenttryckningsingångar och med en utgång för överföring av nämnda tangenttryckningsingångar till en huvudprocessor; och en sekundär processor som har ett gränssnitt till tangentbordsstyrenheten via en sekundär buss, varvid nämnda sekundära buss också används för att kommunicera med en batterimodul, varvid tangentbordskontrollen också överför nämnda tangenttryckningsingångar till nämnda sekundära processor genom nämnda sekundära buss. Tangentbordsstyrenheten är programmerad för att stödja det IBM®-kompatibla seriella gränssnittet för personligt tangentbord. Tangentbordsstyrenheten tar emot seriell data från tangentbordet, kontrollerar datapariteten, översätter skanningskoden och presenterar data för systemet som en databyte i dess utgångsbuffert. Styrenheten kommer att avbryta systemet när data placeras i dess utgångsbuffert. Databiten kommer att skickas till tangentbordet i serie med en udda paritetsbit automatiskt infogad. Tangentbordet krävs för att bekräfta alla dataöverföringar. Ingen överföring ska skickas till tangentbordet förrän bekräftelse mottas för den tidigare byten som skickats. Tangentbordskontrollen och BIOS för att förbättra prestandan hos IBM PC-datorer och deras kompatibilitet. En hårdkopplad metod används i denna tangentbordsstyrenhet istället för en programvaruimplementering, som i det traditionella 8042-tangentbordets BIOS. Detta gör det möjligt för tangentbordskontrollen att svara direkt på alla kommandon som skickas från tangentbordet till CPU-BIOS. Detta gör att populära program som Microsoft® Windows ™, NOVELL® och andra program kan köras mycket snabbare.
Se även
- Tangentbordbuffert
- PÅ tangentbordet
- KVM-förlängare
- Inbäddad styrenhet : Intel 8042 och andra tangentbordskontroller som används i datorer baserade på IBM PC / AT-design kan betraktas som inbäddade styrenheter.
- Alla datablad
Referenser
- ^ a b http://www.win.tue.nl/~aeb/linux/kbd/A20.html
- ^ "Vad är en tangentbordskontroll?" . www.computerhope.com . Hämtad 04-12-2019 .
- ^ "IBM PC / AT 8042 Keyboard Controller Commands | OS / 2 Museum" . www.os2museum.com . Hämtad 04-12-2019 .
- ^ "IBM PC / AT 8042 Keyboard Controller Commands | OS / 2 Museum" . www.os2museum.com . Hämtad 04-12-2019 .
- ^ "IBM PC / AT 8042 Keyboard Controller Commands | OS / 2 Museum" . www.os2museum.com . Hämtad 04-12-2019 .
- ^ [1] , "Datoranordning med en sekundär processor med låg effekt kopplad till en tangentbordskontroll", utfärdad 2001-03-08
- ^ "KBD42W11 Datablad (PDF) - SMSC Corporation" . www.alldatasheet.com . Hämtad 04-12-2019 .
externa länkar
| Denna artikel om hårdvara är en stub . Du kan hjälpa Wikipedia genom att utöka den . |