Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> hardware >> Dispositivi di Input & Output >> .

Discutere i vari hardware e software per superare il contatto rimbalzare una situazione in cui viene premuta più di un tasto contemporaneamente?

Contatta il rimbalzo, la commutazione rapida on-off di un interruttore meccanico a causa del suo movimento fisico, è un problema comune nella tastiera e in altri dispositivi di ingresso basati su switch. Quando vengono premuti contemporaneamente più chiavi (una situazione comune), il rimbalzo del contatto in ciascuna chiave può portare a essere registrati più segnali spuri, con conseguente input errati. Superare questo richiede soluzioni hardware e software.

Soluzioni hardware:

* Circuiti di debouncing: Questi sono l'approccio hardware più comune. Essenzialmente levigano le transizioni rapide on-off dell'interruttore. Esistono diversi tipi:

* Circuiti RC (capitatore resistore): Un semplice circuito RC funge da filtro passa-basso. Il condensatore si carica lentamente, ignorando efficacemente i rimbalzi rapidi dopo la pressione del tasto iniziale. La costante di tempo (RC) viene scelta per essere abbastanza lunga da filtrare il rimbalzo ma abbastanza corto da non ritardare le chiavette legittime. Questa è una soluzione economica, ma la sua efficacia dipende dalle caratteristiche dell'interruttore.

* Trigger Schmitt: Questo circuito è più sofisticato e ha un effetto isteresi. Richiede una tensione più elevata per accendere piuttosto che spegnere, ignorando le piccole variazioni di tensione causate dal rimbalzo. Ciò fornisce un segnale più pulito con una transizione più nitida.

* MicroController con capacità di debouncing interne: Molti moderni microcontrollori hanno funzionalità di debouncing integrate, semplificando il design dell'hardware. Usano spesso timer o gestione degli input specializzati per rilevare stati stabili.

* Miglioramenti meccanici: Sebbene non sia strettamente una soluzione di circuito, l'uso di interruttori meccanici di qualità superiore con migliori progetti di contatto riduce intrinsecamente il rimbalzo. Questi interruttori sono spesso più costosi. Le tastiere a membrana, che non hanno parti in movimento fisico, non sono intrinsecamente non soffrono di rimbalzo del contatto.

Soluzioni software:

* Debouncing software: Anche con Debouncing hardware, potrebbe rimanere un po 'di rimbalzo residuo. Gli algoritmi software possono mitigare ulteriormente questo. Questi in genere coinvolgono:

* Timer: L'approccio più semplice è controllare lo stato chiave dopo un breve ritardo (ad es. 10-20 millisecondi). Se lo stato è coerente dopo questo ritardo, il KeyPress è considerato valido.

* Macchine a stato: Le macchine a stato più complesse possono gestire scenari più sofisticati, come la distinzione tra una pressa a tasto singolo e più presse rapide (intese come comando ripetuto).

* Algoritmi di filtraggio: Le tecniche di filtraggio del software più avanzate, come medie mobili o filtri mediani, possono appianare il segnale di ingresso, riducendo gli effetti dei rimbalzi rimanenti.

Superando le chiavette simultanee:

La gestione di più chiavi premute contemporaneamente (una combinazione di tasti, come Ctrl+C) richiede ulteriori considerazioni oltre a semplicemente debolizzare le singole chiavi.

* tastiere a matrice: Invece di singoli switch per ciascuna chiave, molte tastiere utilizzano un layout a matrice. Le righe e le colonne sono scansionate per determinare quale tasto viene premuto. Ciò consente intrinsecamente il rilevamento di pressioni simultanee. Il software deve quindi interpretare la combinazione di righe e colonne attive.

* Polling vs. Interrupts: Il sondaggio prevede il controllo periodico degli stati chiave, mentre gli input guidati da interruzioni gestiscono ogni tasto Premere come interrupt. Gli interrupt possono portare a una migliore reattività, ma potrebbero richiedere un'attenta gestione per prevenire le condizioni di gara quando vengono pressati più chiavi contemporaneamente.

* code/buffer chiave: Il software utilizza spesso code o buffer per archiviare temporaneamente i tasti. Ciò gestisce situazioni in cui più chiavi vengono premute quasi contemporaneamente, garantendo che tutte le espressioni siano registrate nell'ordine corretto.

In pratica, una soluzione robusta combina spesso debouncing hardware e software. Un semplice circuito RC potrebbe gestire la maggior parte del rimbalzo, con il software che gestisce qualsiasi rumore residuo o aspetti più sofisticati. La scelta dell'approccio hardware e software dipende dai vincoli, dal budget e dalle prestazioni dell'applicazione. Per applicazioni semplici, potrebbe essere sufficiente una soluzione solo software. Per applicazioni esigenti come il gioco o il controllo industriale, sono generalmente necessarie soluzioni hardware più robuste.

 

hardware © www.354353.com