----------8<-----{20180317-0034-GMT}----->8----------
PIC18F2550 hat geschrieben:Weiß jemand in welchen Raster die Frequenz einstellbar ist?
Ich vermute in 1Hz Schritten.
Die Frequenz wird in einem Integer an den Generator in `synth.spin` übergeben und dort, soweit ich sehe, nicht weiter geteilt. 1Hz ist also der kleinste darstellbare Unterschied.
PIC18F2550 hat geschrieben:Kann das Raster noch unter 1Hz verkleinert werden?
Man müsste die Werte, die in den propellerinternen Frequenzgeneratoren landen, nachverfolgen und wenn deren Differenzen groß genug sind, könnten kleinere Schrittweiten möglich werden. Aber mit diesen FRQ(A|B)-Dingern hab ich mich noch nicht intensiv genug beschäftigt.
***ein_paar_Minuten_Fahrstuhlmusik***
Statt Setzen der FRQA/B- und CTRA/B-Werte hab ich nur deren Ausgabe reingehackt:
Code: Alles auswählen
$ /opt/parallax/bin/spinsim FakeSynth.binary -b
Freq FRQ CNT
0 0 268435456
1 53 268435456
2 107 268435456
3 161 268435456
4 214 268435456
5 268 268435456
6 322 268435456
7 375 268435456
8 429 268435456
9 483 268435456
10 536 268435456
Es ist also Luft zwischen den Werten. Kleinere Schritte sind also denkbar, aber wie genau die dann die gewünschte Frequenz treffen ist ein anders Thema...
----------8<-----{20180317-0755-GMT}----->8----------
Ich hab nochmal Werte um 500kHz herum und gegen Ende des Bereiches beäugt...
Code: Alles auswählen
499990 26843008 268435456
499991 26843062 268435456
499992 26843116 268435456
499993 26843169 268435456
499994 26843223 268435456
499995 26843277 268435456
499996 26843330 268435456
499997 26843384 268435456
499998 26843438 268435456
499999 26843491 268435456
500000 214748364 134217728
500001 214748794 134217728
500002 214749223 134217728
500003 214749653 134217728
500004 214750082 134217728
500005 214750512 134217728
500006 214750941 134217728
500007 214751371 134217728
500008 214751800 134217728
500009 214752230 134217728
127999991 429496699 192937984
127999992 429496702 192937984
127999993 429496706 192937984
127999994 429496709 192937984
127999995 429496712 192937984
127999996 429496716 192937984
127999997 429496719 192937984
127999998 429496722 192937984
127999999 429496726 192937984
128000000 429496729 192937984
...bei den großen Werten wird die Luft zwischen ihnen schon etwas dünne.
Vergleich doch mal (z.B. per I2C) steuerbare Frequenzgeneratoren bezüglich Preis, Frequenzbereich und Auflösung mit dem Propeller. Vielleicht sind die externen Chips für solche Aufgaben sogar attraktiver...
In Beau's Code ist auch keine Frequenzkorrektur mit ab und zu mal kurzen oder längeren Pulsweiten, um im längeren Mittelwert die angestrebte Frequenz besser zu treffen. Sowas hab ich mal irgendwo als FPGA-Code gesehn, aber mir fällt die URL grad nimmer ein.
----------8<-----{Nieder mit der Sommerzeit!}----->8----------