Forum: FPGA, VHDL & Co. FPGA in Serie


von Frank (Gast)


Lesenswert?

Hallo,
ich möchte mich mal mit FPGAs beschäftigen da ich manche Dinge sehe die 
nur mit einem Logikbaustein (klein) umsetzbar sind.
z.B möchte ich gerne 50 PWM mit unterschiedlichem Tastgrad generieren.

Ich möchte mir dazu das ATLYS Board mit Spartan 6 hohlen und später eine 
entsprechende Platine fertigen.

Ohne jetzt genau zu wissen welche Recaucen ich benötige bin ich etwas 
verwundert über die Beiträge und Beispiele.
Ohne jemanden zu nahe zu treten und mit FPGAs fange ich gerade selber 
an, aber ich sehe irgendwie keine Projekte die einen ca. 30Euro teuren 
FPGA (oder weit mehr) rechtfertigen.
Ohne die Diskussion in die falsche Richtung zu lenken: Wer setzt einen 
FBGA ein weil es nicht mit einer CPU zu lösen ist und baut mehr wie 1000 
Stück davon.
Ich finde eigendlich nur Prototypen Bastlerobjekte oder einfach 
Baugruppen aus Hochschulen.
Ich arbeite mit ARM 7 9 und cortex M3. mehrere davon decken in der Regel 
alles ab.
Natürlich rede ich hier von Dingen unter ein paar MHZ, dass es Ausnahmen 
gibt, ist klar. Da auch CPLDs nicht wirklich preiswerter sind frag ich 
mich zur Zeit ob es sich lohnt FPGA und Co zu erlernen wenn es nicht 
wirtschaftlich erscheint.
Vieleich kann man die beantwortung ja in Bezug zu 50 PWMs setzen (500Hz, 
10Bit)

von Zorg (Gast)


Lesenswert?

Für 50 PWMs könnte es einfacher sein mehrere kleine billige 
Mikrocontroller zu verwenden... die ham ja alle schon Hardware PWMs, 
auch mit 16 Bit ;)
Mit SPI verbinden und fertig.


FPGAs sind sinnvoll wenns um hohen Datendurchsatz und geringe Latenz 
geht.

von Jens (Gast)


Lesenswert?

Frank schrieb:
> Ohne jetzt genau zu wissen welche Recaucen

harharhar

von Christian R. (supachris)


Lesenswert?

Wir setzen FPGAs ein. Ist zwar immer noch Kleinserie, aber mehr als 1000 
Stück haben wir schon verbaut (Spartan 3e). Da gehts um schnelle 
Datenaufnahme und -verarbeitung von ADCs, 100MS/s mit 16 Kanälen 
parallel (2 Kanäle pro Spartan), das wird man kaum mit µC 
bewerkstelligen können. Das ist neben schnellen Kommunikations-Sachen 
das Hauptanwendungsgebiet. Schnelle, parallele Datenverarbeitung. Jedes 
DSO beispielsweise hat (mehrere) FPGA(s) im Frontend zum Daten sammeln. 
Übrigens haben aktuelle DVB TV Karten aucvh FPGAs on Board, 
beispielsweise die Mehrkanal-Tuner für PCIe von Digital Devices.

von Tjaja (Gast)


Lesenswert?

Es gibt auch Bausteine für LEDs.
Die können soweit ich weiß pro Kanal in der Frequenz / Tastverhältnis 
parametriert werden.
Die gibts auch in ziemlich groß. Evtl. reicht Dir da ein Baustein + uC.
Schau mal bei Maxim...

von tomb (Gast)


Lesenswert?

Frank schrieb:
> Vieleich kann man die beantwortung ja in Bezug zu 50 PWMs setzen (500Hz,
> 10Bit)

500Hz? Das sollte ein Cortex M3 doch locker als Soft-PWM zustande 
bringen?

von fpgamann (Gast)


Lesenswert?

mit einem kleinen fpga der spartan a reihe zu 5,- das sTück lassen sich 
einige hunderte IOs schalten. die internen resourcen sollten für locker 
100 pwms reichen, wenn man es pipelined aufbaut und multiplexed.

mit 50 mhz Takt wären das 500kHz PWM wenn Dir das reicht

von Frank (Gast)


Lesenswert?

Quelle??? der 5 Euro FPGAs die füe 100 PWMs reichen.

von Falk B. (falk)


Lesenswert?

@  Frank (Gast)

>Ohne jemanden zu nahe zu treten und mit FPGAs fange ich gerade selber
>an, aber ich sehe irgendwie keine Projekte die einen ca. 30Euro teuren
>FPGA (oder weit mehr) rechtfertigen.

Jung du noch bist, mein ungeduldiger Freund. Wirr deine Gedanken und 
wild dein Herz.

>Ohne die Diskussion in die falsche Richtung zu lenken: Wer setzt einen
>FBGA ein weil es nicht mit einer CPU zu lösen ist

Mensch die weiser sein als du, das Leben gesehen sie haben. Vor allem 
sie nicht zahlen wollen, die Kosten für ASIC, mit hohem Risiko verbunden 
sie sind.

> und baut mehr wie 1000 Stück davon.
>Ich finde eigendlich nur Prototypen Bastlerobjekte oder einfach
>Baugruppen aus Hochschulen.

Klein dein Horizont noch ist, weit gehen in die Welt du musst noch.

>Ich arbeite mit ARM 7 9 und cortex M3. mehrere davon decken in der Regel
>alles ab.

Über den Tellerand schauen du musst. Die richtigen Fragen du finden 
musst, nicht Anwort geben du sollst.

>Natürlich rede ich hier von Dingen unter ein paar MHZ, dass es Ausnahmen
>gibt, ist klar.

Ah, ein Lichtblick es gibt.

> Da auch CPLDs nicht wirklich preiswerter sind frag ich
>mich zur Zeit ob es sich lohnt FPGA und Co zu erlernen wenn es nicht
>wirtschaftlich erscheint.

Viele Firmen es gibt, die verkaufen gut FPGA. Viele Milliarden Umsatz 
sie machen in jedem Sonnenzyklus. Ein Zeichen das ist, nur deuten du 
musst.

>Vieleich kann man die beantwortung ja in Bezug zu 50 PWMs setzen (500Hz,
>10Bit)

Ein nettes Spielzeug du willst, nicht schwer zu tun in FPGA.

Möge die Macht mit dir sein.

von Christian R. (supachris)


Lesenswert?

5€ wird evtl. knapp. Spartan 6 LX 4 hat 600 Slices mit je 8 FlipFlops, 
das sollte für 100 PWM mit 10 Bit reichen. Der TQ144 hat 102 I/Os und 
kostet gerade mal 9€ bei Degikey. Vielleicht kriegt man einen Spartan 3 
in der Größe für 5€. Die sind ja auch spottbillig mittlerweile.

von Mine Fields (Gast)


Lesenswert?

Frank schrieb:
> Ich finde eigendlich nur Prototypen Bastlerobjekte oder einfach
> Baugruppen aus Hochschulen.

Ist doch logisch - wer erzählt denn schon etwas über den internen Aufbau 
seiner Entwicklung? Genau, Bastler und Hochschulen.

Frank schrieb:
> Quelle??? der 5 Euro FPGAs die füe 100 PWMs reichen.

Spartan 3E-100 sollte locker für 100 PWM reichen. Und der sollte in 
entsprechenden Stückzahlen für 5 Euro zu haben sein (Einzelstücke liegen 
bei 9 Euro bei Digikey). Ein MachXO sollte eigentlich auch reichen.

von Falk B. (falk)


Lesenswert?

@  Frank (Gast)

>Quelle??? der 5 Euro FPGAs die füe 100 PWMs reichen.

Die kleinsten heute verfügbaren FPGAs machen das mit Gähnen.

z.B. XC3S50A, kostet in der Apotheke Farnell 8 Euro, in Stückzahlen 
vielleicht 2-3 Euro.

MFG
Falk

von Holger (Gast)


Lesenswert?

Ein 50er Spartan wird nicht ganz für 100 PWMs reichen, weil alle 
Zustände mit entsprechenden Speichern gehalten werden müssen. Die 
internen slices reichen gerade fürs IO banking und an BRAM ist bei den 
S3A-Viechern nicht viel. Ein 200er kostet in Stückzahlen unter 4,-. Mit 
dem hat es gleich das 4 fache an slices und auch ausreichend Ram für 
gleich 200 PWMs.

von Falk B. (falk)


Lesenswert?

@  Holger (Gast)

>Ein 50er Spartan wird nicht ganz für 100 PWMs reichen, weil alle
>Zustände mit entsprechenden Speichern gehalten werden müssen.

Der 50er hat 704 SLices, macht 1408 FlipFlops. OK, wird bissel eng mit 
100 PWMs, es sei denn man beschränkt sich auf 4 Bit ;-) Aber mit etwas 
Knoff Hoff und schnellen Takten baut man mit den BRAMs ne clevere State 
Machine und packt die 100 PWMs dort rein.

Ansatz. Die PWM-Vergleichswerte liegen in einem BRAM, der fasst 2048 
Byte. Wenn man nun die PWM per State Machine einzeln vergleich ala 
Soft-PWM, braucht man 100 Takte. Macht bei 100 MHz effektiv dann 1 
MHz PWM-Takt. Naja, nicht so doll. Aber Halt, man kann ja 
parallelisieren. Den BRAM kann man 32 Bit breit nutzen, damit kann man 
vier PWMs parallel berechnen, macht schon mal 4 MHz. Und man kann die 
BRAM mit zwei Ports unabhängig nutzen, macht nochmal Faktor zwei, also 8 
MHz. Der 50er hat drei BRAMs, also nochmal Faktor 3, macht 24 MHz 
PWM-Takt. Und mit bissel Ehrgeiz kommt man vielleicht auf 150 MHz, ist 
man schon bei 36 MHz PWM Takt. Not too bad.

Also nicht so schnell die Flinte ins Korn werfen.

MFG
Falk

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Die Kunst ist immer zu wissen, welche Technologie man für welches 
Projekt einsetzen sollte.

Genauso wie man nicht alles in Basic, als Bash-Script oder in Java 
schreibt, gibt es hier auch Unterschiede.

Die Erkenntnis kommt erst mit der Erfahrung (oder einem fiesen Problem, 
bei dem man merkt, dass es mit normalen µCs nicht mehr getan ist).

Interessant werden FPGAs dann, wenn sie billiger als 
Controller-Lösungen sind, die das gleiche machen.

von Falk B. (falk)


Lesenswert?

@  Mampf F. (mampf)

>Interessant werden FPGAs dann, wenn sie billiger als
>Controller-Lösungen sind, die das gleiche machen.

Nicht nur dann, sondern auch, wenn sie Dinge machen, die Controller eben 
NICHT machen können. 100 PWMs mit 36 MHz macht auch der fetteste DSP 
nicht mehr ohne weiteres in Software.

MFG
Falk

von Udo (Gast)


Lesenswert?

Falk Brunner schrieb:
> Den BRAM kann man 32 Bit breit nutzen,
Du kannst die BRAMs auch 256 Bit breit nutzen und dazu jeden Datensatz 
in einem eigenen BRAM parken.

von Frank (Gast)


Lesenswert?

Tag,

ich finde es schade das manches immer so weit auseinanderläuft, aber 
neben dummen Antworten ist ja auch etwas brauchbares dabei.

Mir hat ein "Experte"mal gesagt das 14 Bit PWM mit 500 Hz und den 
entsprechenden Beiwerk wie Speicher für die Reloudwerte und den ganzen 
Timern sowie der Logik zum Bedienen über SPI schon einen LX45 (Spartan 
6) ganz schön beschäftigen können. Der ist dann auch noch nicht voll, 
aber die Hälfte wurde mir schon vorhergesagt. Soll ja auch nicht 
statisch laufen sondern flüssig mit einer CPU die das ganze füttert.

Deswegen bin ich jetzt etwas überrascht das manche schon 100 Pwm in 
einen spartan 3a hineinbekommen der bei 5€ 50k Gatter hat. Soll ja auch 
funktionieren und von "könnte gehen" abweichen.

Ich programmiere nicht seit gestern und Softpwms habe ich auch schon 
programmiert, aber wenn es daran geht gleichzeitig eine Schnittstelle 
mit den Werten zu überwachen und noch ein paar andere Dinge ist bei CPUs 
schnell Ende. Die Hardware PWMs benutzen ja die Timer mit, und die 
brauch man leider auch öfter für andere Dinge.

Werde mal nen Urlaub damit verbrauchen, ich hatte nur gehofft der ein 
oder andere hätte da schon mal etwas Erfahrung mit.

von Christian R. (supachris)


Lesenswert?

Na rechne doch mal selbst nach. Eine 14 Bit PWM braucht einen 14 Bit 
Zähler und ein 14 Bit Register für den Reload-Wert. Also 28 FlipFops. 
Für 100 PWM der Art also 2800 FlipFlops. Das ist nun wirklich nicht die 
Welt. Wenn du den o.g. Spartan 6 LX 4 nimmst, der hat schon 4800 
FlipFlops, da ist der nicht mal halb voll. Dann noch ein paar Register 
für die SPI oder was auch immer für das Host Interface und gut. Bei 
einer PWM. Wie man damit einen LX45 halb voll bekommen soll ist mir 
unklar. 50Mhz ist da auch nicht die Welt, ist ja kaum Kombinatorik.

von tomb (Gast)


Lesenswert?

Frank schrieb:
> Ich programmiere nicht seit gestern und Softpwms habe ich auch schon
> programmiert, aber wenn es daran geht gleichzeitig eine Schnittstelle
> mit den Werten zu überwachen und noch ein paar andere Dinge ist bei CPUs
> schnell Ende.

Hast du schonmal an eine Lookuptable für alle 1024 Werte (10 Bit) 
gedacht (RAM haben die Cortex Dinger ja ausreichend)?

In jedem Tabelleneintrag (32 Bit) kannst du dann den Wert von 32 Pins 
speichern. Das heißt bei jedem Timerintervall (500Hz mal 1024) brauchst 
du nur einen Zugriff auf die Lookuptable.
Da es Cortex Modelle jenseits von 100MHz gibt, sollte eine Timerfrequenz 
von etwa 500kHz und sagen wir mal großzügig 30 Cycles pro Intervall, 
doch mehr als ausreichend Spielraum für SPI übriglassen.

von Udo (Gast)


Lesenswert?

Christian R. schrieb:
> 50Mhz ist da auch nicht die Welt, ist ja kaum Kombinatorik.
Der Spartan 6 läuft ohne grössere Verrenkungen auf 150 MHz.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Falk Brunner schrieb:
> @  Mampf F. (mampf)
>
>>Interessant werden FPGAs dann, wenn sie billiger als
>>Controller-Lösungen sind, die das gleiche machen.
>
> Nicht nur dann, sondern auch, wenn sie Dinge machen, die Controller eben
> NICHT machen können. 100 PWMs mit 36 MHz macht auch der fetteste DSP
> nicht mehr ohne weiteres in Software.

Genau das meinte ich. Meine Aussage hat sich nicht darauf beschränkt, 
dass man nur einen Controller hat :-)

von Falk B. (falk)


Lesenswert?

@  Frank (Gast)

>Mir hat ein "Experte"mal gesagt das 14 Bit PWM mit 500 Hz und den
>entsprechenden Beiwerk wie Speicher für die Reloudwerte und den ganzen
>Timern sowie der Logik zum Bedienen über SPI schon einen LX45 (Spartan
>6) ganz schön beschäftigen können.

;-)
"Expert" eben.

>aber die Hälfte wurde mir schon vorhergesagt.

Weihnachtsmärchen.

> Soll ja auch nicht
>statisch laufen sondern flüssig mit einer CPU die das ganze füttert.

Ja und ? Da gähnt der FPGA müde.

Beitrag "Re: LED-Matrix, 9x9 RGB, Voll dimmbar"

Ist zuwar "nur" 13 Bit PWM und 100 Hz, spielt aber keine Geige.

>Deswegen bin ich jetzt etwas überrascht das manche schon 100 Pwm in
>einen spartan 3a hineinbekommen der bei 5€ 50k Gatter hat.

Mit echtem Expertenwissen. ;-)

>Ich programmiere nicht seit gestern und Softpwms habe ich auch schon
>programmiert, aber wenn es daran geht gleichzeitig eine Schnittstelle
>mit den Werten zu überwachen und noch ein paar andere Dinge ist bei CPUs
>schnell Ende.

FPGAs sind keine CPUs. Bei FPGAs kann man MASSIV parallel arbeiten. Das 
ist deren großer Vorteil. Und Bitschubserei, Zähler und anderer Kram ist 
auch DEUTLICH perfomanter. Dafür will man rein mit einem FPGA eher 
keinen TCP/IP Stack programmieren.

@  tomb (Gast)

>Hast du schonmal an eine Lookuptable für alle 1024 Werte (10 Bit)
>gedacht (RAM haben die Cortex Dinger ja ausreichend)?

Zu groß.

>In jedem Tabelleneintrag (32 Bit) kannst du dann den Wert von 32 Pins
>speichern. Das heißt bei jedem Timerintervall (500Hz mal 1024) brauchst
>du nur einen Zugriff auf die Lookuptable.

Oder gleich clever, mit Soft-PWM deluxe ;-)

MfG
Falk

von Helmut L. (helmi1)


Lesenswert?

Christian R. schrieb:
> Eine 14 Bit PWM braucht einen 14 Bit
> Zähler und ein 14 Bit Register für den Reload-Wert. Also 28 FlipFops.
> Für 100 PWM der Art also 2800 FlipFlops.

Den Zaehler braeuchte man doch eigentlich nur einmal.

von tomb (Gast)


Lesenswert?

Falk Brunner schrieb:
>>Hast du schonmal an eine Lookuptable für alle 1024 Werte (10 Bit)
>>gedacht (RAM haben die Cortex Dinger ja ausreichend)?
>
> Zu groß.

Überhaupt nicht. 8KB RAM ist nichts bei den Dingern

>>In jedem Tabelleneintrag (32 Bit) kannst du dann den Wert von 32 Pins
>>speichern. Das heißt bei jedem Timerintervall (500Hz mal 1024) brauchst
>>du nur einen Zugriff auf die Lookuptable.
>
> Oder gleich clever, mit Soft-PWM deluxe ;-)

Schneller als über Lookuptable wirds nicht gehen ;)

Mit sortierten Listen braucht man zumindest ein paar Cycles mehr.

von tomb (Gast)


Lesenswert?

Nur zur Veranschaulichung. Die ISR mit Loopkuptable schaut im 
einfachsten Fall so aus:
1
ISR(TIMER1_COMPA_vect) {
2
  PWM_PORT = lookup[TIMER_CNT]
3
}

Will man nicht alle 1024 Stellen ausfüllen sieht es so aus:
1
ISR(TIMER1_COMPA_vect) {
2
  if(TIMER_CNT == 1023)
3
    PWM_PORT = lookup[TIMER_CNT]
4
  else 
5
    PWM_PORT |= lookup[TIMER_CNT]
6
}

Auf die Art und Weise sind 500Hz 10 Bit PWM mit einem Cortex M3 locker 
drin, dafür leg ich meine Hand ins Feuer ;)

von Falk B. (falk)


Lesenswert?

@  tomb (Gast)

>> Zu groß.

>Überhaupt nicht. 8KB RAM ist nichts bei den Dingern

Ich meinte, man braucht kein 1024 Array.

>> Oder gleich clever, mit Soft-PWM deluxe ;-)

>Schneller als über Lookuptable wirds nicht gehen ;)

Schnell in Bezug auf was? Der Einzelinterrupt oder die gesamte 
Interruptlast?

>Mit sortierten Listen braucht man zumindest ein paar Cycles mehr.

Einmalig, wenn sich die PWM-Werte ändern. Aber auch das ist erträglich.
Dein Array muss ja auch jedesmal aktualisiert werden, wenn gleich man 
das mit etwas Hirnschmalz schon recht fix hinbekommt. Ok, es ist ein 
guter Kompromiss, wenn man mehr RAM hat.

MfG
Falk

von tomb (Gast)


Lesenswert?

Falk Brunner schrieb:
> Schnell in Bezug auf was? Der Einzelinterrupt oder die gesamte
> Interruptlast?

Einzelinterrupt, wenn es darum geht "sauber" eine möglichst hohe 
Frequenz zu erreichen

>>Mit sortierten Listen braucht man zumindest ein paar Cycles mehr.
>
> Einmalig, wenn sich die PWM-Werte ändern. Aber auch das ist erträglich.
> Dein Array muss ja auch jedesmal aktualisiert werden, wenn gleich man
> das mit etwas Hirnschmalz schon recht fix hinbekommt. Ok, es ist ein
> guter Kompromiss, wenn man mehr RAM hat.

Man braucht nicht die ganze Tabelle aktualisieren, wenn man das 
Portregister mit dem Lookupwert verODERt (zweite Variante).
Per sortierte Liste ist natürlich eleganter, wobei ich zugeben muss, 
dass ich den Counterwert noch selbst verglichen hätte, anstatt einfach 
das OCR Register neu zu setzen.

von Falk B. (falk)


Lesenswert?

@tomb (Gast)

>Man braucht nicht die ganze Tabelle aktualisieren, wenn man das
>Portregister mit dem Lookupwert verODERt (zweite Variante).

Man muss aber bei Änderungen der PWM-Werte den alten Wert löschen und 
den neuen setzen.

Aber die Idee mit der LUT kann man auch sehr perfomant im FPGA umsetzen 
bei noch mehr Takt und noch besserer Resourcennutzung!

MFG
Falk

von tomb (Gast)


Lesenswert?

Falk Brunner schrieb:

> Man muss aber bei Änderungen der PWM-Werte den alten Wert löschen und
> den neuen setzen.

Ja genau, also zwei Speicherzugriffe, das ist jetzt nicht die Welt.
Den alten zu löschenden Index merkt sich am besten der SPI-Master.

> Aber die Idee mit der LUT kann man auch sehr perfomant im FPGA umsetzen
> bei noch mehr Takt und noch besserer Resourcennutzung!

Stimmt, da eignen sich BRAM Blocke natürlich prima dafür. Aber für 500Hz 
wäre es halt noch nicht notwendig.
Wobei die Variante mit der Liste ebenfalls auf BRAM zugreifen könnte und 
dabei nicht wesentlich langsamer wäre.

von Frank (Gast)


Lesenswert?

>
;-)
"Expert" eben. <

Den habe ich genauso gefragt wie euch jetzt, kann genauso sein das er 
recht hat und Ihr Mist erzählt!?

Die Loop UP Table finde ich eine gute Sache, werde ich mal ausprobieren.
Bisher hatte ich eine LU benutzt um meinen Interrupt mit dem nächsten 
auftreten einer Änderung zu programmieren. Hatte aber bisher nur 16 
SoftPwms zu bedienen.
Schaue ich mir jeden der 1024 Werte an kann das mal besser sein oder 
auch belastender von der CPU Zeit gesehen.

Ich will nochmal betonen das es mir nicht um CPU gegen FPGA geht. Ich 
will lediglich wissen was eben nur Meinungen sind und was der Realität 
entspricht. 150Mhz kann ja möglich sein, wenn das Dingen dann aber so 
heiß wird das ich es kühlen muss habe ich auch nichts mehr davon.

von J. S. (engineer) Benutzerseite


Lesenswert?

Christian R. schrieb:
> Eine 14 Bit PWM braucht einen 14 Bit
> Zähler und ein 14 Bit Register für den Reload-Wert.
Nur der Form halber: Das sind aber dann keine 14 Bit Signalgüte am 
Ausgang.

Frank schrieb:
> Die Loop UP Table
"look up" - auch nur der Form halber :-)

von Frank (Gast)


Lesenswert?

gut das eine cpu kein deutsch verarbeiten muss.

Nur weil ich so schnell jetzt nicht darauf komme, warum habe ich die 
Güte nicht?

von Falk B. (falk)


Lesenswert?

@  tomb (Gast)

>Ja genau, also zwei Speicherzugriffe, das ist jetzt nicht die Welt.
>Den alten zu löschenden Index merkt sich am besten der SPI-Master.

Würde ich nicht machen. Das sollte an Ort und Stelle verwaltet werden.

MfG
Falk

von tomb (Gast)


Lesenswert?

Falk Brunner schrieb:
> @  tomb (Gast)
>
>>Ja genau, also zwei Speicherzugriffe, das ist jetzt nicht die Welt.
>>Den alten zu löschenden Index merkt sich am besten der SPI-Master.
>
> Würde ich nicht machen. Das sollte an Ort und Stelle verwaltet werden.
>
> MfG
> Falk

Ja hab ich mir nachdem ich's gepostet habe, auch gedacht. Bringt 
wirklich keinen Vorteil das den Master machen zu lassen. Und man braucht 
auch nur für jeden Pin nochmal den Counterstand speichern, welcher dann 
der Index ist, andem das alte, gesetzte Bit wieder gelöscht wird.
Naja auf jedenfall geht das aktualisieren recht zügig.

von J. S. (engineer) Benutzerseite


Lesenswert?

Frank schrieb:
> Nur weil ich so schnell jetzt nicht darauf komme, warum habe ich die
> Güte nicht?

Nur der vollständigkeit halber eine Antowrt, auch wenn es etwas her ist:

Eine 14 Bit-PWM. die aufgebaut ist, wie oben beschrieben, also mit 14 
Bit Zähler, erzielt nur nach ausreichender Dezimation wieder 14 Bit und 
die ist niemals perfekt, sondern nur bei ausreichend "langsamer" 
Betrachtung, sie bringt auch bei Weitem nicht die Bandbreite von 1/N wie 
viele meinen.

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.