Guida definitiva al antirimbalzo in switch (parte 6)
CasaCasa > Blog > Guida definitiva al antirimbalzo in switch (parte 6)

Guida definitiva al antirimbalzo in switch (parte 6)

Jun 21, 2024

Molto indietro nel tempo, quando avevo gli occhi lucidi e la coda folta, mentre scrivevo le prime parole in questa ricerca per esplorare l'argomento del rimbalzo e del rimbalzo dell'interruttore, in realtà pensavo che ce ne sarebbe voluto solo uno, forse due, colonne. Triste a dirsi, man mano che i giorni diventavano settimane e le settimane diventavano mesi, diventavo un uomo molto più triste e più saggio.

Non posso credere che ora siamo alla Parte 6. Mentre mi siedo qui al tavolo della mia cucina (vedi anche la Guida alla sopravvivenza al lavoro da casa di Kevin) cercando coraggiosamente di guardare più del mio monitor, mi aspetto assolutamente che questa sia l'ultima della serie, ma non so mai esattamente cosa scriverò finché le parole non iniziano a gocciolare dalla punta delle mie dita, dove queste piccole bellezze allegre e sbarazzine (le parole, non le mie dita) sono appena colte alle prime luci dell'alba il lato nord della collina mentre la rugiada mattutina brilla ancora sui loro serif, speroni e code impertinenti e vivaci. La conclusione è che dovremo tutti aspettare fino alla fine di questa colonna per vedere se è davvero la fine della serie. ("Dum dum dum duuuuuuum... Dum dum dum duuuuuuum..." La tensione aumenta.)

Prima di buttarci a capofitto nella mischia con gusto e abbandono, ricordiamo brevemente come siamo arrivati ​​a questo punto delle nostre deliberazioni. Nella Parte 1 abbiamo introdotto il concetto di rimbalzo dello switch. Successivamente, nella Parte 2, abbiamo approfondito il rimbalzo associato a un interruttore a levetta unipolare a corsa singola (SPST) e a un interruttore a levetta unipolare a doppia corsa (SPDT).

Nella Parte 3, abbiamo iniziato a considerare soluzioni hardware per il rimbalzo dello switch, iniziando con l'idea di utilizzare una rete RC seguita da un trigger Schmitt per rimbalzare un interruttore a levetta SPST. Nella Parte 4, abbiamo esaminato l'utilizzo di una varietà di multivibratori monostabili per rimbalzare gli interruttori a levetta SPST (sfortunatamente, alla fine abbiamo concluso che l'utilizzo di multivibratori monostabili non era una buona strada da percorrere).

Più recentemente, nella Parte 5, siamo tornati agli interruttori a levetta SPDT e abbiamo considerato le tecniche di antirimbalzo basate su latch implementati utilizzando due inverter, latch SR (sia basati su NAND che NOR) e latch e flip-flop di tipo D.

In questo articolo esamineremo l'ultima categoria di soluzioni antirimbalzo basate su hardware sotto forma di circuiti integrati speciali (IC). Se il destino ci sorride, parleremo anche dell'implementazione del rimbalzo nei progetti FPGA (field-programmable gate array). Infine, rivolgeremo la nostra attenzione alle tecniche di antirimbalzo del software.

Se qualcuno di questi argomenti non ti è familiare, allora potresti voler dare un'occhiata alle mie colonne associate sui tipi di switch e sulla terminologia degli switch. Potresti anche essere interessato a leggere e riflettere sulla mia rubrica Registri vs. Chiusure vs. Infradito. Ultimo, ma certamente non meno importante, come abbiamo notato prima, gli interruttori a levetta, gli interruttori a bilanciere e gli interruttori a pulsante mostrano tutti il ​​rimbalzo degli interruttori più o meno allo stesso modo. In effetti, gli unici interruttori che non rimbalzano sono quelli che la maggior parte di noi usa raramente, se non mai, come gli interruttori di inclinazione al mercurio.

Caratterizzazione del sistema

Prima di iniziare ad approfondire, e mentre ci penso, quando stavo chiacchierando con il guru dell'embedded Jack Ganssle qualche settimana fa, ha menzionato che la sua raccomandazione a chiunque sia coinvolto nella progettazione di un sistema, specialmente a persone che progettano mission-critical e sistemi critici per la sicurezza – è che caratterizzano gli interruttori che intendono utilizzare prima di implementarli in un mondo ignaro.

È fin troppo facile, sia per i progettisti hardware che per gli sviluppatori software, ricorrere a soluzioni “provate e vere” senza riflettere a fondo sulle cose. Ad esempio, nella prima parte della classica Guida al debouncing di Jack, viene menzionato un tipo di interruttore che prevede contatti dorati placcati su un circuito stampato (PCB). C'era una copertura in gomma associata che, quando premuta, presentava una sorta di elastomero conduttivo ai contatti dorati. Jack notò che il risultato analogico era una lenta rampa da zero a cinque volt, senza rumore, scolorimento o altra incertezza, e senza alcuna traccia di rimbalzo. Sfortunatamente, quando questo segnale è stato presentato a un ingresso TTL, la sua lenta rampa attraverso la “zona proibita” (da 0,8 a 2,0 V) ha provocato oscillazioni selvagge di un millisecondo (ms), che potrebbero essere considerate “rimbalzi virtuali”.