Forum: Mikrocontroller und Digitale Elektronik spikeerkennung


von chris (Gast)


Lesenswert?

Hallo,
hat jemand von euch erfahrung damit, ob es möglich ist mit einem 
Mikrocontroller Spannungs Spikes im ns-Bereich an den eingängen zu 
erkennen? Oder welche anlternativen gibt es?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

chris schrieb:
> ob es möglich ist mit einem Mikrocontroller Spannungs Spikes
> im ns-Bereich an den eingängen zu erkennen?
Ja. Mit dem richtigen.

> Oder welche anlternativen gibt es?
Nimm ein Flipflop, ein CPLD oder ein FPGA.

Oder einfach mal gefragt: was willst du machen?
Woher kommt der Spike?
Wie soll auf ihn reagiert werden?

von Der Andere (Gast)


Lesenswert?

Was für eine Art spike?
Interessant, in Wikipedia ist zu dem Thema sogar Mikrocontroller.net 
verlinkt:
https://www.mikrocontroller.net/articles/Glitch

von chris (Gast)


Lesenswert?

Erstaml danke für eure Anworten und die damit eingebrachten Ideen. Ich 
möchte unbekannte Spikes bei dem Initialisierungsvorgang einer 
Elektronischen Schaltung erkennen. Dazu möchte ich nahezu 100 Signale 
(Kanäle überwachen). Zusätzlich zu den erkannten Spikes möchte ich deren 
aufgetretene Dauer ermitteln.

von Ingo L. (corrtexx)


Lesenswert?

chris schrieb:
> Zusätzlich zu den erkannten Spikes möchte ich deren
> aufgetretene Dauer ermitteln.
Ich denke da bist du mit einem µC an der Grenze des Machbaren, 
jedenfalls bei 100 Kanälen. Mit FPGA oder CPLD kenne ich mich nicht aus.
aber bei solch kurzen Spikes und so vielen Kanälen wirds auch hier denke 
ich mal eng.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

chris schrieb:
> Zusätzlich ...
Oha, Salamitaktik...

> möchte ich deren aufgetretene Dauer ermitteln.
Das Messen der Zeit wird kritisch, weil so ein "Spike" in seiner Form 
und Dauer nicht spezifiziert ist. Er muss nicht mal die Schaltschwelle 
des Eingangs erreichen.
Zudem wirst du den Spike in seiner Dauer und Form allein deshalb ändern, 
indem du eine Messklemme an die Signalleitung anschließt.

von chris (Gast)


Lesenswert?

Ja das ist das Problem. was haltet ihr von der Idee mehrere 
Mikrocontroller zu verwenden? So könnten man ja vlieeleicth so viele µCs 
verwenden das genug Eingänge vorliegen. Durch das auftretende Signal 
wird dann ein Timer ausgelöst. Zusätzlich wir ein weiterer µC per I2C 
oder SPI mit den anderen µCs verbunden, der Die Auswertung der 
aufgetretenen Signale übernimmt.
Was fallen euch dazu für mögliche Probleme, oder vielleicht sogar 
alternativen ein? Ich bin froh über jegliche Art von Ideen

von Ingo L. (corrtexx)


Lesenswert?

chris schrieb:
> Durch das auftretende Signal wird dann ein Timer ausgelöst
Wenn der Schaltpegel ausreichend ist, wovon nicht auszugehen ist.

chris schrieb:
> So könnten man ja vlieeleicth so viele µCs verwenden das genug Eingänge
> vorliegen.
Ich denke du müsstest mit einem ADC arbeiten und den Glitch genau 
ausmessen, das wird aber nicht machbar sein.

Also dein Projekt ist meiner Meinung nach nicht umsetzbar, denn du hast 
zu viele Unbekannte in dem Projekt... Zusätzlich ahst du ein weitere 
KO-Kriterium: Extrem viele Signale extrem schnell verarbeiten

von Störungsvermeider (Gast)


Lesenswert?

chris schrieb:
> Ich bin froh über jegliche Art von Ideen

Ich finde den Ansatz falsch. Du wirst ja nicht Spikes suchen weil
du gerne welche hast, sonder weil du sie vermeiden willst.

Also vermeide sie ....  auf direktem Wege, nicht erst durch die
Erkenntnis dass welche da sind.

Ausserdem wird das mit den Spikes, die beliebige Signalform haben,
schwierig werden sie mit einen Mikrokontroller zu erfassen, dessen
Inputs typischerweise eine Ansprechschwelle von der ca. halben
Betriebsspannung haben. Alles was unter dieser Schwelle ist oder
in diesem Bereich, kann getriggert werden, muss aber nicht.

Das (Triggerbarkeit für den uC) lässt gleich die nächste Frage
aufkommen: welche "Qualität" sollen denn die zu findenden Spikesa
haben .....

von chris (Gast)


Lesenswert?

Ja die anzahl der signale ist in der Tat ein großes Problem. Hat jemand 
damit Erfahrung wie lang so ein spike anliegen müsste, damit man ihn 
erfassen kann?
Weitere Ideen die mir bisher kamen sind die Verwenung eines Raspberry 
Pi, einer SPS oder z.B der Raspberry Pi in Kombination mit der PiXtend 
erweiterung.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

chris schrieb:
> Ja das ist das Problem. was haltet ihr von der Idee mehrere
> Mikrocontroller zu verwenden?
Ein Mikrocontroller ist zu langsam.

> Ja das ist das Problem
Zeig doch mal Daten zu diesen Spikes.
Welche Spannung?
Weleche Form?
Welche Dauer?
Du kannst nur ein Messgerät für etwas entwickeln, was du kennst.

von chris (Gast)


Lesenswert?

Den Ansatz der Vermeidung kann ich gut nachvollziehen, ist in diesem 
Fall aber nicht möglich, da es darum geht in einem Prüfsystem solche 
Fehler zu erkennen und zu protokollieren

von Ingo L. (corrtexx)


Lesenswert?

chris schrieb:
> Weitere Ideen die mir bisher kamen sind die Verwenung eines Raspberry
> Pi, einer SPS
Vergiss das mal schnell. Eine SPS ist so konstruiert eben genau nicht 
auf Spikes anzusprechen. Ein RPi ist dafür auch ungeeignet, auch wenn er 
ne superschnelle CPU hat.

von chris (Gast)


Lesenswert?

Also die Spannung beträgt 5V, die Form ist rechteckig. So ein Spike kann 
für längere Zeit auftreten sprich im Bereich von µs, oder im worst case 
im ns Bereich. Die Erkennung im ns Bereich scheint in der Tat etwas sehr 
optimistisch. Aber zumindest im bereich von µs sollte doch was möglich 
sein.

von chris (Gast)


Lesenswert?

Warum ist der Raspberry ungeeignet?

von Ingo L. (corrtexx)


Lesenswert?

chris schrieb:
> Warum ist der Raspberry ungeeignet?
Weil du für diese Kunststückchen die du vor hast extrem nah an der 
Hardware arbeiten muss, was bei RPi nicht möglich ist (denke ich).

> So ein Spike kann für längere Zeit auftreten sprich im Bereich von µs
Ja, aber wie genau willst du denn einen Spike von z.B. 1µs auflösen?
Sagen wir mal 10ns. Dann muss der Timer schon mit 100MHz laufen!
Langsamer mach wenig Sinn finde ich...

Wenn du deine ns-Spikes vermessen willst, musst du einen richtig 
schnellen Timer haben, der min. 1ns (1GHz) taktet. Vergiss es

Schau mal hier https://www.mikrocontroller.net/articles/Glitch wie das 
Oszi schon kämpft.

von chris (Gast)


Lesenswert?

Ok was denkst du denn wo hier die technische Grenze ca. liegt? was für 
Spiek dauern sind realistisch zu erkennen?

Nehmen wir an ich Messe mit einem ATMega8 20 Signale?!

von chris (Gast)


Lesenswert?

Oder wie kann man diese Grenzen ermitteln?

von Ingo L. (corrtexx)


Lesenswert?

chris schrieb:
> Nehmen wir an ich Messe mit einem ATMega8 20 Signale?!
Ein Mega8 hat keine 20 Timer! Ein Mega8 läuft max. auf 16MHz (62,5ns 
Timerauflösung).

> Oder wie kann man diese Grenzen ermitteln?
Indem du dir mal überlegst welche Auflösung du brauchst. Dann kann man 
anfangen nach Hardware zu suchen.
Aber ich habe das Gefühl du hast bisher noch keine Vorschläge 
angenommen.
Es haben dir hier schon mehrere Leute gesagt das es nicht geht.

Lothar M. schrieb:
> Das Messen der Zeit wird kritisch, weil so ein "Spike" in seiner Form
> und Dauer nicht spezifiziert ist. Er muss nicht mal die Schaltschwelle
> des Eingangs erreichen.

Ingo L. schrieb:
> Also dein Projekt ist meiner Meinung nach nicht umsetzbar, denn du hast
> zu viele Unbekannte in dem Projekt... Zusätzlich ahst du ein weitere
> KO-Kriterium: Extrem viele Signale extrem schnell verarbeiten

Lothar M. schrieb:
> Ein Mikrocontroller ist zu langsam.

von Störungsvermeider (Gast)


Lesenswert?

chris schrieb:
> Also die Spannung beträgt 5V, die Form ist rechteckig.

Ein Spike is weder rechteckig noch kann man erwarten dass
er vernünftig 5V (bzw allgemein gesprochen Logik-)Pegel liefert.

Entweder du meinst kurze Pulse die sich pegelmässig regulär in
der Logik-Umgebung verhalten und die aus irgendwelcher wild
gewordenen Logik stammen, oder eben Spikes die typischerweise
nicht den vollen Logikpegel und sogar negative Werte annehmen
können.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

chris schrieb:
> was für Spiek dauern sind realistisch zu erkennen?
Mit Mikrocontrollern irgendwas im einstelligen us Bereich. Es komt 
darauf an, wie gut du programmieren und die Ressourcen des uC nutzen 
kannst.

> Nehmen wir an ich Messe mit einem ATMega8 20 Signale?!
Ich kann mich nur wiederholen: vergiss das.
Es ist eine programmierte Ratestunde.

> Oder wie kann man diese Grenzen ermitteln?
Du rechnest aus, wieviel Zeit der uC zum Einlesen und Verwalten der 
Eingänge braucht. Dann weißt du es.

> 20 Signale?!
Kein Mensch in der Digitaltechnik nimmt 20 Signale. Wenn dann 16, 24 
oder 32. Überleg mal, warum...

> Warum ist der Raspberry ungeeignet?
Weil er es nicht kann mit seinem FETTEN Linux oben drauf.
Du kannst auch nicht mit einer Rakete von Berlin nach Hamburg fliegen. 
Mit einem Flugzeug kannst du es schon.

OT: manchmal frage ich mich, ob nicht ab&zu angemeldete und erfahrene 
Nutzer auch mal anonym ein wenig mit blöden Fragen herumtrollen.
chris, kannst du dir vorstellen, dass sowas möglich ist?

von Der Andere (Gast)


Lesenswert?

Das klingt für mich als wolltest du selbst einen Logic Analyzer basteln. 
genausowenig wie es sinnvoll ist ein Oszi selbst basteln zu wollen 
dürfte das für einen LA mit den von dir gewünschten Daten zutreffen.
Du brauchst dafür einen guten Logic Analyzer mit entsprechender Anzahl 
Kanäle.
Der Artikel hier ist glaube ich nicht so schlecht:
http://electronicdesign.com/test-amp-measurement/get-most-out-your-logic-analyzer
Auf alle Fälle wirst du bei der Anforderung etwas Geld in die Hand 
nehmen müssen.

von Tcf K. (tcfkao)


Lesenswert?

Ohne exakte Problembeschreibung ist das doch alles nur Voodoo -- und 
im Umkehrfall wird dem TA bei der Beschreibung meist auch schon die 
Lösung klar und zumindest sichtbarer.

von oszi40 (Gast)


Lesenswert?

Wenn ich ns lese, dann denke ich sofort an die Leitungslänge. Bei 
früheren AT-Diagnosen habe ich nur eine 10cm Leiterplatte als 
Verlängerung dazwischen gesteckt. Schon dabei sind viele Signale total 
verfälscht worden, daß nachweislich Fehlfunktionen auftraten. 
Wahrscheinlich ist der TS Chris noch in einem sehr optiMistischen 
Stadium?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.