Ich muss mit dem Komparator einen kurzen Impuls (~ 100 ns) erfassen. Ich hoffe also, dass der kurze Nulldurchgangsimpuls den Komparator-Interrupt auslöst, aber ich konnte keine Informationen über die Reaktionszeit / Komparatorgeschwindigkeit meines Controllers finden .
Außerdem möchte ich die CPU-Taktrate niedrig halten (1 MHz). Hoffe, dass die Taktrate nicht mit dem Komparator zusammenhängt.
Ich habe mir mehr Gedanken über die minimale Pulslänge als über die Reaktionszeit gemacht.
avr
comparator
speed
Roman Matveev
quelle
quelle
Antworten:
Der von Ihnen angegebene Datenblatt-Link war für das kürzere zusammenfassende Datenblatt. Sie müssen sich das vollständige Datenblatt ansehen, um die Ausbreitungsverzögerung des Komparators zu erhalten.
http://www.atmel.com/Images/Atmel-42734-8-bit-AVR-Microcontroller-ATmega48PA-88PA-168PA_datasheet.pdf
Auf Seite 384 wird die Ausbreitungsverzögerung des analogen Komparators (die Zeitverzögerung zwischen einer Änderung des Komparatoreingangs und einer Änderung des Ausgangs) als 500 ns aufgeführt, typisch für VCC = 4,0 V oder mehr. Auf Seite 309 heißt es außerdem: "Der Ausgang des Analogkomparators wird synchronisiert und dann direkt mit ACO verbunden. Die Synchronisation führt zu einer Verzögerung von 1-2 Taktzyklen."
Wenn die CPU das Komparatorergebnis verwenden möchte, wird nicht garantiert, dass ein Interrupt früher als 2 Taktzyklen + 500 ns + plus der Interrupt-Latenz vom CPU-Kern selbst ausgelöst wird.
Wenn das Datenblatt besagt, dass der Komparator auf der Uhr synchronisiert ist, bedeutet dies, dass der Komparator von einem getakteten Flip-Flop abgetastet wird. Daher kann nicht garantiert werden, dass ein vom Komparator ausgegebener Impuls, der weniger als 1 Taktzyklen beträgt, zwischengespeichert wird. Bei 1 MHz wäre der minimal zulässige Impuls somit 1us.
quelle