Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Was ist PEC (Peripheral Event Controller) ? Kategorie: Verschiedenes (von GĂĽnter Kargl - 19.11.2004 12:15)
Als Antwort auf Was ist PEC (Peripheral Event Controller) ? von Johannes - 7.04.2002 15:05

> Hi !
> Kann mir jemand erklären, was PEC (Peripheral Event Controller) ist ?

Datentransfer mit dem Peripherie Event Controller (PEC)
Zwischen Peripherie und Mikrokontroller mĂĽssen
 Daten ausgetauscht werden. Handelt es sich dabei um mehrere Werte, können sie
mit dem PEC - Transfer zwischengespeichert werden.

Der Transfer unterbricht den Programmablauf nur fĂĽr einen Maschinenzyklus da
er nur durch Hardware realisiert ist. Es wird fĂĽr den Datentransfer  keine Interrupt Service Routine aufgerufen.


Werden z.B. mehrere Kanäle der
 Analog / Digital - Wandler benutzt, muss nach jeder einzelnen Wandlung das Ergebnis
ausgelesen werden, da nur ein Register zur VerfĂĽgung steht, in das der Wert abgelegt wird.

Die Interrupt Routine, die aus den eingelesenen
Werten die neuen Stellgrö�en berechnet, soll dagegen erst aufgerufen werden, wenn
alle Kanäle gewandelt wurden.


Bei Aufruf des eingestellten Interrupts werden zunächst nur der PEC - Transfer
durchgeführt und der PEC - Zähler inkrementiert.

Erst wenn der PEC - Zähler nach dem Einlesen aller Werte auf dem eingestellten
 Maximum steht, wird die eigentliche Interrupt Routine ausgefĂĽhrt.


Für den PEC - Transfer stehen 8 Kanäle zur Verfügung.

Quelle und Ziel des Transfers werden durch den Source Pointer (SRCPx) und
den Destination Pointer (DSTPx) angegeben.
Die Interrupt- und Gruppenlevel sind zu den PEC - Kanälen fest zugeordnet.
Die Anzahl der Transfers und die Art der Inkrementierung des Zeigers werden
 im Steuerregister PECCx angegeben.

FĂĽr den PEC - Transfer der A/D - Werte wird der PEC - Kanal 0 verwendet.
Dem Kanal 0 sind der Interruptlevel ILVL 14 und der Gruppenlevel GLVL 0 zugeordnet.
Bei jedem Aufruf fĂĽr den Transfer einer festen Quelle in ein Zielfeld soll der
Zeiger DSTP0 inkrementiert werden, was durch INC = 01 eingestellt wird.
Der Wert COUNT gibt an, bis zu welchem Wert der Zeiger inkrementiert werden soll.

mehr weis ich auch nit sry


    Antwort schreiben


Antworten: