Forum: Mikrocontroller und Digitale Elektronik PWM IC gesucht: 8bit parallel->PWM?


von Lars (Gast)


Lesenswert?

Hallo,

ich bin auf der Suche nach einem IC, was aus 8 Bit parallel eine PWM 
generiert. Gibt es sowas?
Möchte also nach einem Registerbaustein mit wenig Aufwand eine PWM 
generieren da die Controller ja immer nur so wenige PWM Ausgänge haben.

Viele Grüße,
Lars

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


Lesenswert?

Wie schnell muß deine PWM sein?
Wäre evtl. eine Soft-PWM möglich?

von Frank M. (aktenasche)


Lesenswert?

wuerde da nicht auch ein parallel in serial out schieberegister reichen?

von JoergL (Gast)


Lesenswert?

Lars schrieb:
> ich bin auf der Suche nach einem IC, was aus 8 Bit parallel eine PWM
> generiert. Gibt es sowas?

Bin ich auch schon lange erfolglos am Suchen.
Habs dann mit einem CPLD realisiert.

HTH,
Jörg

von Wilhelm F. (Gast)


Lesenswert?

Lars schrieb:

> ich bin auf der Suche nach einem IC, was aus 8 Bit parallel eine PWM
> generiert. Gibt es sowas?

Es gab doch mal die integrierten Peripheriebausteine in alten 
Prozessorsystemen. Z.B. die Timer Intel 8253 oder 8254. Die hatten auch 
einen PWM-Mode. Irgendwie muß man aber die Daten dort hinein bekommen. 
Haben aber eine parallele 8-bit-Datenschnittstelle. Die PWM ist dort 16 
bit breit. Nur das High-Byte beschreiben würde ja unter Umständen schon 
reichen. Leider muß man da vorweg zusätzlich noch ein Kontrollwort 
hinein schreiben, für den Betriebsmode. Aber sonst, läuft dieser 
Baustein mit der PWM dann von ganz alleine. Einen Takt braucht er noch.

Ich befürchte, das hilft dir jetzt nicht wirklich.

von Lars (Gast)


Lesenswert?

Ui, so viele Antworten in so kurzer Zeit!

Also Soft-PWM wollte ich nicht machen obwohl es von der Frequenz sicher 
reichen würde aber ich möchte den Controller und das Programm für andere 
Sachen nicht belasten. Mein Grundaufbau war daher so geplant, dass ich 
vom Controller ein Datenpaket zu einem bzw. beliebig viele 
Speicherregister sende und die mir dann dauerhaft und autonom über das 
gesuchte IC x eine PWM generieren bis ich neue Instruktionen sende. 
Sogesehen müsste ja ein Parallel to Seriell genau das tun ;-)
Jetzt ist nur die Frage welches IC würde da passen? Ich wollte ein 
74hc595 Register nehmen.

von whatthe (Gast)


Lesenswert?

mittels da wandler, komparator und sägezahngenerator realisierbar wenns 
eher hw lastig sein soll

von (prx) A. K. (prx)


Lesenswert?

Lars schrieb:

> da die Controller ja immer nur so wenige PWM Ausgänge haben.

Nur wenn man ungeeignete nimmt. Reichen dir 14 Timer mit insgesamt 33 
PWM-Ausgängen (STM32F103Z)?

von Lars (Gast)


Lesenswert?

Ja, sowas hatte ich auch schon gefunden, hatte aber gehofft das es sowas 
fertig gibt.
Die Lösung mit dem Parallel to Seriell ist vielleicht doch nicht so gut 
da ich so ja nur 8 verschiedene Pulsbreiten generieren kann. Das ist 
dann doch ein wenig wenig.

von Michael H. (michael_h45)


Lesenswert?

Nimm drei 74193 und einen Taktgenerator.
Die ersten zwei machen dir das Tastverhältnis der PWM, der dritte läuft 
bis 255 und setzt dir die PWM zurück.

Fertig.

von (prx) A. K. (prx)


Lesenswert?

Wenn du das unbedingt zu Fuss machen willst: Pro PWM ein 8-Bit Register 
(574) und einen 8-Bit Komparator (682). Und für alle zusammen einen 
8-Bit Zähler (590).

von edgar S. (hbl333)


Lesenswert?

Es gab mal so ein IC von IXYS. 8 Bit Parallel in , PWM aus.
IXDP610 das war aber ziemlich teuer.

von (prx) A. K. (prx)


Lesenswert?

Alternativ für 16 PWMs 5+2 ICs: 2x Dualport-Speicher (870), 1x 8-Bit 
Komparator (682), 2x adressierbares Latch (259). Und für alles Zusammen 
1x 8-Bit Zähler (590) und 1x 4-Bit Zähler (163).

von Timm T. (Gast)


Lesenswert?

Es gibt sowas als I2C-Baustein, aber mit nur 64 bit PWM auf 8 oder 16 
Kanälen.

Mit 8 bit und parallelem Eingang hätte ich das auch gern. ;-)

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


Lesenswert?


von Lars (Gast)


Lesenswert?

Hallo Edgar,

sowas wärs gewesen ;-(, schade das es das nicht mehr gibt.

von Wilhelm F. (Gast)


Lesenswert?

@Lars:

Und den 82C54 ziehst du immer noch nicht in Betracht???

von edgar S. (hbl333)


Lesenswert?

Habe gerade mal nachgesehen, das Datenblatt gibt es bei ixys.com noch.
Frag doch mal an!
MfG

von Harald M. (mare_crisium)


Lesenswert?

@Lars,

wo, wie's Wilhelm sagt geht's. Nur musst Du statt des "8-bit magnitude 
comparator" (74 688) zwei "4-bit magnitude comparator" (74 85) nehmen: 
Die haben je drei getrennte Ausgänge für "kleiner als", "gleich" und 
"grösser als". Die beiden Bausteine kaskadierst Du (wie das geht, steht 
im Datenblatt von www.nxp.com). Der "kleiner als"-Ausgang des zweiten 74 
85 liefert dann direkt das PWM-Signal. Das Datenwort, das das 
Tastverhältnis steuert, kannst Du per SPI in ein Schieberegister (74 
595) oder per TWI in einen "remote 8-bit I/O-expander" (PCF8574A) 
schreiben

Einen Taktgenerator brauchst Du natürlich auch (z.B. 555 mit 
Hühnerfutter). -Alles in allem kriegst Du's mit 4 SMD-ICs (plus 1 
zentralen Taktgenerator) pro PWM-Ausgang hin.

mare_crisium

von MCUA (Gast)


Lesenswert?

>ich bin auf der Suche nach einem IC, was aus 8 Bit parallel eine PWM
>generiert. Gibt es sowas?
Das wird es wohl nicht geben (und wenn, dann ist es uralt).
Denn wenn man sowas braucht, nímmt man norm. ein uC mit spez PWMs dafür. 
(TTL-Grab , CPLD, FPGA geht nat. auch, aber ist aufwändiger)

von Klaus (Gast)


Lesenswert?

edgar schachler schrieb:
> Es gab mal so ein IC von IXYS. 8 Bit Parallel in , PWM aus.
> IXDP610 das war aber ziemlich teuer.

In einem kleinen µC nachbauen ?

MfG Klaus

von (prx) A. K. (prx)


Lesenswert?

Harald M. schrieb:

> wo, wie's Wilhelm sagt geht's. Nur musst Du statt des "8-bit magnitude
> comparator" (74 688) zwei "4-bit magnitude comparator" (74 85) nehmen:

Oder einen 74xx682/684.

von Lars (Gast)


Lesenswert?

Hallo Wilhelm,

doch, doch, ich komme nur bei den vielen Antworten gar nicht hinterher 
;-)
Ich muss auch gestehen das ich jetzt nicht jeden Tag an Schaltungen 
rumlöte und meine letzen Basteleien schon einige Jahre her sind. Daher 
ergeben einige Antworten erst nach diversen Minütchen Recherche einen 
Sinn.

Der 82C54 sollte auch gehen, kostet jetzt auch nicht die Welt. Mir war 
wichtig das dieser Teil der Schaltung einfach und günstig werden soll 
weil ich sonst wirklich einen anderen Controller nehmen werde, der mehr 
PWM Kanäle bietet.

Ich werde mir heute abend mal das Datenplatt genauer anschauen.

Viele Grüße,
Lars

von Harald M. (mare_crisium)


Lesenswert?

... wenn Du nicht mehr als einen SMD-IC pro PWM-Ausgang haben willst, 
ist vielleicht der hier interessant:

http://www.nxp.com/documents/data_sheet/PCA9531.pdf

Ciao,

mare_crisium

von Wilhelm F. (Gast)


Lesenswert?

Lars schrieb:

> Der 82C54 sollte auch gehen, kostet jetzt auch nicht die Welt.

Ich setzte den 82C54 mal in einem alten busorientierten µP-System mit 
dem legendären Intel 8085 ein. Der lieferte mir dort an einem externen 
Interruptpin ein exaktes Zeitsignal. Der 8085 hatte keinen integrierten 
Timer.

Das elegante war eben, daß der Baustein ganz von alleine läuft, wenn er 
einmal mit Kontrollwort und Daten initialisiert ist.

Und dann hat er auch noch 3 Timer zu je 16 bit, die man unterschiedlich 
konfigurieren kann. Notfalls alle 3 als PWM.

Auch wenn das Zeugs eigentlich uralt ist, um nicht zu sagen, über 30 
Jahre.

Man könnte zwar mal glauben, daß der Baustein irgendwann endgültig 
abgekündigt wird. Manche aus der 82xx-Reihe halten sich aber noch gut. 
Modernere Bausteine wurden schon nach 5 Jahren abgekündigt. Da steckt 
man nicht dahinter. Aber Bewährtes geht weiter.

von Lars (Gast)


Lesenswert?

Danke, das scheint mir auch sehr interessant zu sein! Werde ich mir auch 
mal durchlesen bzw. einfach mal bestellen.

von MCUA (Gast)


Lesenswert?

> Der 82C54 sollte auch gehen, kostet jetzt auch nicht die Welt.
Für das Geld wäre ein CPLD viel besser. Ausserdem hat der 82C54 max nur 
8 MHz.

von Wilhelm F. (Gast)


Lesenswert?

MCUA schrieb:

> Für das Geld wäre ein CPLD viel besser. Ausserdem hat der 82C54 max nur
> 8 MHz.

Vielleicht reichen ihm die 8 MHz. Ein CPLD ist aber auch durchaus 
interessant.

von Michael H. (michael_h45)


Lesenswert?

Ein Gattergrab oder nochmehr ein CPLD hätten einen schönen Lerneffekt...
Wenn du die Zeit hast, nimm beides. Das CPLD zum ersten Verzweifeln, den 
Gatterhaufen für den fertigen Aufbau =)

von Falk B. (falk)


Lesenswert?

@  Lars (Gast)

>Also Soft-PWM wollte ich nicht machen obwohl es von der Frequenz sicher
>reichen würde aber ich möchte den Controller und das Programm für andere
>Sachen nicht belasten.

Hat dir deine Mutti nicht beigebracht, Fragen nicht mit Gegenfragen zu 
beantworten? Lies was über Netiquette und bring mal Butter bei die 
Fische!

PWM-Frequenz?
Auflösung?


>Speicherregister sende und die mir dann dauerhaft und autonom über das
>gesuchte IC x eine PWM generieren bis ich neue Instruktionen sende.

Dafür gibt es einige I2C ICs von NXP.

>Sogesehen müsste ja ein Parallel to Seriell genau das tun ;-)
>Jetzt ist nur die Frage welches IC würde da passen? Ich wollte ein
>74hc595 Register nehmen.

Wozu? Willst du mehrere hundert kHz Updaterate? Wenn nein, nimm was 
serielles, das spart IO-Pins.

MfG
Falk

von Michael A. (Gast)


Lesenswert?

Harald M. schrieb:
> ... wenn Du nicht mehr als einen SMD-IC pro PWM-Ausgang haben willst,
> ist vielleicht der hier interessant:
> http://www.nxp.com/documents/data_sheet/PCA9531.pdf

Der PCA9531 hat allerdings den Nachteil, das für 8 Kanäle nur 2 
PWM-Generatoren vorhanden sind. Besser geeignet ist vielleicht mit I2C 
der PCA9634 (echte 8-Kanäle) oder mit echten 16-Kanälen PCA9635 (96 kHz) 
bzw. PCA9685 (1kHz)

von Karl H. (kbuchegg)


Lesenswert?

TLC5947

Ist zwar eigentlich ein LED-Treiber, aber im Grunde ist das auch nichts 
anderes als 24-PWM Kanäle mit 12 Bit Auflösung und einstellbarem 
Ausgangsstrom.

Wird allerdings wie ein Schieberegister angesprochen.

von Lars (Gast)


Lesenswert?

Hallo,

ich möchte mich für die vielen konstruktiven und hilfreichen Antworten 
bedanken und werde einige Bauteile mal ordern und damit ein wenig 
rumexperimentieren.

Viele Grüße,
Lars

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.