Forum: Mikrocontroller und Digitale Elektronik MSP430 PWM auf an zwei Pins


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von msp430pwm (Gast)


Lesenswert?

Hallo,

ich benutze den Timer eines MSP430F2012 als PWM. Das funktioniert auch
schön. Ich müßte aber den Ausgang des PWM wahlweise jetzt auf zwei
unterschiedliche Pins legen können(SW gesteuert).

Aus dem Datenblatt und dem User Guide werde ich aber nicht schlau ob das 
überhaupt geht.

Kann mir da bitte jemand helfen ?

Danke

von sdghb (Gast)


Lesenswert?

ich denke dasselbe interne PWM signal kann man nicht auf 2 parallele 
Pins legen, aber was immer geht ist 2 verschiedene pins zB TA0.1 und 
TA0.2 nehmen und eben die entpsrechenden Capture Compare Register 
einfach gleich laden, da das Grundtiming von TimerA bei beiden exakt 
gleich ist, kommen auch die gleichen PWMs am Ende heraus.

von msp430pwm (Gast)


Lesenswert?

Danke für die Antwort.

Genau das ist aber mein Problem.

Ich brauche das Signal nicht gleichzeitig auf zwei Pins, sondern
alternativ auf zwei unterschiedlichen Pins, gesteuert per SW.

Der MSP430F2012 hat aber nur zwei Compareregister die ich brauche
um die Pulsweite zu modulieren. Der Puls kommt jetzt auf TA1 raus.
Was muss ich bitte machen um ihn auf TA0 umzuleiten?

Vielleicht stelle ich mich nur zu doof an.

Danke

von sdghb (Gast)


Lesenswert?

hab jetzt deinen MSP nicht angekuckt, ich weiss nur auf den größeren 
MSPs gibt es ein TA0.0 Register, auf dem geht keine PWM, der beinhaltet 
nur das Grundtiming, also kann da keine PWM ausgegebene werden.
Wenn das bei dir ähnlich ist, kannst du nur eine PWM ausgeben, dann 
musst du zu einem MSP wechseln der eben deine Anforderungen erfüllt.

Oder ganz allgemein gesprochen :) wenn du Auto fahren willst kaufst du 
auch kein Motorrad.

Mit Software kannst du natürlich 2 PWMs erzeugen, sowas kann man immer 
machen.

von Clemens L. (c_l)


Lesenswert?

Der MSP430F2012 kann TA0 nur auf P1.1 und/oder P1.5 ausgeben, und TA1 
nur auf P1.2, P1.6, und/oder P2.6. Es ist also nicht möglich, einen 
TA1-Pin auf einen TA0-Pin umzuleiten.

Du hast P1.2/P1.6/P2.6 zur Auswahl. Wenn davon zwei nicht mehr frei 
sind, brauchst du externe Logik.

von msp430pwm (Gast)


Lesenswert?

Ok, danke an alle für die Erläuterung.

Dachte mir das fast.
Dann muss ich einen anderen Weg finden.

Grüße

von mach doch (Gast)


Lesenswert?

msp430pwm schrieb:
> Der MSP430F2012 hat aber nur zwei Compareregister die ich brauche
> um die Pulsweite zu modulieren. Der Puls kommt jetzt auf TA1 raus.
> Was muss ich bitte machen um ihn auf TA0 umzuleiten?
>
> Vielleicht stelle ich mich nur zu doof an.

Ja, TA1 ist auf mehreren Pins als alternate function verfügbar. Du 
kannst das für jeden der Pins einzeln auswählen. Damit gilt

Clemens L. schrieb:
> TA0 nur auf P1.1 und/oder P1.5
Clemens L. schrieb:
> TA1 nur auf P1.2, P1.6, und/oder P2.6
man beachte *und/oder*

von Jo T. (trilli)


Lesenswert?

ist zwar was älter der thread, aber ich antworte mal trzd.
probier es einfach mit dem zweiten Timer, du hast ja timer a und timer 
b.
dann initialisiert du sie einfach gleich und hast dein signal auf zwei 
unterschiedlichen pins.

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.