Wie schnell ist ein Interrupt?

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 03 10 2024  01:44:31      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
Wie schnell ist ein Interrupt?

    







BID = 611071

Rambodischien

Schreibmaschine

Beiträge: 1341
Wohnort: Österreich
 

  


Hallo liebe Forengemeinde,

nach langer Zeit will ich mich wieder dem Thema Mikrokontroller heranwagen. Für eine Auswertung benötige ich den Externen Interrupt des Atemaga 8.

Bevor ich mich an das Programmieren heranwagen möchte ich noch etwas wissen.

Wie schnell ist der Interrupt des Atmega8. Theoretisch, wenn ich einen Atmega mit 16 MHz habe, müsste der Interrupt alle 62,5 ns.

Stimmt meine Berechnung? Aus dem Datenblatt habe ich nichts in Erfahrung bringen können.

Danke

_________________
Mfg Rambodischien

BID = 611084

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

 

  

Moin,


Zitat :
When an event on the INT1 pin triggers an interrupt request, INTF1 becomes set (one).
If the I-bit in SREG and the INT1 bit in GICR are set (one), the MCU will jump to the cor-
responding Interrupt Vector. The flag is cleared when the interrupt routine is executed. [...]



Zitat :
The I/O clock is used by the majority of the I/O modules, like Timer/Counters, SPI, and
USART. The I/O clock is also used by the External Interrupt module, but note that some
external interrupts are detected by asynchronous logic, allowing such interrupts to be
detected even if the I/O clock is halted. [...]

Edit: /
Für Interuppttriggerung durch eine fallende oder steigende Flanke sowie durch Wechsels des Pegels geschieht alles Systemtakt synchron. Dazu solltest du dir den entsprechenden Bereich im DB anschauen: "I/O Ports und entsprechend dort "Alternate Port Functions". Am besten das ganze Kapitel, dort sind auch Schaltbilder vorhanden.


Es reicht aber zu wissen, dass es Taktsynchron passiert.
Edit/
Bedenke, dass die Ausführung der ISR und das damit verbundene Sichern der aktuellen Programmadresse auf dem Stack Zeit kostet.
Was hast du denn vor, dass es so genau sein muss?
U.U. musst du sogar noch das Status Register sichern, wenn du es in der ISR verändern willst! Das dauert auch.

_________________


[ Diese Nachricht wurde geändert von: DonComi am 31 Mai 2009 17:54 ]

[ Diese Nachricht wurde geändert von: DonComi am 31 Mai 2009 17:58 ]

BID = 611088

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
Stimmt meine Berechnung?
Nein.
Zuerst mal muss ja der Interrupt erkannt werden. Das erfolgt nur zu einem bestimmten Zeitpunkt im Befehlszyklus.
Dann wird die aktuell laufende Instruktion noch abgearbeitet, was länger als einen Takt dauern kann.
Dann liest sich der Prozessor der Interruptvektor und erst danach kann die Bearbeitung durch die Interruptroutine beginnen.
Das Obige findest du genau in den Timingdiagrammen erklärt.

Üblicherweise beginnt die Interruptroutine mit ein paar Befehlen zum Sichern des Statusregisters und weiterer Register, die von der Interruptroutine benutzt bzw. verändert werden.
Am Schluss werden diese Register wiederhergestellt und dann erst darf der Rücksprung erfolgen.

Unter praktischen Gesichtspunkten würde ich deshalb mit vielleicht 20 Clocks Overhead rechnen.

BID = 611101

Rambodischien

Schreibmaschine

Beiträge: 1341
Wohnort: Österreich

Danke für die Antworten,


Zitat :
DonComi hat am 31 Mai 2009 17:47 geschrieben :


Was hast du denn vor, dass es so genau sein muss?



Das ist nur rein aus Interesse. Ich will nämlich die Geschwindigkeit beim Fahrrad messen. Ich wollte nur interessehalber ausrechnen bis zu welcher Geschwindigkeit ich messen kann.



_________________
Mfg Rambodischien

BID = 611104

Her Masters Voice

Inventar


Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 5308
Wohnort: irgendwo südlich von Berlin

ich kenn Jemanden der sowas an seiner Hayabusa angebastelt hat. Über 300Km/h wirst du wohl kaum mit dem Drahtesel kommen

_________________
Tschüüüüüüüs

Her Masters Voice
aka
Frank

***********************************
Der optimale Arbeitspunkt stellt sich bei minimaler Rauchentwicklung ein...
***********************************

BID = 611106

Kleinspannung

Urgestein



Beiträge: 13356
Wohnort: Tal der Ahnungslosen


Offtopic :

Und selbst die Hayabusa geht nur 300 mit angeklappten Spiegeln und winschlüpfrigem Piloten...


_________________
Manche Männer bemühen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitätstheorie.
(Albert Einstein)

BID = 611111

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Also für sowas sind die Interrupt schnell genug. Da brauchst du dir keine Gedanken zu machen.

Dazu könnte man auch den Timer extern triggern.

_________________

BID = 611113

Rambodischien

Schreibmaschine

Beiträge: 1341
Wohnort: Österreich

Angst das es nicht funktioniert habe ich nicht.

Aber eine paar Frage habe ich noch zu diesem Thema.

Wie kann ich berechnen wie genau ich mir diesem System messen kann?
Was für Reed-Relai ist für ein Fahrradcomputer am besten geeignet?



_________________
Mfg Rambodischien

BID = 611116

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Mach mal einen Vorschlag.

Und was verstehst du unter "Genau"?
Ich meine, wie wichtig sind fünf Nachkommastellen beim Fahrradfahren?

Da wird aber dein "System" bis dato nicht kennen, können wir darüber keine direkte Aussage treffen - schließlich hängt die Genauigkeit nicht nur von der Hardware ab, die übrigens sehr präzise messen kann, sondern auch maßgeblich von deinen Programmierkünsten .

Überlege mal, wie die Frequenzverhältnisse deiner CPU zu der variablen Frequenz deines Impulsgeber ist.

Schlecht wäre ein prellendes Relais, das müsste man entprellen, sonst hauen die Werte vorne und hinten nicht hin, du fährst gemessen wesentlich schneller als real .

_________________

BID = 611146

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

Ausserdem sind absolute Genauigkeit, Auflösung und Wiederholbarkeit alles verschiedene Dinge.


Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 19 Beiträge im Durchschnitt pro Tag       heute wurden bisher 0 Beiträge verfasst
© x sparkkelsputz        Besucher : 182115038   Heute : 203    Gestern : 5910    Online : 631        3.10.2024    1:44
0 Besucher in den letzten 60 Sekunden         ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0508868694305