Hallo, Ich muss in meinem aktuellen Projekt eine große Anzahl PWM Kanäle bei hoher Frequenz >1kHz bereitstellen. Zu erst waren die atmel Xmega's geplant, die ja jeder 16x16bit haben. Leider musste ich noch wärend der Threorie Phasen eingstehen, das die viel zu langsam sind und nicht mal annähernd an 1kHz herankommen. Ich habe schon öfter von FPGA und CPLD's gelesen, und wenn ich das richtig verstanden habe dann ist es möglich mit diesen nahezu jede beliebinge Digitale Schaltung in einem Chip zu realisieren, oder ? Da sollte es doch kein Problem sein, einen 16bit Zähler und ein paar komperatoren zu verwirklichen ? Da ich jedoch leider noch nie mit FPGA/CPLD's gearbeitet habe muss ich mich erst noch einlesen, weshalb ich nach guten turorials suche. Da es mir jedoch nicht möglich ist ein BGA Package zu löten ist die Auswahl hier recht klein. Die Daten sollen per SPI von einem kleinen atmega in den CPLD geschoben werden. Mal angenommen ich nehme diesen FPGA: http://www.reichelt.de/GALs-PALs/XC3S-50-TQ144/3/index.html?;ACTION=3;LA=446;ARTICLE=70655;GROUPID=2955;artnr=XC3S+50+TQ144 Währe es dann möglich mit diesem rund 90 PWM Kanäle @ 1kHz mit 16bit zu erzeugen ? Ich habe mal gelesen das bei einem FPGA das "programm" nach dem Start jedesmal wieder in den Chip geladen werden muss. Ist das mit einem atmega machbar ? Bei CPLD's bleibt das "programm" anscheinend auch ohne Strom erhalten. Sind CPLD's dafür schnell genug ? MFG Thalhammer
Dominik Thalhammer schrieb: > Da ich jedoch leider noch nie mit FPGA/CPLD's gearbeitet habe muss ich > mich erst noch einlesen, weshalb ich nach guten turorials suche. > Da es mir jedoch nicht möglich ist ein BGA Package zu löten ist die > Auswahl hier recht klein. > Die Daten sollen per SPI von einem kleinen atmega in den CPLD geschoben > werden. > Mal angenommen ich nehme diesen FPGA: > http://www.reichelt.de/GALs-PALs/XC3S-50-TQ144/3/index.html?;ACTION=3;LA=446;ARTICLE=70655;GROUPID=2955;artnr=XC3S+50+TQ144 > Währe es dann möglich mit diesem rund 90 PWM Kanäle @ 1kHz mit 16bit zu > erzeugen ? Würde gehen, wobei im TQ144-Gehäuse maximal 97 I/Os zur Verfügung stehen. Könnte also mit SPI und Clockeingang knapp werden. > Ich habe mal gelesen das bei einem FPGA das "programm" nach dem Start > jedesmal wieder in den Chip geladen werden muss. > Ist das mit einem atmega machbar ? Ja, das wäre machbar. Einfacher wäre aber wohl ein kleines Flashrom, welches automatisch bei jedem Start die Konfiguration überträgt. Bedenke: maximal 3,3V beim FPGA. 5V nur über Pegelwandler... > Bei CPLD's bleibt das "programm" anscheinend auch ohne Strom erhalten. > Sind CPLD's dafür schnell genug ? CPLD und FPGA sind verschiedene Bauelemente, aber für deine Anwendung schnell genug. Gruß, Thomas
Mit nem normalen CPLD wirst du dabei aber an die Grenzen stoßen. Für 90 PWM a 16 Bit brauchst du alleine für die Komparatoren 1440 Register. Dazu kommt dann noch der Counter mit 16 Registern und das SPI und dann nen entpsrechenden fetten Multiplexer, der die die Daten des SPI auf das jeweilige Komparatorregister schaltet. Also der von dir vorgeschlagene Typ könnte gehen, aber viel Luft nach oben hast dann nicht mehr. Schau dir mal von Lattice den XP2 an. Den gibt es mit 5k LUT im TQPF 144 Package. 100 IOs und 5000 Register UND du brauchst kein externes Boot-Device. Der scheint mir für deine Anwendung geeigneter zu sein. Kostet im Lattice Online Store 13 USD
Thomas T. schrieb: > a, das wäre machbar. Einfacher wäre aber wohl ein kleines Flashrom, > welches automatisch bei jedem Start die Konfiguration überträgt. > Bedenke: maximal 3,3V beim FPGA. 5V nur über Pegelwandler... 3.3V sind nicht das Problem, da meine AVR's auch mit 3.3V laufen. >Schau dir mal von Lattice den XP2 an. Den gibt es mit 5k LUT im TQPF 144 >Package. 100 IOs und 5000 Register UND du brauchst kein externes >Boot-Device. Mach ich auf jeden Fall. Habt ihr vielleicht einen Link auf ein gutes Devboard, das nicht zu teuer ist ? Denn alle die ich gesehen habe haben jede Menge sachen drauf die ich garnicht brauche(Ethernet/USB usw.). Also das meine Grundüberlegung funktionierd finde ich schon mal gut. Welche Frequenz/Auflösung währe da denn maximal drin ? Also Auflösung @1kHz oder Frequenz@16bit , nur damit ich das ein wenig abschätzen kann.
Wenn du dich für nen XP2 von Lattice entscheidest, dann käme vielleicht dieses Board in Frage: http://www.latticesemi.com/products/developmenthardware/developmentkits/xp2brevia2developmentkit.cfm Mit der Einschränkung, dass dir nur 40 IOs zur Verfügung stehen (Als Pfostentecker). Aber zum Ausprobieren sollte das ja reichen. Wenn du den Chip dann wirklich verwenden willst, musst du aber bedenken, dass du dann noch eine Zusätzliche 1,2V Versorgung für den Core brauchst. Das ist aber bei den meisten FPGAs so. Abschätzung des Speeds: 1 kHz PWM mit 16 Bit Auflösung: 1 kHz * 2^16 = 65,5 MHz Dein Counter muss also mit 65,5 MHz laufen. Das ist eine Geschwindigkeit, die mit einem FPGA problemlos machbar ist.
Also das Board sieht gut aus. Da mir der preis auch zusagt werde ich das Teil woll mal bestellen. Giebts auser den verschiedenen Spannungen noch was zu beachten ?
Dominik Thalhammer schrieb: > Giebts auser den verschiedenen Spannungen noch was zu beachten ? Na ja beim Board selber denke ich nicht, was deine Anwendung angeht. Aber wenn du noch nie was mit VHDL gemacht hast, dann wirst du sicher noch über viele Hürden müssen, bis das dann alles funktioniert :-)
Statt dem XP2 würde ich den MachXO2-7000 vorschlagen. das MachXO2 Breakout Board ist jetzt damit bestückt: http://www.latticesemi.com/products/developmenthardware/developmentkits/machxo2breakoutboard.cfm Auf dem Board stehen mehr als 100 pins des FPGAs auf den Pfostenleisten zur Verfügung.
Lattice User schrieb: > Statt dem XP2 würde ich den MachXO2-7000 vorschlagen. da ist aber der 1200er bestückt und in den werden seine 90 PWM´s auch nicht reinpassen. Aber klar, das Board ist sicher auch eine gute Alternative, um mal in die Thematik den Einstieg zu bekommen.
Schlumpf schrieb: > > da ist aber der 1200er bestückt und in den werden seine 90 PWM´s auch > nicht reinpassen. Seit Januar ist der 7000er bestückt.
Lattice User schrieb: > Seit Januar ist der 7000er bestückt. Fett :-) Dann würde ich auf jeden Fall auch dieses Board nehmen!
Dominik Thalhammer schrieb: > Habt ihr vielleicht einen Link auf ein gutes Devboard, das nicht zu > teuer ist ? Schau dir mal dies hier an: HWD-LFXP3C für 19,04€ Findest du hier: http://www.hardware-design.de/restposten.html Hab ich auch und man hat jetzt nicht soviel Schnick-Schnack drauf. Gruß Steffen
Das Board von Steffen ist sicher ein absolutes Schnäppchen. Nur brauchst du bei dem noch einen Programmer, während du bei den anderen direkt mit nem USB-Kabel ran kannst. Wenn du aber eh irgendwann den Chip selber auf deiner Leiterplatte setzen willst, dann brauchst da auch ein Programmierkabel. Daher wäre das nur eine vorgezogene Anschaffung. Das Board von Steffen ist mit einem FPGA bestückt, der leider schon sehr alt ist. Was aber nicht heißen soll, dass man damit nicht arbeiten kann. Wie du siehst, gibt es einige Möglichkeiten.
Schlumpf schrieb: > Nur brauchst du bei dem noch einen Programmer Der ist schnell selber gebaut, zumindest wenn man noch irgenwie einen LPT zur Verfügung hat. Hab gerade geschaut, hab noch eine selbergeätzte LP eines Lattice ISP da.
Steffen H. schrieb: > Der ist schnell selber gebaut, zumindest wenn man noch irgenwie einen > LPT zur Verfügung hat. Also nen LPT hab ich nicht mehr, aber da das ganze ja über JTAG programmiert wird finden sich bestimmt selbstbauprojekte mit nem kleinen Atmel aus der Bastelkiste, die dann mit USB oder zumindest RS232 gehen. Die verschiedenen Board's schau ich mir mal an, aber ob 20€ plus selbstbauadapter oder 50$ mit onboard adapter macht jetzt auch nicht den großen Unterschied. Mit günstig meinte ich eigentlich so <75€, weil alles was ich gefunden hab hatte MINDESTENS Ethernet und USB, teilweise LVDS und ne menge anderen Krimskrams den ich nicht brauchen kann. Eine Frage hab ich aber noch: Welchen Strom können die I/O's der Xillinix FPGA's liefern ? Bei den Atmels sind es ja bekanntlich 20mA pro I/O oder 200mA pro Port, aber bei den FPGA's konnt ich beim überfliegen des Datenblatts nichts finden.
Dominik Thalhammer schrieb: > Welchen Strom können die I/O's der Xillinix FPGA's liefern ? Willst jetzt also doch zurück zu Xilinx? Wieviel der liefern kann, weiss ich auch nicht. Aber wenn du mal 90 PWMs hast, die beim Nulldurchgang alle gleichzeitig schalten, dann würde ich dir empfehlen, den Strom gering zu halten. Sonst kann es passieren, dass dein FPGA nicht schnell genug "nachschieben" kann und das kann unschöne Effekte auf dem Board haben. Weiterhin darfst du natürlich den Summenstrom für eine Bank nicht überschreiten.
Schlumpf schrieb: > Willst jetzt also doch zurück zu Xilinx? Ne hab mich vertan, meinte natürlich die von Lattice.
Lattice User schrieb: > Statt dem XP2 würde ich den MachXO2-7000 vorschlagen. > das MachXO2 Breakout Board ist jetzt damit bestückt: > > http://www.latticesemi.com/products/developmenthar... > > Auf dem Board stehen mehr als 100 pins des FPGAs auf den Pfostenleisten > zur Verfügung. und ich hab das vor ein paar Monaten noch von Hand umgelötet...
Dominik Thalhammer schrieb: > Eine Frage hab ich aber noch: > Welchen Strom können die I/O's der Lattice FPGA's liefern ? Bei LVCMOS33 einstellbar von 4-24 mA pro Pin. Aber zwischen je 2 GND Pins darf die Summe n*8 mA sein, wobei n die Zahl der Pins zwischen den GND ist. Also ganz allgemein, bei vielen Outputs maximal 8 mA pro Output. Wie auch schon Schlumpf oben erwähnt, alle gleichzeitig zu schalten ist kritisch. Im Diamond gibt es Tools zur Power und SSO Analyse. (SSO = Simultanous Switching Outputs). Bei 90 PWMs ist es sinnvoll diese alle Phasenverschoben anzusteuern, macht sich sicher auch bei der Störabstrahlung der nachgeschalteten Schaltung positiv bemerkbar. Was ist das eigentlich, 90 Motoren oder 90 LEDs?
Dominik Thalhammer schrieb: > Ich muss in meinem aktuellen Projekt eine große Anzahl PWM Kanäle bei > hoher Frequenz >1kHz bereitstellen. Wie unabhängig sind die? Braucht jede PWM ihren eigenen Zähler, oder brauchst du nur 1 Zähler und viele Komparatoren? Schlumpf schrieb: > Dazu kommt dann noch der Counter mit 16 Registern Bei 90 angechlossenen Koparatoren wird der Synthesizer diesen Zähler aber von sich aus verdoppeln (Stichworte Fan-Out und Register-Doubling). Zudem werden auch noch die Speicherflipflops zum Speichern der Vergleichswerte benötigt, dazu der SPI-Slave und eine FSM, die die Werte passend verteilt. Also werden in der Summe schon 3k Flipflops (zusammen mit ihrer LUT auch LE genannt) benötig, die dann zudem noch verdrahtet werden müssen (Routing)... Und dann noch die Taktfrequenz: 16Bit PWM bei 1kHz ergibt eine Taktfrequenz von 65MHz quer übers ganze FPGA. Das kann einen Anfänger shcon mal herausfordern... > Mit nem normalen CPLD wirst du dabei aber an die Grenzen stoßen. Es ist tatsächlich absurd, hier über ein CPLD überhaupt nachzudenken... ;-)
Dominik Thalhammer schrieb: > Es Handelt sich um 30 RGB LEDs. > die brauchen nur einen Zähler. Dann hast du aber keinen Phasenversatz und damit recht viele gleichzeitig schaltende Ausgänge.. > Welchen Strom können die I/O's der Xillinix FPGA's liefern ? Das steht im Datenblatt. > Bei den Atmels sind es ja bekanntlich 20mA pro I/O oder 200mA pro Port, Das ist der Wert, der bei "Absolute Maximum Ratings" steht. Damit rechnet man nicht, sondern man bleibt möglichst weit davon weg! BTW: die 200mA sind doch recht kurios, weil ja ein Port nur 8 Pins hat. Und 8*20mA sind... :-o Also: schlag dir die Idee aus dem Kopf, die 90 LEDs direkt ans FPGA zu klemmen. Selbst wenn das FPGA es könnte: dein Layout wird es nicht können...
Dominik Thalhammer schrieb: > Es Handelt sich um 30 RGB LEDs. > die brauchen nur einen Zähler. Und ist es da tatsächlich notwendig, jede LED einzeln und dann auch noch mit 16 Bit pro Farbe anzusteuern?
Irgenwie scheinen mir deine Anforderungen ein wenig an den Haaren herbeigezogen zu sein.. Warum 1kHz PWM-Frequenz? Gibt es dafür eine Notwendigkeit, oder hast du Angst, dass man bei niedrigeren Frequenzen ein Flackern sehen könnte?
Wie hell sollen denn diese LEDs wirklich leuchten? ich habe mal eine einzelne RGB Led mit PWM vom FPGA angesteuert. Und zwar direkt, d.h. PIN -> LED -> 300 Ohm -> 3.3V. Das sind je nach Farbe ca 1-2 mA pro EinzelLED und war bereits bei voll aufgedrehter PWM viel zu hell für einen Betrachtungsabstand von 1-2 m.
Dominik Thalhammer schrieb: > Es Handelt sich um 30 RGB LEDs. > die brauchen nur einen Zähler. Und jede Farbe in 65536 Stufen dimmen? Halte ich für etwas übertrieben. Du solltest vielleicht das gesamte Vorhaben überdenken. Mein Vorschlag: Die RGB-LEDs mit integriertem Controller (WS2811/WS2812) und dazu ein kleiner AVR, der von SPI ins WS28xx-Protokoll wandelt. Die WS2811/12-LEDs haben zwar nur 8 Bit pro Farbkanal, aber wirklich unterscheiden kann man die Mischfarben dann auch nicht mehr. Der AVR müsste auch nicht gerade sehr viel können... Du hättest eigentlich nur Vorteile: * Einfachere Verdrahtung * Einfachere (schnellere) Programmierung * Einfachere Spannungsversorgung (5 Volt für die LEDs) Gruß, Thomas
Ja die 90 Led's müssen sein, Nein sie werden nicht direkt angeschlossen sondern über Transistoren, Ja die 16bit müssen sein,(ergeben nach Gammakorrektur 8bit) Ja die 1kHz müssen sein, da ich festgestellt hab, das es bei 500Hz und niedrigen werten schon recht stark flackert(probiert auf einem atxmega32a4@32Mhz--->~488 Hz PWM Frequenz) Ja ich will ein FPGA verwenden, um mich damit vertraut zu machen und um sowas mal auszuprobieren. Nein ich verwende keine Einzelnen LED's sondern Solche LED STreifen zum aufkleben. Die 30 RGB Kanäle brauche ich auch, da die LED's über einen ganzen Raum verteilt werden und gleichzeitig als Beleuchtung und Partylicht dienen, das ich möglichst genau einstellen können will, ausserdem ist es mal ein interressantes Projekt.
Na du hast dir ja die Gründe für deine Anforderungen gut überlegt. War ja nur ne Frage, weil viele hier einfach was fordern und sich nicht bewusst sind, dass das total überzogen ist. Aber wenn deine LEDs bei 500 Hz sichtbar flackern, dann musst du eben mit 1kHz ran. Meine Augen sind nicht so schnell, aber da ist sicher jeder anders. Ja, dann sind ja deine Fragen eigentlich beantwortet, und du kannst loslegen. Ich denke, dass wir wieder von dir lesen werden, wenn es ans synthetisieren geht und dein SPI mal tut und mal nicht tut ;-) Aber wenn es dir darum geht, in eine neue Technik einzusteigen, dann ist dieses Projekt sicher kein schlechter Einsteig in die FPGA-Welt. Viel Spass beim Basteln!
Dominik Thalhammer schrieb: > da die LED's ... als Beleuchtung und Partylicht dienen Dafür brauchst du niemals 65535 Helligkeitsstufen. Die bräuchtest du nämlich nur dann, wenn du damit fotorealistische Bilder oder Videos darstellen müsstest, wo es auf jede kleine Grünschattierung (z.B. auf einer schönen Almwiese) oder auf das hübsche Azurblau des Himmels (z.B. beim Strandurlaub) ankommen würde. Sowas also: http://www.fotocommunity.de/pc/pc/display/18558036 Und sowas: http://www.fotocommunity.de/pc/pc/display/24947099 Kurz: es ist ein hübsches Projekt, aber für eine Raumbeleuchtung maximaler technischer Overkill.
Dominik Thalhammer schrieb: > Nein sie werden nicht direkt angeschlossen sondern über Transistoren, > Ja die 16bit müssen sein,(ergeben nach Gammakorrektur 8bit) Verstehe ich das richtig, daß Du den Duty-Cycle in Schritten à 15ns (1 / (65536*1kHz) ) auflösen willst? Sind die Transistoren dafür schnell genug? Kann mich ja täuschen, aber ich habe da scheußlich verschliffene Oszi-Bilder von zu hoch getakteten PWM-Motortreibern im Kopf...
Lothar Miller schrieb: > Kurz: es ist ein hübsches Projekt, aber für eine Raumbeleuchtung > maximaler technischer Overkill. Vielleicht, aber für die mehrfeatures meiner meinung nach durchaus ok, denn bei einer Normalen Lösung (8bit PWM lässt sich ja leicht in Software auf nem AVR realisieren) bräuchte ich auch mindestens 2 avr's, alleine schon wegen der Pins und preislich geben sich 2x AVR vs FPGA + avr nicht viel, sodass ich lieber die Lösung mit FPGA nehm und dafür dann im AVR ein Interface mit jeder Menge Schnittstellen basteln kann(beim kleinsten Xmega schon 5xRS232, 2xI2C und 2xSPI(von denen einer für den FPGA drauf geht.). An den zweiten SPI häng ich dann ne SDCard mit vordefinierten Farbverläufen usw, an einen UART kommt die Hausautomation usw.
> Sind die Transistoren dafür schnell genug? > Kann mich ja täuschen, aber ich habe da scheußlich verschliffene > Oszi-Bilder von zu hoch getakteten PWM-Motortreibern im Kopf... Mir würden dazu dann noch ein paar hässlich gerunzelte Stirnfalten im EMV-Labor einfallen... Dominik Thalhammer schrieb: > und preislich geben sich 2x AVR vs FPGA+ avr nicht viel Dass du dir da mal nicht irgendwas schönrechnest. Aber fürs Hobby muss man nicht immer aufs Geld schauen...
Bronco schrieb: > Verstehe ich das richtig, daß Du den Duty-Cycle in Schritten à 15ns (1 / > (65536*1kHz) ) auflösen willst? > Sind die Transistoren dafür schnell genug? Also laut Datenblatt machen die von mir eingeplanten BC817 min. 100MHz mit, sollte also kein Problem sein. (Quelle:http://www.nxp.com/documents/data_sheet/BC817_BC817W_BC337.pdf Seite 5) > Kann mich ja täuschen, aber ich habe da scheußlich verschliffene > Oszi-Bilder von zu hoch getakteten PWM-Motortreibern im Kopf... Ka vermutlich ist das bei deinen Treibern anders. //Sorry für den doppelt Post, aber du hast zu spät gepostet.
Dominik Thalhammer schrieb: > Also laut Datenblatt machen die von mir eingeplanten BC817 min. 100MHz > mit, sollte also kein Problem sein. Hast du da nur die Kleinsignalbandbreite angeschaut? Die BC817 schaltest du auf keinen Fall mit 100MHz voll durch. Das wird schon am Layout scheitern...
Dominik Thalhammer schrieb: > Ja die 16bit müssen sein,(ergeben nach Gammakorrektur 8bit) Dann kannst du doch erst die Korrektur anwenden und danach die korrigierten Werte in die PWM laden? Damit würde sie auch mit weniger Auflösung auskommen, was den ganzen Rattenschwanz mit den hohen Taktfrequenzen und schnellen Signalen entschärfen würde. Du hast ja eine Verkabelung durch den ganzen Raum welche die hochfrequenten Signale u.U. abstrahlt. Da ist es dann auch besser wenn die Transistoren nicht zu schnell schalten, das reduziert die Abstrahlung auf Kosten der Verlustleistung.
Georg W. schrieb: > Dominik Thalhammer schrieb: >> Ja die 16bit müssen sein,(ergeben nach Gammakorrektur 8bit) > > Dann kannst du doch erst die Korrektur anwenden und danach die > korrigierten Werte in die PWM laden? Dominik hat das wohl etwas unglücklich ausgedrückt. Nach der Gammakorrektur braucht man mehr Bits, sonst verschenkt man Eingangsauflösung. Wobei ich aber auch der Meinung bin, dass 16 bit nicht nötig sind. Wenn der Eingangswert 8 Bit (d.h. 256 Helligkeitstufen) reichen nach der Gammakorrektur auf jedem Fall 12 bits, wahrscheinlich sogar 10. Auch Profimonitore machen da nicht mehr. > Damit würde sie auch mit weniger > Auflösung auskommen, was den ganzen Rattenschwanz mit den hohen > Taktfrequenzen und schnellen Signalen entschärfen würde. Du hast ja eine > Verkabelung durch den ganzen Raum welche die hochfrequenten Signale u.U. > abstrahlt. Da ist es dann auch besser wenn die Transistoren nicht zu > schnell schalten, das reduziert die Abstrahlung auf Kosten der > Verlustleistung. Moment, die PWM Frequenz ist von der Auflösung unabhängig, und damit auch die Störstrahlung und Verlustleistung. Nur an beiden Ende der Skala entstehen Nichtlinearitäten wenn Transistor/LED zu langsam sind, was man aber in der Gammatabelle berücksichtigen kann. In der vorliegenden Anwendung wird die Auflösung auch nicht gebraucht um Genauigkeit zu erzielen, auf mehr als 6 bit wird niemand die Farben unterscheiden können. Hier geht es darum, dass man beim langsamen auf- und abdimmen keine Helligkeitssprünge sieht, und dafür sind 8 bit ohne Gammakorrektur nicht ausreichend.
Lattice User schrieb: > Dominik hat das wohl etwas unglücklich ausgedrückt. Nach der > Gammakorrektur braucht man mehr Bits, sonst verschenkt man > Eingangsauflösung. Wobei ich aber auch der Meinung bin, dass 16 bit > nicht nötig sind. Wenn der Eingangswert 8 Bit (d.h. 256 > Helligkeitstufen) > reichen nach der Gammakorrektur auf jedem Fall 12 bits, wahrscheinlich > sogar 10. Auch Profimonitore machen da nicht mehr. > Kommt das von unserem nichtlinearen Helligkeitsempfinden? Dann würde man nur in einem Teilbereich die feine Auflösung benötigen und könnte den Rest mit gröberen Schritten abhandeln? Falls das überhaupt sinnvoll machbar ist. Wenn wir großzügig sind und 12Bit Auflösung wählen reichen aber auch 4,1MHz Takt aus. Das ist schon mal viel entspannter. > > Moment, die PWM Frequenz ist von der Auflösung unabhängig, und damit > auch die Störstrahlung und Verlustleistung. Nur an beiden Ende der Skala > entstehen Nichtlinearitäten wenn Transistor/LED zu langsam sind, was man > aber in der Gammatabelle berücksichtigen kann. Ja, du hast recht. Ich musste mal etwas zu einem Gerät, welches neben dem Tastverhältnis auch die Frequenz verändert hat dazu bauen, das war nicht lustig. Das hatte ich im Sinn als ich das obige schrieb. Ich sehe den kritischen Punkt wenn man fast ganz herunter oder herauf dimmt. Dann muss man einen sehr schmalen Impuls mit sehr steilen Flanken und damit verhältnismäßig viel hochfrequentem Anteil alle Millisekunde erzeugen. Du würdest dann mit der flachen Flanke leben und bei der Impulsbreite entsprechend "vorhalten"?
@ Dominik Thalhammer (Gast) >Nein sie werden nicht direkt angeschlossen sondern über Transistoren, >Ja die 16bit müssen sein,(ergeben nach Gammakorrektur 8bit) Willst du einen Photodrucker bauen? >Ja die 1kHz müssen sein, da ich festgestellt hab, das es bei 500Hz und >niedrigen werten schon recht stark flackert(probiert auf einem >atxmega32a4@32Mhz--->~488 Hz PWM Frequenz) Niemals. Wahrscheinlich hast du eine Fuses falsch eingestellt oder einen falschen Prescaler einschaltet. Hast du die 488 Hz mit einem Oszi gemessen? >Ja ich will ein FPGA verwenden, um mich damit vertraut zu machen und um >sowas mal auszuprobieren. >Nein ich verwende keine Einzelnen LED's sondern Solche LED STreifen zum >aufkleben. Und die sollen dann mit bis zu 15ns breiten Pulse angesteuert werden? Dream on. ;-) >Die 30 RGB Kanäle brauche ich auch, da die LED's über einen ganzen Raum >verteilt werden und gleichzeitig als Beleuchtung und Partylicht dienen, Was nie und nimmmer Den HokusPokus mit 16 Bit PWM und Gammakorrektur braucht. Spätestes nach dem 2. Bier reichen 3 Bit, eins für jede Farbe. Aber wenn's ne LSD-Party ist könnten sanfte Farbübergänge schon angebracht sein . . . Ausserdem steuert man so verteilte Lampen auch verteilt an, z.B. eine Steuerung pro Leiste, das Ganze dann per DMX oder so verkabelt. Das verringert auch die Leitungslänge, auf der die PWM mit steilen Flanken rumschaltet und ordentliche Störungen erzeugt. >das ich möglichst genau einstellen können will, ausserdem ist es mal ein >interressantes Projekt. Naja, aber meilenweit weg von der Realität. Also doch was mit LSD? ;-)
Lattice User schrieb: > Moment, die PWM Frequenz ist von der Auflösung unabhängig, und damit > auch die Störstrahlung und Verlustleistung. Nur an beiden Ende der Skala > entstehen Nichtlinearitäten wenn Transistor/LED zu langsam sind, was man > aber in der Gammatabelle berücksichtigen kann. Nur so am Rande: Ich hatte da mal eine Schaltung mit einem BTM7751 Motortreiber. Der kann laut Datenblatt eine PWM-Frequenz bis max. 1kHz. Nun hatte ich einen Motor, für den 20kHz empfohlen wurden. Hab mal aus Spaß versucht, die 20kHz mit dem BTM7751 darzustellen. Dabei ist der Dutycycle total weggelaufen, d.h. bei 50% Soll kamen noch vielleicht 20-30% Ist raus, und diese waren heftigst verschliffen.
Bronco schrieb: > Lattice User schrieb: >> Moment, die PWM Frequenz ist von der Auflösung unabhängig, und damit >> auch die Störstrahlung und Verlustleistung. Nur an beiden Ende der Skala >> entstehen Nichtlinearitäten wenn Transistor/LED zu langsam sind, was man >> aber in der Gammatabelle berücksichtigen kann. > > Nur so am Rande: > Ich hatte da mal eine Schaltung mit einem BTM7751 Motortreiber. Der kann > laut Datenblatt eine PWM-Frequenz bis max. 1kHz. > Nun hatte ich einen Motor, für den 20kHz empfohlen wurden. > Hab mal aus Spaß versucht, die 20kHz mit dem BTM7751 darzustellen. > Dabei ist der Dutycycle total weggelaufen, d.h. bei 50% Soll kamen noch > vielleicht 20-30% Ist raus, und diese waren heftigst verschliffen. Klar, da war der Treiber ja schon viel zu langsam für die PWM Frequenz. Das ist aber im vorliegendem Fall der LED Ansteuerung bei weitem nicht der Fall. Natürlich wird in den Endpunkten trotz Korrektur die Genauigkeit leiden, schon alleine wegen der Bauteiletoleranzen, vor allem hfe des Transistors. Wird vermutlich trotzdem gut genug sein.
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.