IC das den ersten Eingang der auf HIGH geht erkennt und den rest sperrt?

OP #6635832
Lesenswert?

Guten Abend,

Ich habe folgendes Problem das ich (amliebsten) mit einem IC lösen würd, 
finde aber leider kein passendes.

Nun meine Frage:

Gibt es ein IC das zb 8 Eingänge hat und sobald an einem Eingang ein 
High Pegel anliegt alle anderen eingänge gesperrt werden und das IC 
meinem microcontroller sagt welcher Eingang als erstes HIGH war?
und dann zb. noch ein reset Pin um alle Eingänge wieder freizuschalten.

Konkretere Infos gibt es noch nicht, bin aktuell erstmal dabei ein 
Konzept für mein Projekt zu entwerfen und zu schauen was ich wie lösen 
könnte.

Sprich letzendlich gehts erstmal dadrum von mehreren Eingängen den 
ersten der HIGH wird rauszufiltern.

Gibt es hier jemand der dafür eine Idee hat?

Vielen Dank schonmal.
#6635835
Lesenswert?

Patrick G. schrieb:
> Gibt es ein IC das zb 8 Eingänge hat...

Das klingt erstmal nicht nach einem konkreten Problem, wenn das IC „zum 
Beispiel“ 8 Eingänge hat.


Patrick G. schrieb:
> sobald an einem Eingang ein
> High Pegel anliegt alle anderen eingänge gesperrt werden und das IC
> meinem microcontroller sagt welcher Eingang als erstes HIGH war?

Patrick G. schrieb:
> Sprich letzendlich gehts erstmal dadrum von mehreren Eingängen den
> ersten der HIGH wird rauszufiltern.

Weshalb macht der uC das nicht direkt, ohne weitere Bausteine?
#6635839
Lesenswert?

Ehrlich? Blödsinn. Absoluter Blödsinn.

Mit jedem halbwegs normale Mikrocontroller kann man ohne 
Zusatz-Sonder-Spezial-IC erkennen welcher Eingang (mit einer gewissen 
Auflösung) zuerst High war. Die anderen Eingänge dann in Software zu 
ignorieren ist ebenfalls so trivial das ich mich schon an den Kopf 
fassen muss.

> Konkretere Infos gibt es noch nicht,

Oh ja, also mal wieder die geheime Erfindung des Jahrhunderts. Also ich 
werde dir nicht Zucker in den Arsch blasen um mehr von dem Blödsinn zu 
erfahren.
Gast #6635845
Lesenswert?

Patrick G. schrieb:
> Ich habe folgendes Problem das ich (amliebsten) mit einem IC lösen würd,
> finde aber leider kein passendes.

Dann hast du einfach nicht nachgedacht.

Probiere mal folgendes: ein 8fach-OR, 8 Latches, ein RS-FF. Das sollte 
reichen, evtl. je nachdem, wie herum die Latches funktionieren ein 
Inverter.

Rate mal, in was für einer Art IC sowas drin ist.

W.S.
Beitrag #6635846 wurde von einem Moderator gelöscht.
Beitrag #6635850 wurde von einem Moderator gelöscht.
#6635855
Lesenswert?

Das klingt nach der klassischen Oder-Verknüpfung (OR auf auswärts).
Wird aber mit diskreten ICs relativ aufwändig - da mehrstufig.
Egal welcher Eingang auf High geht, der Ausgang geht dann auch auf High.
In Zeiten der aussterbenden Logik-ICs kann es ein Problem werden, ein 
8-fach-Or zu besorgen. Ist aber kein Problem, da man die Teile einfach 
kaskadieren kann.
Parallel zu den 8 Eingängen brauchst Du dann noch 8 Speicher (z.b. 
D-Flip-Flops) die ihrerseits mit dem Ausgang des 8-fach-Oders getaktet 
werden.
Geht jetzt irgendein Eingang auf logisch High, so werden die Flip-Flops 
getaktet und speichern den aktuellen Zustand. Einer war ja high.
Mit ein Bisschen Drum-Herum (Reset-Logik) können dann die 8 Speicher 
zurückgesetzt werden.
Dem nach je kann es auch noch nötig werden, die Takteingänge der 
D-Flip-Flops zu verriegeln.
Nich unbedingt Anfängergeignet.
OP #6635858
Lesenswert?

Das ging ja mal schnell, Danke.

Es geht hier nicht um eine "Erfindung" etc. sondern seit der Corona 
langeweile spielen meine cousins und ich sehr viel Dart und bin dabei 
mir mal ein paar Gedanken darüber zu machen wie man eine Dartscheibe aus 
Kork bzw Sisal realisieren könnte die elektronisch ausgewertet wird.

Alls erste Idee habe ich mir mal einen Vibrationssensor bestellt den ich 
mit einer passenden Fassung aus dem 3D Drucker in jedes Feld integrieren 
möchte.

Wenn man jetzt einen Dart wirft reagieren aber logischerweiße auch die 
umliegenden Felder und das (vermutlich) in sehr kurzer reihenfolge und 
meine Angst ist das die uC Eingänge keine hochgenuge abtastrate haben.

Sind meine Bedenken berechtigt?

Könnt ja mal eure Gedanken und Ideen schreiben, wäre ich dankbar für.

Und ja mein erster Beitrag war eventuell nicht perfekt formuliert ;)
Gast #6635865
Lesenswert?

Sebastian S. schrieb:
> Nich unbedingt Anfängergeignet.

Wenn jemand meint, so etwas an Logik u brauchen, dann sollte er auch die 
nötigen Vorkenntnisse sich durch Lernen angeeignet haben. Sowas läßt 
sich strunzeinfach mit einem billigen kleinen CPLD erledigen. Die haben 
z.T. bis mehr als 32fache AND-Gatter drin und die gehen dafür ja auch, 
da man zu jedem Pin auch dessen Inverses in der Matrix hat.

Was mir hier überhaupt nicht schmeckt ist, daß immer wieder Leute 
daherkommen und ohne nähere Umstände den anderen so einen Brocken vor 
die Füße schmeißen und erwarten, einen passenden IC auf dem 
Silbertablett kredenzt zu kriegen.

W.S.
#6635874
Lesenswert?

W.S. schrieb:
> den anderen so einen Brocken vor
> die Füße schmeißen und erwarten, einen passenden IC auf dem
> Silbertablett kredenzt zu kriegen.

So falsch nicht. Wenns funktioniert, weil es bei jemanden was triggert. 
Mal kommt was dabei raus, mal nicht. Aber fragen darf man.

Besser ist allerdings, den Kontext mitzureichen. Also ob es um GHz geht, 
oder eben um Dart.
Gast #6635879
Lesenswert?

Hannes J. schrieb:
> Ehrlich? Blödsinn. Absoluter Blödsinn.
>
> Mit jedem halbwegs normale Mikrocontroller kann man ohne
> Zusatz-Sonder-Spezial-IC erkennen welcher Eingang (mit einer gewissen
> Auflösung) zuerst High war. Die anderen Eingänge dann in Software zu
> ignorieren ist ebenfalls so trivial das ich mich schon an den Kopf
> fassen muss.
>
>> Konkretere Infos gibt es noch nicht,
>
> Oh ja, also mal wieder die geheime Erfindung des Jahrhunderts. Also ich
> werde dir nicht Zucker in den Arsch blasen um mehr von dem Blödsinn zu
> erfahren.

Genau so.
8 Gpios aufsetzen. Interrupt drauf legen, und die Maske sagt einem, 
welcher Pin es war.
Eine Sache von 10 Minuten.
#6635882
Lesenswert?

Patrick G. schrieb:
> Wenn man jetzt einen Dart wirft reagieren aber logischerweiße auch die
> umliegenden Felder und das (vermutlich) in sehr kurzer reihenfolge und
> meine Angst ist das die uC Eingänge keine hochgenuge abtastrate haben.

Da kannst du schon mal den Information vorweg erarbeiten, die du sowieso 
brauchst: Wie gross der kleinste Zeitabstand zweier Sensorensignale bei 
Reaktion auf das gleiche Signal ist. Also die mindestens geforderte 
zeitliche Auflösung jedes Verfahrens.
#6635888
Lesenswert?

PittyJ schrieb:
> 8 Gpios aufsetzen. Interrupt drauf legen, und die Maske sagt einem,
> welcher Pin es war.

Sind dabei weitere Interrupts gesperrt, sobald der erste eintrifft? 
Sonst wärs ja einfach. Aber das eigentliche Problem ist, dass die nicht 
nur ein Sensor reagieren wird. Und genau da muss man nun erst einmal 
wissen, ob der µC rechtzeitig reagiert, um nur den ersten zu erwischen.
#6635890
Lesenswert?

Bevor die Corona-Langeweile dich und deine Verwandschaft jetzt umbringt, 
erkunde doch erst mal, wie elektronische Dartscheiben das (richtig) 
machen! Zwischendurch könnt ihr ja trotzdem weiterspielen :-) und das 
mit den Vibrationssensoren wird wohl nicht klappen...denk mal drüber 
nach...
Trotzdem viel Spass und Gruß, Rainer
Gast #6635893
Lesenswert?

W.S. schrieb:
> Was mir hier überhaupt nicht schmeckt ist, daß immer wieder Leute
> daherkommen und ohne nähere Umstände den anderen so einen Brocken vor
> die Füße schmeißen und erwarten, einen passenden IC auf dem
> Silbertablett kredenzt zu kriegen.

Und? Warum das Rad neu erfinden, wenn jemand hier eventuell ein 
spezialisiertes Bauteil kennt? Ich bin beruflich in einem Klima 
aufgewachsen, wo wir mitsamt Chef immer im interdisziplinären Team 
Mittag gemacht haben. In dieser Runde konnte jeder ALLES fragen. Ein 
besseren Katalysator für Innovation als schnellen Erfahrungsaustausch 
gibt's fast garnicht.
Was soll denn schlimmeres passieren, als ein "nö, kenn ich nicht" als 
Antwort?
OP #6635900
Lesenswert?

(prx) A. K. schrieb:
> PittyJ schrieb:
>> 8 Gpios aufsetzen. Interrupt drauf legen, und die Maske sagt einem,
>> welcher Pin es war.
>
> Sind dabei weitere Interrupts gesperrt, sobald der erste eintrifft?
> Sonst wärs ja einfach. Aber das eigentliche Problem ist, dass die nicht
> nur ein Sensor reagieren wird. Und genau da muss man nun erst einmal
> wissen, ob der µC rechtzeitig reagiert, um nur den ersten zu erwischen.

Genau das beschreibt meine Bedenken sehr gut, aber du hast schon recht, 
ich sollte mal rausfinden wie viel zeit zwischen den Sensoren liegt wenn 
sie auf den selben Dart reagieren.

Ich bin gerade noch ein paar 3D Teile am drucken, morgen versuch ich 
dann mal eine Dartscheibe damit auszustatten.
Habe die 3D Teile so konstruiert das zwischen jedem Feld ein hohlraum 
von 1mm ist unter der hoffnung das das die Felder ein wenig voneinander 
abdämpft.

Dann werde ich einfach mal ein paar Darts werfen und die Eingangssignale 
aufzeichnen lassen mit timestamps, dann sollte ich ja hoffentlich sehen 
wie viel ms dazwischenliegen.

Wenn ich das weiß kann ich weitersehen.

Danke!
Gast #6635902
Lesenswert?

Patrick G. schrieb:
> Gibt es ein IC das zb 8 Eingänge hat und sobald an einem Eingang ein
> High Pegel anliegt alle anderen eingänge gesperrt werden und das IC
> meinem microcontroller sagt welcher Eingang als erstes HIGH war?

Welche Zeit liegt zwischen dem ersten und folgenden Ereignis ?

Patrick G. schrieb:
> bin dabei mir mal ein paar Gedanken darüber zu machen wie man eine
> Dartscheibe aus Kork bzw Sisal realisieren könnte die elektronisch
> ausgewertet wird.

Gibt es haufenweise.

> Alls erste Idee habe ich mir mal einen Vibrationssensor bestellt den ich
> mit einer passenden Fassung aus dem 3D Drucker in jedes Feld integrieren
> möchte.

Niemand möchte wissen, von welchem Feld ein Pfeil abgeprallt ist.

> Wenn man jetzt einen Dart wirft reagieren aber logischerweiße auch die
> umliegenden Felder und das (vermutlich) in sehr kurzer reihenfolge und
> meine Angst ist das die uC Eingänge keine hochgenuge abtastrate haben.
> Sind meine Bedenken berechtigt?

Nein. Falscher Ansatz.

Wenn es wirklich nur um abprallen geht, reichen 3 Sensoren am Rand der 
Scheibe. Der erste Aufprall eines Darts produziert eine Schwingung, ein 
Geräusch, und je weiter der Sensor vom Aufprallpunkt entfernt ist, um so 
später kommt das Geräusch dort an. Es muss also nur der 
Laufzeitunterschied des Geräusches der 3 Sensoren ermittelt werden, dann 
kann man den Aufprallpunkt berechnen. Bei 330m/s reicht eine Auflösung 
von 3us, um den Aufprallpunkt auf 1mm genau ermitteln zu können. Ein 
STM32 kann jede Mikrosekunde einen Analogwert per ADC erfassen und das 
3-kanalig per DMA speichern, die Software kann nach Erfassung dann 
analysieren und berechnen. Man braucht also keine zusätzliche Hardware.

Ob der Pfeil dann stecken blieb oder abprallte, ist nochmal eine andere 
Frage. Vielleicht beantwortbar durch KI.
OP #6635904
Lesenswert?

Minimalist schrieb:
> W.S. schrieb:
>> Was mir hier überhaupt nicht schmeckt ist, daß immer wieder Leute
>> daherkommen und ohne nähere Umstände den anderen so einen Brocken vor
>> die Füße schmeißen und erwarten, einen passenden IC auf dem
>> Silbertablett kredenzt zu kriegen.
>
> Und? Warum das Rad neu erfinden, wenn jemand hier eventuell ein
> spezialisiertes Bauteil kennt? Ich bin beruflich in einem Klima
> aufgewachsen, wo wir mitsamt Chef immer im interdisziplinären Team
> Mittag gemacht haben. In dieser Runde konnte jeder ALLES fragen. Ein
> besseren Katalysator für Innovation als schnellen Erfahrungsaustausch
> gibt's fast garnicht.
> Was soll denn schlimmeres passieren, als ein "nö, kenn ich nicht" als
> Antwort?

Danke, genau sowas wie hier im Forum ist auch ein Lernprozess.

Ich erkundige mich nach möglichen Lösungswegen und Meinungen, werde 
diese dann in der Praxis ausprobieren und daraus lernen, was soll daran 
jetzt bitte falsch sein?
#6635909
Lesenswert?

Patrick G. schrieb:
> Genau das beschreibt meine Bedenken sehr gut, aber du hast schon recht,
> ich sollte mal rausfinden wie viel zeit zwischen den Sensoren liegt wenn
> sie auf den selben Dart reagieren.

Auf dem Weg dorthin wirst du vielleicht feststellen, dass Sensor des 
Feldes, in dem er traf, von der Position des Signals weiter entfernt 
sein könnte, als der nächste Sensor in einem Nachbarfeld. Dart ist kein 
Schachbrett.
#6635929
Lesenswert?

...und wieso eigentlich ausgerechnet etwa 8 Eingänge? Du hast auf der 
Scheibe 82 Felder, die getroffen werden könnten. Ich sehe schon das 
TTL-Grab, egal ob mit oder ohne Prozessor. Immerhin könnte die Pandemie 
schon vorrüber sein, bevor der erste Pfeil sicher erkannt wurde :-)
Gruß Rainer
OP #6635931
Lesenswert?

(prx) A. K. schrieb:
> Patrick G. schrieb:
>> Genau das beschreibt meine Bedenken sehr gut, aber du hast schon recht,
>> ich sollte mal rausfinden wie viel zeit zwischen den Sensoren liegt wenn
>> sie auf den selben Dart reagieren.
>
> Auf dem Weg dorthin wirst du vielleicht feststellen, dass Sensor des
> Feldes, in dem er traf, von der Position des Signals weiter entfernt
> sein könnte, als der nächste Sensor in einem Nachbarfeld. Dart ist kein
> Schachbrett.

Da hast du recht, so schnell haste meine Idee zerstört :D

Ne Spaß beiseite, da hatte ich wohl einen großen Denkfehler.
Gast #6635932
Lesenswert?

(prx) A. K. schrieb:
> Kleines Problem asynchroner Lösungen: race conditions. Also was genau
> passiert, wenn sich in sehr kurzer Zeit mehrere Eingänge melden.

Das kommt drauf an, wie groß "sehr kurz" bezogen auf 
Gatterdurchlaufzeiten der verwendeten Logik ist - und natürlich auf die 
Schaltung.

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