FrequencySynth v1.1

Allgemeine Themen rund um den Propeller Mikrocontroller und Elektronik
Antworten
Benutzeravatar
PIC18F2550
Beiträge: 2718
Registriert: Fr 30. Sep 2011, 13:08

FrequencySynth v1.1

Beitrag von PIC18F2550 »

http://obex.parallax.com/object/783

Weiß jemand in welchen Raster die Frequenz einstellbar ist?
Ich vermute in 1Hz Schritten.

Kann das Raster noch unter 1Hz verkleinert werden?
Meine Idee ist ein nachgeschalteter Teiler. Lieber währe es mir wenn es im Propeller geschied.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
yeti
Beiträge: 2152
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: FrequencySynth v1.1

Beitrag von yeti »

----------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----------
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
PIC18F2550
Beiträge: 2718
Registriert: Fr 30. Sep 2011, 13:08

Re: FrequencySynth v1.1

Beitrag von PIC18F2550 »

Ich kenne keinen I2C Chip der von 1Hz bis 100Mhz durchstimmbar ist.
Was Fehlt ist ein Sinusformer. Das müsste Frequenzselektiv gesteuert werden. Was für den Prop kein Problem darstellt.

Aufbau:

FrequencySynth
LCD 2x16
Key4x4
256k Serieller EEPROM

Was mir fehlt ist ein 80Mhz Oszilator.
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
PIC18F2550
Beiträge: 2718
Registriert: Fr 30. Sep 2011, 13:08

Re: FrequencySynth v1.1

Beitrag von PIC18F2550 »

yeti Du hast recht das Raster ist kaum zu gebrauchen.

Weist Du zufällig an welcher stelle die 80Mhz vom Propeller in das Programm zur Frequenzerzeugung einfließen?
Mein Problem ist das ich einen Externen 20Mhz Generator als Taktquelle nutzen will.

http://www.cadt.de/dieter/dcf/dcfqu.htm
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
yeti
Beiträge: 2152
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: FrequencySynth v1.1

Beitrag von yeti »

PIC18F2550 hat geschrieben:Weist Du zufällig an welcher stelle die 80Mhz vom Propeller in das Programm zur Frequenzerzeugung einfließen?
Ich denke nur bei...

Code: Alles auswählen

con
  _clkmode = xtal1+pll16x
  _clkfreq = 80_000_000
...das Verhalten von FRQA/B und CTRA/B müsst man nochmal draufhin abklopfen, womit das gespiesen wird. Die Berechnung in FrequencySynth-v1.1 bezieht sich nur auf CLKFREQ, was also nach "Quarz (oder Takteingang) mal PLL" als deren Input riecht.

Das Bild in AN001-P8X32ACounters-v2.0.pdf schaut auch nach CLKFREQ aus.
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
PIC18F2550
Beiträge: 2718
Registriert: Fr 30. Sep 2011, 13:08

Re: FrequencySynth v1.1

Beitrag von PIC18F2550 »

Mal ein paar Bilder z.B. von 10Mhz.

Hier erkennt man auch das die Betriebsspannung auf das Ausgangssignal wirkt.
Das ist besonderst in der Audiowelt zu beachten. :SCHREIEN
Dateianhänge
MAP019.png
10Mhz
10Mhz
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Antworten