mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Unterschied zwischen Low-Level Triggered, pegel- und flankengesteuerten IRQs


Autor: Richard H. (ricci008)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ein echt tolles Forum hier! Ich versuche mich seit einigen Wochen in die 
Thematik uController einzuarbeiten und stehe gerade bei Interrupts. 
Koennte mir mal jemand die Unterschiede zwischen

- flankengesteuerten Interrupts
- pegelgesteuerten Interrupts
- und Low-Level Triggered IRQs

erklaeren? Wann verwendet man welche und wann koennen welche wie 
verloren gehen?

Danke fuer jede Erklaerung schonmal im Voraus!

Gruesse

ricci008

Autor: Fabian H. (hdr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Low-Level sowie High-Level Interrupts sind pegelgesteuerte Interrupts.

Der Untschied:
Beim flankengesteuerten Interrupt löst der Interrupt beim Wechsel von 
High-auf Low, oder / und beim Low-High Wechsel aus. Und nur dann!

Der pegelgesteuerte Interrupt löst bei High, oder Low-Signal aus.

Wenn Du ein flankengesteuerten Interrupt verlässt, wird er erst bei der 
n. Flanke wieder betreten. Beim pegelgesteuerten Interrupt hingegen wird 
der Interupt nach dem verlassen gleich wieder betreten, wenn der Pegel 
noch immer anliegt. Du musst also in deiner ISR dafür sorgen, dass der 
Pegel, der den Interrupt ausgelöst hat, sich wieder ändert.

Ein flankengesteuerter Interrupt "könnte" eher verloren gehen, da dieser 
nur einmal auslöst.

VG

Fabian

Autor: Richard H. (ricci008)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, das ging ja schnell!

Und was ist der Unterschied zwischen Low- und How-Level Triggered 
Interrupts?

Autor: Jochen Müller (taschenbuch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richard,

Das was Fabian da schrub ist völlig richtig, aber in einem (wichtigen) 
Detail nicht ganz präzise:

>>Beim pegelgesteuerten Interrupt hingegen wird
>>der Interupt nach dem verlassen gleich wieder betreten, wenn der Pegel
>>noch immer anliegt.
Der INT wird nicht wirklich GLEICH wieder betreten, es wird zuvor EIN 
Befehl des Hauptprogramms abgearbeitet.

>>Du musst also in deiner ISR dafür sorgen, dass der
>>Pegel, der den Interrupt ausgelöst hat, sich wieder ändert.
Ja, oder den INT über ein spezifisches oder globales Flag abschalten.

Jochen Müller

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jochen Müller wrote:

> Der INT wird nicht wirklich GLEICH wieder betreten, es wird zuvor EIN
> Befehl des Hauptprogramms abgearbeitet.

Das mag auf AVRs zutreffen, ist aber nicht bei allen Architekturen 
zwingend.

Autor: Richard H. (ricci008)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, wieder viel dazugelernt. Ein super Forum, ganz groszes 
Kompliment!!!

Richard.

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ein flankengesteuerter Interrupt "könnte" eher verloren gehen, da
> dieser nur einmal auslöst.


Ich würde das eher umgekehrt sehen, denn:

Bei einem flankengetriggerten Int wird im Controller ein Flag gesetzt, 
in dem die Int Anforderung gespeichert bleibt und irgendwann später 
abgearbeitet werden kann.

Bei einem pegelgetriggerten Int kann das Triggersignal dagegen bis zur 
Auslösung des Int schon wieder inaktiv sein, dann passiert einfach gar 
nichts.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.