Peripheral Event Controller?

Gast #2746840
Hi Leute!

Was versteht ihr unter einem Peripheral Event Controller eines µ-C's? 
Meine Vorlesungsunterlagen geben zu der Arbeitsweise leider nicht so 
viel her. Auch das Internet beschränkt sich etwas arg...

So lang ich nämlich nicht weiß, was das Teil macht, kann ich das 
Blockablaufbild nicht so richtig interpretieren...
Gast #2746911
Hat sich dein Prof wohl selber ausgedacht, denn sowas gibt es eigentlich 
garnicht. Vielleicht meint er, daß es in der Peripherie ja Ereignisse 
gibt, wie z.B. "UART hat Zeichen empfangen", die man je nach uC vom 
Programm aus abfragen kann oder als Interrupt-Quelle für den 
Interrupt-Controller benutzen kann oder als Start für einen 
DMA-Controller.

W.S.
Gast #2746989
Das gibt es schon, beim C167 und seinen Nachfolgern Das ist eine
Einheit, die interruptgesteuerte Transfers autark ausführt, d.j.
ohne die CPU zu belasten. Genaueres findes du im zugehörigen
UserManual.
(Firma: matzetronics) #2747148
Die XMegas haben auch ein Event System, bei dem bestimmte Ereignisse 
unabhängig von der CPU Ereignisse auslösen können. Z.B. kann ein Timer 
OVF Event den ADC triggern oder ein 'ADC Ready' den DMA anschubsen. Das 
ganze geht dann ohne Interrupts.
Ich hab das Blockschaltild des XMega grad nicht im Kopf, mögl. nennt 
Atmel den Ereignis Router einen Event Controller.
Gast #2747189
Ich hab mir nun mal die Dokumentation vom XE angeschaut. Da wird zwar 
alles recht übersichtlich erklärt, wie man den PEC einstellt, aber was 
das im Grunde ist, steht da nicht. Mein Problem ist, dass ich die 
Zeichnung des Ablaufs von diesem PEC nicht verstehe...
Gast #2747227
Ich hab mir das nun mal noch genauer angeschaut und ich verstehe das so:

Es gibt ein Register, in dem ein Feld Count, und ein Feld INC 
beschrieben werden kann. Der Wert im Feld Count kann von 0-255 
beschrieben werden das INC-Feld was dekrementiert werden soll. 
SourcePOinter DestinationPointer oder beides gleichzeitig.

Wenn nun das Count = 0 ist, dan wir d ein normaler interrupt 
durchgeführt.

Wenn Count zwischen 254..2 ist, dann wird das RequestFlag gelöscht, 
count dekrementiert und PEC-Transfer durchgeführt

Wenn Count = 1 ist dann wird das RequestFlag nciht gelöscht, count 
dekrementiert und PEC-Transfer durchgeführt


Wenn Count = 255 ist dann wird das RequestFlag nciht gelöscht, count 
dekrementiert und PEC-Transfers werden kontinuierlich durchgeführt; ohne 
count zu verändern



Soweit so gut. Aber was bringt mir das jetzt? Was ist nun ein PEC? Eine 
Art Interrupt? was ist das besondere dran? Warum brauch ich noch eine 
neute Art interrupt? Das steht leider im Handbuch nicht.
Gast #2747230
Im Grunde geht es um Datentransfers, z.B. vom ADC in den
Speicher. Du stellst die Quelle und Zielstartadresse ein, sowie die
gewünschte Anzahl an Transfers. Wenn die eingestellte Peripherie
einen Interrupt auslöst, erfolgt nur dieser Datentransfer (ein
Word oder Byte) im Hintergrund. Erst wenn alle Transfers
ausgeführt sind (nach eingestellter Anzahl) gibt es wirklich
einen Interrupt.
Gast #2747244
Hab ich leider vergessen: Was ein RequestFlag sein soll, wurde mir in 
dem Handbuch auch nicht gesagt. Im Internet und in meinen Unterlagen 
steht dazu leider auch nichts...
Gast #2747252
hier:
http://www.infineon.com/cms/en/product/microcontrollers/16-bit-c166-microcontrollers/16-bit-c166-microcontrollers/channel.html?channel=db3a30432313ff5e012332d4d2cb306c

findet man:
Peripheral Event Controller

The Peripheral Event Controller (PEC) enables single cycle data 
transfers between memory and peripherals without the intervention of an 
interrupt service routine. The PEC provides eight PEC service channels 
which move a single byte or word between any two locations with optional 
automatic updating of the source and destination pointers. A PEC 
transfer can be triggered by any interrupt service request and is the 
fastest possible interrupt response.

in der Praxis läuft das so wie von Guido beschrieben.
Gast #2747253
Das ist das Flag, das gesetzt wird, wenn ein Interrupt
angefordert (ausgelöst) wird. Dies führt je nach Priorität
dazu, dass ein PEC-Transfer oder die ISR ausgeführt wird.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.