Forum: Mikrocontroller und Digitale Elektronik Input Capture bei XMega - welcher pin?


von Daniel B. (scheinleistung)


Lesenswert?

Hallo zusammen,

Ich arbeite mich gerade bei den XMegas ein und möchte wie bei bisher bei 
den Megas über den ICP ein PWM Signal einlesen (Interrupt bei Flanke).

Ist es richtig dass ich beim XMEGA jedem pin die ICP FUnktion zuweisen 
kann? Oder wo befinden sich die ICPs?

von Daniel B. (scheinleistung)


Lesenswert?

Kann mir hier vielleicht jemand weiterhelfen?

von ich (Gast)


Lesenswert?

>Kann mir hier vielleicht jemand weiterhelfen?

Ja, das Datenblatt

von Peter D. (peda)


Lesenswert?

Allgemein habe ich nicht den Eindruck, daß hier viele den Xmega 
einsetzen.
Es dürfte daher kein böser Wille sein, daß Antworten dazu spärlich 
ausfallen.

Auch könnte ich mir vorstellen, daß sich nicht alle Xmega gleich 
verhalten, sondern Unterschiede bestehen. Eine konkrete Typangabe könnte 
daher sinnvoll sein.

Ich habe nicht vor, den Xmega einzusetzen, er ist mir zu weit vom 
klassik AVR entfernt (weder Pin- noch Spannungskompatibel, völlig andere 
Peripherie, keine Low-Pin-Count Versionen Xtiny).

Falls ich mal mehr Leistung benötigen sollte, würde ich eher zum Cortex 
M3 greifen.


Peter

von ich (Gast)


Lesenswert?

Also:
Du hast pro Port (Gruppe von 8 IO Pins) max. 2 Interupts.

Jeder dieser beiden Interupts kann durch jeden der 8 Pins aufgerufen 
werden.

Für den Interupt0 gibt es das Register INT0MASK (das gibt es für JEDEN 
Port)

Für den Interupt 1 entsprechend INT1MASK.

In dieses Maskenregister trägst du die Pins ein die Interupt auslössen 
können sollen.

Ob bei positiver oder negativer Flanke eines Pins ausgelöst wird, wird 
im PINnCTRL eingestellt. (Dieses Register existiert 8 mal pro Port (für 
jeden Pin).

Details siehe Datenblatt: IO-Ports - Register description.

von ich (Gast)


Lesenswert?

>Auch könnte ich mir vorstellen, daß sich nicht alle Xmega gleich
>verhalten, sondern Unterschiede bestehen.

Nein. Das ist einer der Vorteile bei den Xmegas. Sogar die Adressen der 
Register sind bei allen Typen identisch. Klar, bei kleineren Typen sind 
manche nicht vorhanden.
Prinzipiell sind alle xmegas softwarekompatibel.

von Gerhard G. (xmega)


Lesenswert?

Hallo,

Hallo,

Daniel B. schrieb:
> Oder wo befinden sich die ICPs?

Input Capture Pin gibt es nicht wirklich...

du kannst jeden Port benutzen, dann aber über den Event-Channel an den
Capture Block weiterleiten.  Siehe folgeneden Code

/* Configure PC0 for input triggered on falling edge. */
PORTC.PIN0CTRL = PORT_ISC_FALLING_gc;

/* Select PC0 as input to event channel 2. */
EVSYS.CH2MUX = EVSYS_CHMUX_PORTC_PIN0_gc;

/* Configure TCC0 for Input Capture using event channel 2. */
TC0_ConfigInputCapture( &TCC0, TC_EVSEL_CH2_gc );

siehe application note AVR1306

Gruß Xmega

von Daniel B. (scheinleistung)


Lesenswert?

Danke für Eure Hilfe, ich denke dann hab ich das Prinzipt jetzt 
verstanden!

Finden die Xmegas eigentlich gut Verbreitung / Anwendung? Man hört doch 
recht wenig von Ihnen. Einer der Hauptgründe warum ich sie nehmen will 
ist eigentlich nur, weil ich 24 MHz Takt benötige aber bei 2,7V 
Supply... und da helfen mir die megas leider nicht mehr weiter.

von ich (Gast)


Lesenswert?

Ich denke dass die xmegas in Zukunft beliebter werden. Schon alleine 
weil einige Typen mit USB erweitert werden.

von Daniel B. (scheinleistung)


Lesenswert?

SInd ja uach presilich sehr interessant, obwohl wie oben erwähnt, dann 
auch der ARM Cortex eingestezt werden könnte.

Ist eigentlich etwas bekannt ob es hier auch noch ein Tutorial zu den 
XMEGAS geben wird (so ein schönes wie das AVR Tutorial)?

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.