PS2 Tangentbord för FPGA (1 / 3 steg)

Steg 1: Lite bakgrund

Strängt taget används PS2 anslutning till typ 2 ledningar för att överföra data, som kallas DATA och klocka. När du trycker på knappen på tangentbordet, skickar mikrokontroller som ligger innanför tangentbordet paket 11 bitar av information om DATA tråd. Varje bit åtföljs av en fallande kant klocksignal, vilket innebär att du bara måste läsa data när klocksignal faller och inte andra gången. Den första biten är början lite, sedan finns det 7 bitar för DATA0-6, då en paritetsbit och äntligen sluta bit. När data tas emot, och kollade att det är korrekt (START, paritet och stopp bitar har lämpliga värden) behöver du bara hålla DATA0-6 bitar och bli av med resten.

Nu ser bredare, när en knapp trycks ner, skickar tangentbordet ett paket 11 bitar att berätta vilken knapp trycktes. Om nyckeln är pressade och höll sedan det börjar upprepade gånger skicka samma paket. Slutligen om du släpper knappen skickar den en annan 2 paket, berättar att knappen släpptes och vilken knapp släpptes. Detta är lite olika för olika för så kallade extended knappar, där det skickar en mer paket och veta vad koden måste vara fick du kan Läs manuell eller kan säga





.

Frekvensen den överför data är ganska låg och kan variera från 10 kHz till 16,7 kHz. Detta blir viktigt, när du använder en FPGA med hastigheter på 50 MHz och större. Du förminska frekvensen av någon faktor, annars kommer du att läsa fel klocksignalen (till exempel du kommer att läsa data medan klocksignalen förändras fortfarande...). Skalning FPGA styrelsen att omkring 30-50 kHz ska göra jobbet, men det beror återigen på tangentbordet.

Slutligen är det viktigt att beskriva vad som händer om du får mindre än 11 bitar när detta händer ibland också. Mycket sällan, men fortfarande händer... Vad jag gjorde här sätts en timer för att berätta om tillräckligt med tid har gått från att ta emot lite och om hur lång tid är för lång fram till nästa lite, det rensar allt som kommer fram till denna punkt.

Du kan alltid läsa mer om protokollet här eller helt enkelt google "PS2 typ Protocol", som kommer att ge dig bättre insikt om det fungerar. Jag verkligen rekommendera dig att läsa mer om det om du vill implementera drivrutiner själv! BASYS 2 styrelse manuell ger också information om hur sådan sak skulle kunna genomföras på sidan 5-7 i det manuellt.

Se Steg
Relaterade Ämnen

PICAXE - gränssnittet ett PS2-tangentbord med en LCD-skärm

detta projekt använder ett PICAXE 20 X 2 microcontroller gränssnittet en gammal stil PS2 tangentbord med en 2 X 16 LCD. Programmet är ganska lång och troligen inte är perfekt men de flesta funktioner verkar fungera. Eftersom vissa speciella tangenter...

Hur man gör PS2 Tangentbord Läs Visa system baserat på Arduino

ICStation Team presentera detta PS2-Tangentbord Läs displaysystem i detaljer. Driftspänning av PS2 Tangentbord läsa displaysystem är DC 5V. När du trycker på tangenterna av bokstäver eller siffror, LCD1602 visas motsvarande grad och också styra storl...

DIY gamla tangentbordet 5-pin DIN till PS2 converter

förra veckan kl 2 i natt mitt i att skicka ett viktigt uppdrag plötsligt vände många av mitt tangentbordstangenter felaktig.Eftersom alla affärer var stängda hade jag tänkt på något sätt.I min skräp hittade jag mitt gamla buller-5 tangentbord för min...

POV klocka & meddelande Visa w/RTC och PS/2 tangentbord

efter att ha byggt ett par POV enheter innan, jag ville ha ett sätt att ändra meddelandet i realtid. Detta projekt använder alltså ett PS/2 tangentbord kopplat till Arduino Uno som gör för att ändra meddelandet genom att skriva i det nya meddelandet...

Arduino TVout tangentbord

I denna tutorial får du lära dig att använda en PS2 Tangentbord och Arduino TVout biblioteket för att skapa en enkel ordbehandlare. I slutet av den här guiden har du samma sak Visa ovan.Steg 1: delarFör detta Instructable behöver du:Hårdvara:1.) en R...

Extra ingångar för Arduino med ett tangentbord

Arduino är kanske häftigaste på jorden. Det finns många typer, Uno, Mega, Pro, Pro Mini, etc. etc.Men en sak som ofta kan vara ett problem är att du bara har ett begränsat antal in- och utgångar. Det finns många lösningar för det, allt från multiplex...

Trådlöst tangentbord med Arduino

Hej alla, i denna tutorial jag ska visa hur man bygger ett trådlöst tangentbord med arduino och bluetooth som gör för att skriva distans till vår dator med Os windows.Se videoProgrammet tillåter endast för att skicka följande bokstäver, på grund av b...

Nästan gratis datorer eller med hjälp av tunna klienter med Debian linux.

Så du vill ställa in ett litet nätverk för ett företag eller bara hem. Tänk på tunna klienter. Med hjälp av tunna klienter har alltid varit en viktig sak med mig. Även om de är mini delmängder av full datorer de spara pengar på El och kräver mindre s...

Gör en USB-NES Controller

denna tutorial kombinerar en ursprungliga NES controller, USB-tangentbord, tråd och takt växlar till en USB NES controller lämplig för använda med NES och arcade emulatorer. Den grundläggande idén är att den tangentbord controller-enheten är installe...

Lätt volym kontroll hjul

Hej jag kommer att Visa youhow att göra en volym kontroll hjul, dess verkligen enkel enkeltOCH DETTA ÄR INTE MIN IDÉ DESS EN MODIFIERAD VERSION AV WHATSISFACE!!!Steg 1: vad du behöverOK behöver duett litet projekt box (jag använde en liten jewlery bo...

Telecom Time Machine

I vår butik är det tradition på det första steget i varje bra plan för att "bygga ett Time Machine". Om du har en tidsmaskin som du kan göra resten av stegen i valfri ordning, mäta en gång och skär två gånger, har din framtida jag hålla en spik...

Marknadsföring med enkel IoT enheter

Detta instructable kommer att omfatta skapandet av Inno, en trä robot-sett idol, som fungerar som ett Sakernas Internet marknadsföring medium, för ett nytt pedagogiska initiativ på programmet programvaruteknik och förvaltning, i Göteborgs universitet...

Chip dator: Lätt att producera AVR BASIC dator

Detta instructable kommer att dokumentera och förklara mitt senaste projekt, en fristående datorsystem baserat på ett enda chip (IC); ATmega 1284P. 1284 P ansvarar för samtliga delar av systemet, inklusive kör BASIC tolk, generation RCA video signale...

Teensy maskinvara Key logger

detta är mitt första projekt med det teensy, för närvarande är jag försöker redigera bibliotek så ctrl, alt och caps nycklar arbete. Jag har fått den Fönstren nyckeln arbeta men jag planerar att släppa dem alla på en gång så tills dess den Fönstren n...

Honung jag krympte tangentbordet

detta Instructable är att ändra ett 101/104 tangenter tangentbord till ett kompakt tangentbord. Fördelarna med kompakt tangentbord som det kan passa fint på skrivbordet där du inte har plats för stora tangentbord och det kan packas fint i ditt resand...

Bygga din egen Micromite följeslagare minidator

Den Micromite följeslagare minidatorn är nästa generation i fickdator Mini-serien.Det är kombinationen av två Open Source system, Micromite programvara, en PIC32 skapelse av Geoff Graham och Parallax propellern, en nyligen "öppen källkod" chip a...

Mini Pinball Tablet skåp

inspirerad av Mini flipperspel här:Jag beslutade att ge detta ett försök med en Lödfritt version. Tack till Pascal för att arbeta med mig att förena några problem hade jag med hans PinballButtons.apk.Tips och varningar:1. du måste installera PinballB...

Återställa lösenordet Vista eller XP med en live-CD

om du har någonsin glömt ditt lösenord för att logga in på en dator, du vet hur irriterande det kan vara. Genom att använda denna live-CD, kan det automatiskt dekryptera filen HASH (det krypterade lösenordet) från din hårddisk, och ger dig ditt lösen...

Zsnes emulator controller

Hej, detta är min första publicerade instructable (så förlåt någon av mina nybörjare misstag...)med detta kommer jag visa dig hur man gör en controller för din zsnes Super-NES emulator (eller någon annan emulator som använder samma knappar) ur ett ta...