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?
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?
Was für eine Art spike? Interessant, in Wikipedia ist zu dem Thema sogar Mikrocontroller.net verlinkt: https://www.mikrocontroller.net/articles/Glitch
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.
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.
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.
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
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
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 .....
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.
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.
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
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.
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.
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.
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?!
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.
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.
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?
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.