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
wuerde da nicht auch ein parallel in serial out schieberegister reichen?
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
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.
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.
mittels da wandler, komparator und sägezahngenerator realisierbar wenns eher hw lastig sein soll
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)?
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.
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.
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).
Es gab mal so ein IC von IXYS. 8 Bit Parallel in , PWM aus. IXDP610 das war aber ziemlich teuer.
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).
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. ;-)
Ich würde ein CPLD nehmen... Oder ein kleines FPGA für 4€: http://de.farnell.com/lattice-semiconductor/lcmxo256e-3tn100c/cpld-256-luts-78-i-o-100tqfp/dp/1571954 Und da würden auch sehr viele PMWs reinpassen: http://de.farnell.com/xilinx/xc3s50an-4tqg144c/fpga-spartan-3an-1728zellen-144tqfp/dp/1605840
Hallo Edgar, sowas wärs gewesen ;-(, schade das es das nicht mehr gibt.
@Lars: Und den 82C54 ziehst du immer noch nicht in Betracht???
Habe gerade mal nachgesehen, das Datenblatt gibt es bei ixys.com noch. Frag doch mal an! MfG
@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
>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)
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
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.
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
... 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
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.
Danke, das scheint mir auch sehr interessant zu sein! Werde ich mir auch mal durchlesen bzw. einfach mal bestellen.
> 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.
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.
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 =)
@ 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
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)
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.