Forum: Mikrocontroller und Digitale Elektronik XMEGA - Pinzustand spiegeln


von Stephan (Gast)


Lesenswert?

Guten abend,

ich habe mir eine Platine ätzen lassen, wobei ich einen Fehler gemacht 
habe: Ich habe einen Pin, welcher ein Hardware-PWM-Signal ausgeben soll, 
herausgeführt, welcher jedoch keinem Compare-Register zugeordnet ist 
(PC7). Ein anderer Pin, welcher das kann, liegt noch frei (PC0).

Ich dachte mir, dass ich das Problem so umgehen kann, dass ich per 
Eventsystem den Zustand des einen Pins (PC0) auf den anderen Pin (PC7) 
kopieren kann und so um eine Neufertigung der Platine herumkomme.

Nach einiger Zeit des Einlesens komme ich jedoch nicht weiter. Die Idee 
ist, über
EVSYS_SetEventSource( 0, EVSYS_CHMUX_PORTC_PIN0_gc );
ein Event zu starten und diesen dann auch PC7 zuzuordnen, was mir jedoch 
nicht gelingt, da ich nicht weiss, wie der Befehl hierzu aussieht.

Es wäre schön, wenn jemand einen Dankanstoss liefern könnte.

Gruß,
Stephan

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stephan schrieb:
> ich habe mir eine Platine ätzen lassen, wobei ich einen Fehler gemacht
> habe
Eine Einzelplatine? Ein Prototyp?
Nimm Fädeldraht und gelobe Besserung...   ;-)

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Stephan schrieb:
> Ich dachte mir, dass ich das Problem so umgehen kann, dass ich per
> Eventsystem den Zustand des einen Pins (PC0) auf den anderen Pin (PC7)
> kopieren kann und so um eine Neufertigung der Platine herumkomme.

Keine gute Idee.

von Stephan (Gast)


Lesenswert?

@Lothar Miller
Danke für den Tip

@Knut Ballhause
Danke, wieso ist das eine schlechte Idee?

von Heiko V. (xmegaman)


Lesenswert?

Hallo Stephan,

du hast Glück, dass es Port C ist!
Es gibt hier (und nur hier) noch eine Möglichkeit den Pin PC7 zu nutzen:
Du musst die AWEXC-Einheit (bzw. DTI-Einheit) aktivieren. Du kannst dann 
auf allen 8 Port-Pins PWM machen. Jeweils zwei Pins sind dann immer 
komplementär (invertiert) zueinander. Die DTI-Funktion muss in deinem 
Fall nur für den Kanal D (CCD) aktiviert werden (AWEXC_CTRL). Evtl. noch 
Port-Inverter einschalten und Port-Override (AWEXC_OUTOVEN) sezen.

Hoffe, es hilft weiter...

Gruß
Xmegaman

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Aber Vorsicht, die AWEXC ist ziemlich buggy.

von Heiko V. (xmegaman)


Lesenswert?

Knut Ballhause schrieb:
> Aber Vorsicht, die AWEXC ist ziemlich buggy.

Meinst du "Configuration of PGM and CWCM not as described in XMEGA A 
Manual", oder gibt es noch weitere Errata bzgl. AWEX ?

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.