Holt ihr euch immer noch einen über diesen KI-Mist mit Bullshit-Bingo runter?
Dieses. Vor allem
- nach Monaten Ruhe
- auf einem Feiertag
- ab halb zwei morgens bis zur Mittagszeit
|
Anzeige
|
Debounce von Tasten mit dem Candidate-Pattern (Platformunabhängig, Theorie)
Dieses. Vor allem
Was wird denn gefeiert?
Und insbesondere: an einem Freitag. :-D
Steht doch dran:
Und?
Haha, ja logisch, das sind ja auch VERGLEICHSDATEN. Wer lesen kann (if... = ...) ist im Vorteil.
Alles? Nur leider habt Ihr wohl nicht verstanden, dass es hier um die Umsetzung in Logik, also in CPLDs oder FPGAs geht. Es lässt sich natürlich auch mit diskreter Logik aufbauen oder auch per Software in einem Mikrokontroller realisieren. Können kann man alles, wers unbedingt braucht. Der Vorteil im FPGA ist natürlich, dass alles parallel geschieht, ohne dass Zeit in einer Interruptroutine aufgewendet werden muss. Da kann man zig-Signale jeweils in eine Schieberegister takten, ohne dass es "Laufzeit" kostet. Das Prinzip ist die Entprellung mittels Schieberegister. Das können neben Tasten auch z.B. Signale einer SPI-Schnittstelle oder UART sein. Oder auch externe Signale mit flacher Flanke. Das Signal wird mittels einem Takt ständig in ein Schieberegister geschoben. Nun wird der Inhalt des Schiebregisters mit einem festen Wert vergleichen (siehe oben) um eine Aktion auszulösen. Man kann nun die Empfindlichkeit bzw. die Filterwirkung durch die Länge des Schieberegisters, durch die Frequenz des Schiebetaktes und durch die Inhalte der Vergleichswerte steuern. Im Beispiel wird von RECHTS eingeschoben. Nehmen wir einen Takt von 1KHz an. Bei der Folge "11111110" wird das Signal nach 1ms als Low erkannt, musste aber vorher für mindestens 7ms High sein. Bei der Folge "11110000" muss das Signal 4ms High und danach 4ms Low sein. Kritisch deshalb weil es passieren kann, dass so ein Muster gar nicht ankommt. Hier wird quasi auf eine ideale Flanke abgefragt. "11111110" oder "00000001" reagieren aber IMMER, weil irgendwann wechselt das Signal ja nach einer langen Ruhephase. Die beiden sind daher die erste Wahl ohne Risiko. Die Mindestzeit zwischen zwei Signalwechseln ist hier 8ms. Die Reaktionszeit aus der Ruhelage heraus ist aber nur 1ms. Wird das Schieberegister mit der halben Frequenz getaktet, verdoppeln sich die Zeiten usw. 8Bit sind auch nicht für das Schieberegister nötig. In der Regel reichen 3-4Bit aus. Je schneller die Reaktionszeit sein soll umso höher muss der Schiebetakt sein. Je sicherer die Entprellung sein soll umso länger muss das Schieberegister sein. Die Balance zwischen Schnelligkeit und Sicherheit bestimmt die Anzahl der Bitstellen und die Taktfrequenz. Wenig Bitstellen und sehr niedrige Frequenz = sichere Entprellung, langsame Reaktion. Wenig Bitstellen und hohe Frequenz = unsichere Entprellung, sehr schnell. Viele Bitstellen und sehr niedrige Frequenz = extrem sichere Entprellung, sehr langsam. Viele Bitstellen und hohe Frequenz = sichere Entprellung, sehr schnell. Warten oder Reagieren, das ist hier die Frage. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|