Forum: Mikrocontroller und Digitale Elektronik Unterschied event und interrupt


von timi16 (Gast)


Lesenswert?

Hallo,
Ich lese gerae das Datenblatt vom samd20x.
Was ist der unterschied zwischen events und interrupts?
Ich möchte eigentlich nur einen Counter hochzählen lassen und 
"gelegentlich" per polling den status abfragen. Bim Atmega gab es dafür 
eine statusregister aber beim samd20x offenbar auch noch event register.

von Irrenhaus - Reception (Gast)


Lesenswert?

timi16 schrieb:
> Ich lese gerae das Datenblatt vom samd20x.

Soso und du schaffst es nichtmal einen link auf das fragliche Dokument 
zu setzen, willst es dir aber vom Dritten vorlesen lassen...

von timi16 (Gast)


Lesenswert?

Verzeih mir, sehr unhöflich von mir :)

S.430 sind die TC 8bit Register aufgeführt:

https://ww1.microchip.com/downloads/en/DeviceDoc/atmel-42129-sam-d20_summary.pdf

von STK500-Besitzer (Gast)


Lesenswert?

timi16 schrieb:
> Verzeih mir, sehr unhöflich von mir :)

> S.430
Wird schwierig bei 51 Seiten.

von timi16 (Gast)


Lesenswert?

Ich habe bei anderen Forenbeiträgen gelesen, dass beim ARM Events 
genutzt werden um andere Peripherien über bestimmte ereignisse in 
kenntnis zu setzen, ohne das man eine handlerroutine bräuchte oder 
status/event bits pollt.
Ganz anders bei interrupts, hier muss man als selbst aktiv werden in 
form von abpollen oder interrupt_handler.

Beispiel: der ADC soll ab so und so viel counts einmal einen Wert 
generieren.

von W.S. (Gast)


Lesenswert?

timi16 schrieb:
> Was ist der unterschied zwischen events und interrupts?

Nun, was die Autoren der Doku zum SAMD20... darunter vestehen, kann man 
nur durch Nachlesen (eventuell) vestehen.

Aber:
Allgemein wird als 'interrupt' ein Ereignis verstanden, das den 
Prozessor aus seinem normalen Ablauf holt, ihn also im Programmablauf 
unterbricht. Beispiel: Sendepuffer des UART ist leer oder grad leer 
geworden.

Unter einem 'event' versteht man (schlampigerweise) eine Botschaft, die 
rein softwaremäßig ausgewertet werden kann - oder auch nicht, wenn das 
Programm dazu keine Lust hat. Beispiel: die Software-Uhr meldet, daß 
gerade eine Sekunde um ist.

W.S.

von Falk B. (falk)


Lesenswert?

W.S. schrieb:
> Unter einem 'event' versteht man (schlampigerweise) eine Botschaft, die
> rein softwaremäßig ausgewertet werden kann - oder auch nicht, wenn das
> Programm dazu keine Lust hat. Beispiel: die Software-Uhr meldet, daß
> gerade eine Sekunde um ist.

Darum geht es hier aber nicht. Es geht um das Hardware Eventsystem eines 
SAMd20x. Und dort sind die Events Hardwaremeldungen an andere 
Hardwareeinheiten, ohne daß die CPU da was tun muss (außer vorher 
richtig konfigurieren).

Interrupt: Hardware meldet ein Ereignis an die CPU
Event: Hardware meldet Ereignis an andere Hardware, im Ausnahmefall auch 
CPU.

Einfaches Beispiel. Ein Quadraturdekoder für Drehgeber erkennt einen 
Schritt in Richtung + und meldet das an einen Zähler, der dann 
automatisch +1 zählt. Dito bei -1.

: Bearbeitet durch User
von Georg M. (g_m)


Lesenswert?

> Unterschied event und interrupt

22. Event System (EVSYS)
22.1 Overview
The Event System (EVSYS) allows autonomous, low-latency and configurable 
communication between peripherals.
Communication is made without CPU intervention and without consuming 
system resources such as bus or RAM bandwidth. This reduces the load on 
the CPU and other system resources, compared to a traditional 
interrupt-based system.

von Der Da (Gast)


Lesenswert?

timi16 schrieb:
> Hallo,
> Ich lese gerae das Datenblatt vom samd20x.
> Was ist der unterschied zwischen events und interrupts?
> Ich möchte eigentlich nur einen Counter hochzählen lassen und
> "gelegentlich" per polling den status abfragen. Bim Atmega gab es dafür
> eine statusregister aber beim samd20x offenbar auch noch event register.

Wie die Vorschreiber geschrieben haben:

Ein Interrupt (wenn aktiviert) bewirkt eine Unterbrechung des 
Programmablaufes aufgrund eines Ereignisses und man wird automatisch an 
eine andere Programmstelle katapultiert. Dort macht man dann das was 
aufgrund des Ereignisses notwendig ist, und kommt dann "automatisch" an 
die ursprüngliche Programmstelle zurück.

Events sind im Atmel/Microchip Universum etwas anderes. Damit können 
Hardwareeinheiten im µC Stati austauschen und unabhängig von Software 
Aktionen starten (wenn so konfiguriert). So kann (keine Ahnung ob dieses 
Beispiel beim samd20x geht, aber zur Veranschaulichung) z.B. das Wackeln 
eines Pins eine AD-Wandlung auslösen oder das Auslösen des Komparators 
beendet einen PWM-Takt im Timer "auserhalb der Reihe vorzeitig".

Mit Events kann man sehr elegant wiederkehrende I/O Aufgaben in Hardware 
gießen.

Gruß

Robert

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
Noch kein Account? Hier anmelden.