Diferență între revizuiri ale paginii „Tastatura PS2”

De la WikiLabs
Jump to navigationJump to search
(Pagină nouă: Tastatura legată la o interfață PS2 comunică prin două porturi: * un port de ceas, care este constant 1 atunci când tastatura nu trimite date, și trece în 0 atunci când pe po...)
 
Linia 3: Linia 3:
 
* un port de date, de un bit, pe care se transmit serial datele de la tastatură, valide pe frontul negativ al semnalului de ceas.
 
* un port de date, de un bit, pe care se transmit serial datele de la tastatură, valide pe frontul negativ al semnalului de ceas.
  
Portul de date este bidirecțional (puteți citi mai mult despre modul acestuia de funcționare în manualul de referință pentru Nexys 2 <ref>[http://digilentinc.com/Data/Products/NEXYS2/Nexys2_rm.pdf Manualul Nexys 2]</ref>), dar deocamdată ne interesează transmisia dinspre tastatură spre placa de dezvolate.
+
Portul de date este bidirecțional (puteți citi mai mult despre modul acestuia de funcționare în manualul de referință pentru Nexys 2 <ref>[http://digilentinc.com/Data/Products/NEXYS2/Nexys2_rm.pdf Manualul Nexys 2]</ref>), dar deocamdată ne interesează transmisia dinspre tastatură spre placa de dezvoltare. La apăsarea unei taste, tastatura va trimite secvențe de coduri de 11 biți care reprezintă următoarea secvență:
 +
* 1 bit de start, care este întotdeauna 0;
 +
* 8 biți (1 octet = 1 byte), începând cu cel mai nesemnificativ bit, reprezentând un cod unic asociat tastei, numit mai departe ''scancode'';
 +
* 1 bit de verificare, numit mai departe ''checksum'', care reprezintă suma pe un bit ai tuturor biților din ''scancode'' (adică XOR pe toți biții din ''scancode'');
 +
* 1 bit de stop, care este întotdeauna 1;
 +
 
 +
'''Atenție''': ''Scancode''-ul nu este același lucru cu codul ASCII. Primul identifică o tastă, al doilea identifică un caracter.
 +
 
 +
 
  
 
== Referințe ==
 
== Referințe ==
  
 
<references />
 
<references />

Versiunea de la data 22 aprilie 2012 10:24

Tastatura legată la o interfață PS2 comunică prin două porturi:

  • un port de ceas, care este constant 1 atunci când tastatura nu trimite date, și trece în 0 atunci când pe portul de date este un bit valid (ceea ce implică faptul că circuitul va fi sensibil la frontul negativ al acestui semnal);
  • un port de date, de un bit, pe care se transmit serial datele de la tastatură, valide pe frontul negativ al semnalului de ceas.

Portul de date este bidirecțional (puteți citi mai mult despre modul acestuia de funcționare în manualul de referință pentru Nexys 2 [1]), dar deocamdată ne interesează transmisia dinspre tastatură spre placa de dezvoltare. La apăsarea unei taste, tastatura va trimite secvențe de coduri de 11 biți care reprezintă următoarea secvență:

  • 1 bit de start, care este întotdeauna 0;
  • 8 biți (1 octet = 1 byte), începând cu cel mai nesemnificativ bit, reprezentând un cod unic asociat tastei, numit mai departe scancode;
  • 1 bit de verificare, numit mai departe checksum, care reprezintă suma pe un bit ai tuturor biților din scancode (adică XOR pe toți biții din scancode);
  • 1 bit de stop, care este întotdeauna 1;

Atenție: Scancode-ul nu este același lucru cu codul ASCII. Primul identifică o tastă, al doilea identifică un caracter.


Referințe