Forum: Mikrocontroller und Digitale Elektronik PWM-Signal erzeugen


von Markus C. (cano)


Lesenswert?

Hallo,

ich benötige ein PWM-Signal, das von der Pulsweiten nur zwischen zwei 
Werten wechselt.
Signal A=0: PWM 25% ein und 75% aus
Signal A=1: PWM 75% ein und 25% aus
Ich würde das PWM-Signal gerne mit einem Mikrocontroller erzeugen.
(Ich arbeite mit einem Teensy 3.6, 180 MHz ARM-Cortex-M4  )

Problem: die PWM-Frequenz ist 14 MHz.

Frage:
Ist das mit einem Controller zu schaffen? Oder ist die Frequenz zu hoch?
Baue ich besser ein externes Schaltwerk?

Grüße Markus

von Flo (Gast)


Lesenswert?

Datasheet ARM Cortex-M4:
http://www.st.com/content/ccc/resource/technical/document/datasheet/98/9f/89/73/01/b1/48/98/DM00035129.pdf/files/DM00035129.pdf/jcr:content/translations/en.DM00035129.pdf

S. 41, 2.2.35 General-purpose input/outputs (GPIOs):
"... Fast I/O handling allowing maximum I/O toggling up to 84 MHz."

von Dennis K. (scarfaceno1)


Lesenswert?

Die Frage nach den Pulweiten Verhältnissen ist doch vollkommen 
unabhängig von der Frequenz.

Ich kann das Verhältnis von 25ns zu 75ns erzeugen und auch 25s zu 75s .

Da spielt doch die Frequenz keine Rolle. Das Verhältnis bleibt gleich.
Ich hab auch kein vernünftiges Datenblatt auf die Schnelle gefunden.
Vielleicht schaust du dort mal unter Timer und Prescaler nach...

Ein Link zum Datenblatt würde weiteren Helfern auch unter die Arme 
greifen.

Scarface

von Falk B. (falk)


Lesenswert?

@ markus c. (cano)

>ich benötige ein PWM-Signal, das von der Pulsweiten nur zwischen zwei
>Werten wechselt.
>Signal A=0: PWM 25% ein und 75% aus
>Signal A=1: PWM 75% ein und 25% aus
>Ich würde das PWM-Signal gerne mit einem Mikrocontroller erzeugen.
>(Ich arbeite mit einem Teensy 3.6, 180 MHz ARM-Cortex-M4  )

Sonst hast du keinen größeren?

>Problem: die PWM-Frequenz ist 14 MHz.

Was ist das für eine PWM? Anwendung?

14 MHz PWM mit 1/4 der Periode auflösen heißt, daß man 56 MHz Systemtakt 
braucht.

>Ist das mit einem Controller zu schaffen?

Ja, aber nicht mit jedem.

> Oder ist die Frequenz zu hoch?

Nein.

>Baue ich besser ein externes Schaltwerk?

Naja, Eigentlich ist das ein einfacher 2-Bit Zähler, bei dem der Zustand 
3 ausdekodiert wird, dafür gibt es diverse TTL/CMOS ICs. Ein 32-Bit ARM 
irgendwas ist das totaler Overkill. Ein kleiner ATtiny24 reicht auch, 
denn der kann einen seiner Timer per PLL mit bis zu 64 MHz takten.

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.