Hallo, Ich möchte mit einem µC gerne eine Schaltung realisieren, die einzelne Impulse zählt, die relativ schnell aufeinander kommen. (µs-Bereich) Die Impulse werden vorher mit einem Halteglied o.Ä. auf Rechteckform gebracht. Die Frage die sich mir stellt ist ist die, wie lange der Highpegel bei den günstigeren, geläufigen µC's (ATMega8/16/32) am Eingang anliegen muss, damit er erkannt wird und wie weit die Impulse auseinander liegen müssen, damit sie noch als einzelne Impulse erkannt werden. (Zeitliches Auflösungsvermögen?) Wie errechnen sich diese Werte? Oder stehen sie in den Datenblättern? Grüße, S.
>Oder stehen sie in den Datenblättern?
Was hast Du denn bei Deinen Versuchen die Angaben im Datenblatt zu
suchen gefunden?
Was koennte denn eine minimale Zeit fuer Pulslaenge und Abstans detn ?
Hallo, Ich kenne mich mit µC's überhaupt noch nicht aus und weiß daher auch nicht, an welcher Stelle des riesigen Datenblattes ich überhaupt nachsehen muss. Vorstellen könnte ich mir, dass die höchstmögliche zählbare Frequenz durch den eigentlichen Rechentakt begrenzt ist, allerdings wird die reale doch eine ganze Ecke tiefer liegen? Vielleicht kann mir ja doch jemand helfen. Grüße, S.
Normalerweise (bestimmt!) stehen alle relevanten Angaben im Datenblatt. Mit AVR uC kenne ich mich nicht speziell aus. Aber: Externe Frequenzen oder Impulse lassen sich mit der "Timer" Einheit messen. Entweder als Zähler (counter mode) oder -wie wahrscheinlich in deiner Anwendung nötig, bei "unregelmäßigen Einzelimpulsen"- mit dem "input capture mode". Die max. zulässige Frequenz bzw. Impulsbreiten stehen im Datenblatt. Üblicherweise sind die generell niedriger als die interne Taktfrequenz des uC, ofmals z.B. nur max. 1/4 der internen Taktfrequenz. Diese interne Taktfrequenz wiederum kann identisch zur einem angeschlossenen Quarz sein (direkter Oszillator), oder aber der uC hat eine "PLL", also eine höhere (mögliche) interne Taktfrequenz als der Quarz. Als weitere Lösung könnte man die Impulse an den externen Interrupt-Eingang legen; das sinnvoll, wenn direkter "input capture mode" einer / der Timereinheit nicht vorhanden ist. Mehr lässt sich nur aussagen, wenn du deutlich exakter beschreibst, welche Art von Impulsen erfasst werden müssen. Ist es ein wiederholendes Signal? Oder muss "exakt" jeder einzelne Impuls erfasst werden? Sinnvoll wäre auch die Angabe, welchen exakten Typ von uC du momentan vorgesehen hast.
Hallöchen Denke hab' vor kurze mal gelesen : Der Pegel muss beim AVR mindestes 2.5 Taktzyklen anliegen damit z.B. der Timer den Takt erkennt. Also bei einem Qartz mit 10 Mhz wären das wohl 0.25 usec. hmg Mandi
Hallo, Die Pulse kommen regelmäßig. Es geht darum, zu erfassen, wenn ein Impuls nicht gekommen ist. Anwendung: Thema meiner Studienarbeit ist die Entwicklung einer Logik zur Erfassung von nicht-erfolgten Zündungen von Zündspulen, die vorher einigen Stress-/Alterungstests unterzogen wurden. D.h. die Spule wird mit realistischer Geschwindigkeit mit Spannung versorgt (Bereich um 100Hz), der Lichtbogen wird optisch detektiert und anschließend auf Rechteckform gebracht. Am Ende habe ich also 12 Spannungen (pegel high/low) (2 kommen immer gleichzeitig), deren Impulse ich zählen möchte, um sie anschließend auf dem Mikrocontroller mit dem Referenzimpuls zu vergleichen und damit schlussendlich auf den Zustand der Zündkerze zu schließen. Da die Zahl der erfolgten Zündungen um ein vielfaches größer sein wird als die Zahl der nicht-erfolgten Zündungen wäre es sicher auch eine Möglichkeit, Referenztakt und Signal per XOR zur vergleichen und dann an den Controller zu geben, dann müsste man nur die fehlgeschlagenen Zündungen zählen. Allerdings hätte ich am liebsten auch die "Rohdaten" der einzelnen Impulse gezählt. Einen konkreten µC habe ich noch nicht ausgewählt, da ich nicht weiß, wie ich ihn zu dimensionieren habe. Natürlich will ich nicht unnütz einen Mega128 einsetzen, wenn es auch der 8er tut... mal extrem ausgedrückt. Da der 32 allerdings relativ günstig zu haben ist und die Ausgabeform (evtl LCD?) noch nicht feststeht, würde ich wohl auf den setzen, wenn er für die obigen Kriterien ausreicht. Ach ja: Die Auflösung im µs-Bereich habe ich zuerst angesprochen, da das für ein nachfolgendes Projekt interessant wäre, wofür man den Code eventuell nur erweitern müsste. Ich hoffe, dass ihr mir helfen könnt, S.
Manfred Schön wrote: > Hallöchen > > Denke hab' vor kurze mal gelesen : > > Der Pegel muss beim AVR mindestes 2.5 Taktzyklen anliegen damit z.B. der > Timer den Takt erkennt. > Also bei einem Qartz mit 10 Mhz wären das wohl 0.25 usec. > > hmg > Mandi Das würde ja bedeuten, dass ATMega 8/16/32 locker ausreichen selbst für den µs-Bereich. Korrekt? Sind diese Typen für meine Anwendung in Ordnung? Viele Grüße, S.
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.