Taster per SPI auslesen?

Gast #2234757
Lesenswert?

Hallo,

möglicherweise ist das Problem so trivial, dass ich es momentan einfach 
nicht sehe. Ich frage mich, ob es möglich ist mehrere (etwa 16) Taster 
per SPI auszulesen? Um nicht ständig pollen zu müssen, dachte ich, man 
könnte die parallelen Eingänge an Schieberegistern mit 
Eingangs-FlipFlops verwenden.

Solche ICs gibt es: z.B. 74HCT597 ober 74HC589

Allerdings sind diese ICs schon relativ alt, man kriegt sie kaum noch 
(meine ich zu mindest). Zudem ist es nur möglich, so wie ich das 
Datenblatt verstehe den Eingangszustand in einem Moment in die 
Kippstufen zu speichern. Gibt es andere?

Besteht die Möglichkeit die Kippstufen dauerhaft (also bis zum nächsten 
Reset) zu durch ein kurzes Tasten zu setzen? Auf diese Weise würde man 
sich das Entprellen sparen, weil ein ständiges ein und aus letzenendes 
nur in einem high resultieren würde.

Ich bin mir einfach nicht sicher, ob ich die Datenblätter richtig 
verstehe.

Nochmal die Kurzfassung, damit auch wirklich klar ist, was ich meine:
1. Ich drücke irgendwann kurz (~150 µs) auf einen Taster
2. Dieses Signal kippt eine Kipptstufe auf High um, die sonst low zeigt
3. Irgendwann ganz viel später, vielleicht 10x pro Sekunde wird das 
Shiftregister, an welchem die FlipFlop ausgänge liegen per SPI 
ausgelesen und die FlipFlops resettet.

Da muß doch irgendwo ein Haken sein, sonst würden dass doch all so 
machen...

Besten Dank im Vorraus
Schorsch
Gast #2234877
Lesenswert?

Ok 150µs ist etwas kurz, lass es 200 oder 300 µs sein, mehr glaube ich 
ist es wirklich nicht....

Bei den genannten Schieberegistern u.a. xx165 müssen so wie ich das 
verstehe die Eingangslatche immer getriggert werden, das heißt doch, das 
man nur den Status der zum Triggerzeitpunkt gelegt wird darstellen kann 
- oder verstehe ich das falsch?

Ich möchte erst auf den einen Taster drücker, dann vielleicht noch auf 
einen zweiten. Beide tasten-anschläge sollen immer in einem high im 
Eingangslatch resultieren - unabhängig von einem Trigger

Oder stehe ich total auf dem Schlauch?

Schorsch
Gast #2234881
Lesenswert?

>Beide tasten-anschläge sollen immer in einem high im
>Eingangslatch resultieren

Wozu?

Es reicht doch, wenn du beide Tasten in der SW hast.

Also baue eine klassische Tastenmatrix auf und lese das per SW ein.
Gast #2234901
Lesenswert?

Du drückst die Taste mit der Hand/dem Finger? Ist's eine schliessende 
oder nur "feuernde" Taste? Mikrosekunden? Das will ich sehen! ;D

Vermutlich bist du mit einem 74xx165 PISO bestens bedient. Der MC kann 
die "im Schlaf" mehrere 100x pro Sekunde abfragen um festzustellen, ob 
Tasten gedrückt sind. Entprellen in der SW ist auch keine Hexerei. :)
Gast #2235433
Lesenswert?

Einigen wir uns mal auf einige Millisekunden für einen sehr schnellen 
Tastenanschlag, so knapp zweistellig mindestens. Die Tasten alle 4 ms 
abfragen und dann warten ob die für mindestens 4 Abfragen konstant 
bleiben reicht völlig aus um auch ganz extrem schnelle Tastenanschläge 
sicher zu erkennen.

Der Haken bei Deiner Lösung ist der große Hardwareaufwand, Du brauchst 
zwei Chips, mit einer 4x4 Matrix braucht man nur 8 Portpins.
Gast #2236750
Lesenswert?

Gut trainierte Gamer kommen unter 100 ms und klassisch ausgebildete 
Schreibmaschinenkräfte kriegen so was auch hin.

Lachkrämpfe erzeugen bei mir aber Leute die ernsthaft erzählen sie 
würden den Unterschied zwischen einer USB Low Speed Maus und einer Full 
Speed Maus erkennen.
Gast #2236762
Lesenswert?

Guido Körber schrieb:
> Gut trainierte Gamer kommen unter 100 ms und klassisch ausgebildete
> Schreibmaschinenkräfte kriegen so was auch hin.

Man muß das mit der Entprellung ja nicht übertreiben, wie bei manchem 
Fahrstuhl, wo man schon mal aus Versehen gegen die Tasten stoßen darf, 
ohne dass etwas passiert und man beim Drücken innerlich erstmal 
"EinSchimpanse" zählen muß, damit der was mitkriegt.
Gast #2236776
Lesenswert?

Guido Körber schrieb:
> Gut trainierte Gamer kommen unter 100 ms und klassisch ausgebildete
> Schreibmaschinenkräfte kriegen so was auch hin.

Wer auf der Schreibmaschine 4000 Anschläge schreibt, ist schon ganz 
zufrieden. Das wären rund 150 ms pro Tastendruck. Mit "alle 4..10ms mal 
nachgeguckt" kriegt man das prima mit ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren