Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Hardware >> Input & Output Devices >> Content
Bespreek de verschillende hardware en software om contactbounce te overwinnen. Een situatie waarin meer dan één toets tegelijkertijd wordt ingedrukt?
Contactbounce, het snel aan-uit schakelen van een mechanische schakelaar vanwege de fysieke beweging ervan, is een veelvoorkomend probleem bij toetsenborden en andere op schakelaars gebaseerde invoerapparaten. Wanneer er meerdere toetsen tegelijk worden ingedrukt (een veel voorkomende situatie), kan contactbounce in elke toets ertoe leiden dat meerdere valse signalen worden geregistreerd, wat resulteert in onjuiste invoer. Om dit te overwinnen zijn zowel hardware- als softwareoplossingen nodig.

Hardwareoplossingen:

* Ontbuigcircuits: Dit zijn de meest voorkomende hardwarebenaderingen. Ze verzachten in wezen de snelle aan-uit-overgangen van de schakelaar. Er bestaan ​​verschillende typen:

* RC-circuits (weerstand-condensator): Een eenvoudig RC-circuit fungeert als laagdoorlaatfilter. De condensator laadt langzaam op, waardoor de snelle trillingen na de eerste toetsaanslag effectief worden genegeerd. De tijdconstante (RC) is zo gekozen dat deze lang genoeg is om de bounce eruit te filteren, maar kort genoeg om legitieme toetsaanslagen niet te vertragen. Dit is een kosteneffectieve oplossing, maar de effectiviteit ervan hangt af van de kenmerken van de schakelaar.

* Schmitt-trigger: Dit circuit is geavanceerder en heeft een hysterese-effect. Er is een hogere spanning nodig om in te schakelen dan om uit te schakelen, waarbij de kleine spanningsvariaties die door stuiteren worden veroorzaakt, worden genegeerd. Dit zorgt voor een schoner signaal met een scherpere overgang.

* Microcontrollers met interne debouncing-mogelijkheden: Veel moderne microcontrollers hebben ingebouwde debouncing-functionaliteiten, waardoor het hardware-ontwerp wordt vereenvoudigd. Ze gebruiken vaak timers of gespecialiseerde invoerverwerking om stabiele toestanden te detecteren.

* Mechanische verbeteringen: Hoewel het niet strikt een circuitoplossing is, vermindert het gebruik van mechanische schakelaars van hogere kwaliteit met betere contactontwerpen inherent het stuiteren. Deze schakelaars zijn vaak duurder. Membraantoetsenborden, die geen fysieke bewegende delen hebben, hebben inherent geen last van contactstuiteren.

Softwareoplossingen:

* Software-debouncing: Zelfs als er sprake is van hardware-debouncing, kan er nog een restje achterblijven. Software-algoritmen kunnen dit verder verzachten. Deze omvatten doorgaans:

* Timers: De eenvoudigste aanpak is om de sleutelstatus na een korte vertraging (bijvoorbeeld 10-20 milliseconden) te controleren. Als de status na deze vertraging consistent is, wordt de toetsaanslag als geldig beschouwd.

* Statemachines: Complexere statusmachines kunnen meer geavanceerde scenario's aan, zoals het maken van onderscheid tussen een enkele toetsaanslag en meerdere snelle drukken (bedoeld als een herhaalde opdracht).

* Algoritmen filteren: Geavanceerdere softwarefiltertechnieken, zoals voortschrijdende gemiddelden of mediaanfilters, kunnen het ingangssignaal gladstrijken, waardoor de effecten van resterende bounces worden verminderd.

Gelijktijdige toetsaanslagen overwinnen:

Het omgaan met meerdere toetsen die tegelijkertijd worden ingedrukt (een toetsencombinatie, zoals Ctrl+C) vereist aanvullende overwegingen die verder gaan dan het eenvoudigweg deblokkeren van individuele toetsen.

* Matrixtoetsenborden: In plaats van afzonderlijke schakelaars voor elke toets gebruiken veel toetsenborden een matrixindeling. Rijen en kolommen worden gescand om te bepalen welke toets wordt ingedrukt. Dit maakt inherent de detectie van gelijktijdige toetsaanslagen mogelijk. Software moet dan de combinatie van actieve rijen en kolommen interpreteren.

* Polling vs. onderbrekingen: Polling omvat het periodiek controleren van de toetsstatussen, terwijl interruptgestuurde invoer elke toetsaanslag als een interrupt afhandelt. Interrupts kunnen leiden tot een betere responsiviteit, maar vereisen mogelijk een zorgvuldige afhandeling om racecondities te voorkomen wanneer meerdere toetsen tegelijk worden ingedrukt.

* Belangrijkste wachtrijen/buffers: Software maakt vaak gebruik van wachtrijen of buffers om toetsaanslagen tijdelijk op te slaan. Hiermee worden situaties afgehandeld waarin meerdere toetsen vrijwel gelijktijdig worden ingedrukt, zodat alle toetsaanslagen in de juiste volgorde worden geregistreerd.

In de praktijk combineert een robuuste oplossing vaak hardware- en software-debouncing. Een eenvoudig RC-circuit kan het grootste deel van het stuiteren afhandelen, terwijl software eventuele restruis of meer geavanceerde timingaspecten afhandelt. De keuze voor de hardware- en softwarebenadering hangt af van de beperkingen, het budget en de prestatievereisten van de applicatie. Voor eenvoudige toepassingen kan een software-only oplossing volstaan. Voor veeleisende toepassingen zoals gaming of industriële besturing zijn doorgaans robuustere hardwareoplossingen nodig.

Previous: Next:
  Input & Output Devices
·Hoe Hook Up een PlayStation 3 …
·Hoe maak je een Gigaware micro…
·Hoe je opname-apparaten wijzig…
·Hoe de Logitech QuickCam Pro 9…
·Hoe maak je verbinding een Ult…
·Hoe maak je een computer voor …
·Hoe de video chip in een compu…
·Hoe te gebruiken Apple MB110LL…
·Hoe maak je een batterij in ee…
  Related Articles
het verschil tussen bits en bytes in ter…
Wat is de oplossing voor het maximale fl…
Wat is de betekenis van macht 2s in de i…
Wat is de betekenis van de CPU-klok bij …
Wat is de betekenis van de CPU-klok bij …
Wat is de betekenis van een cache-misser…
Wat is de rol van L1-cachegeheugen bij h…
Wat is het doel van een RAM-buffer in co…
Wat is het doel en de functionaliteit va…
  Hardware Articles
·Als je 3 PCI-uitbreidingsslots hebt, heb…
·Hoe maak je een stationsletter is gevest…
·Welk apparaat bevat zijn eigen BIOS? 
·Hoe kan ik drivers voor een P4M900 - M4 
·Hoe Dell D800 BIOS upgrade naar M60 BIOS…
·Hoe te testen mijn harde schijf voor Spe…
·Hoe maak je een Apple Mighty Mouse schoo…
·Wat houdt alle andere printplaten in een…
·Hoe te Twee Notebooks Identieke Zorg 
Copyright © Computer Kennis https://www.nldit.com