PropellerSignalGenerator (alt SIDCOG)
- PIC18F2550
- Beiträge: 2836
- Registriert: Fr 30. Sep 2011, 13:08
PropellerSignalGenerator (alt SIDCOG)
hallo,
wenn ich das richtig verstanden habe kann er nur ganzzahlige Frequenzen erzeugen.
Oder liege ich da falsch?
Ich breuchte bis 3 kommastellen.
a’ = 440,000 Hz und der nächst höhere währe dann a’# = 466,164 Hz.
Danke.
wenn ich das richtig verstanden habe kann er nur ganzzahlige Frequenzen erzeugen.
Oder liege ich da falsch?
Ich breuchte bis 3 kommastellen.
a’ = 440,000 Hz und der nächst höhere währe dann a’# = 466,164 Hz.
Danke.
Zuletzt geändert von PIC18F2550 am Mi 31. Mai 2017, 05:41, insgesamt 1-mal geändert.
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
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
- PIC18F2550
- Beiträge: 2836
- Registriert: Fr 30. Sep 2011, 13:08
Re: SIDCOG
habe gerade was im parallaxischen gefunden.
Es besitzt die die Eigenschaften die ich brauche. (SINE, TRIANGLE und SQUARE)
nur suche ich nach einer Möglichkeit die Funktion setFrequencyCentiHertz(freq) noch weitere 10Hz nach unten zu verschieben. 7,5 Mhz sid mir schon viel zu viel. 15Khz würden reichen.
Ob das die Lösung ist weis ich nicht.
frequency := freqRef / (100.000.000 / freq)
Es besitzt die die Eigenschaften die ich brauche. (SINE, TRIANGLE und SQUARE)
nur suche ich nach einer Möglichkeit die Funktion setFrequencyCentiHertz(freq) noch weitere 10Hz nach unten zu verschieben. 7,5 Mhz sid mir schon viel zu viel. 15Khz würden reichen.
Code: Alles auswählen
PUB setFrequencyCentiHertz(freq)
' ┌──────────────────────────────────────────────────────────────┐
' │ Set frequency │
' ├──────────────────────────────────────────────────────────────┤
' │ freq - The frequency in centi hertz (0 Hz to 750000000 cHz) │
' └──────────────────────────────────────────────────────────────┘
frequency := freqRef / (1.000.000.000 / freq)
frequency := freqRef / (100.000.000 / freq)
- Dateianhänge
-
- PropellerSignalGeneratorV1_2_2.zip
- (5.03 KiB) 463-mal heruntergeladen
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
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
- PIC18F2550
- Beiträge: 2836
- Registriert: Fr 30. Sep 2011, 13:08
Re: SIDCOG
So habe gerade ein mal das Programm getestet....
Es sind ja schon 2 Kommastellen die die Routine PUB setFrequencyCentiHertz(freq) macht.
Muss mal testen ob da noch machbar ist.
Die untere Frequenz ist 0,02Hz wie genau das ist muss ich erst ein mal nachmessen.
Aber der wert ist eh nicht relevant ich brauche erst ab 20Hz
Kleine LED Spielerei auf dem Demobord.
Es sind ja schon 2 Kommastellen die die Routine PUB setFrequencyCentiHertz(freq) macht.
Muss mal testen ob da noch machbar ist.
Die untere Frequenz ist 0,02Hz wie genau das ist muss ich erst ein mal nachmessen.
Aber der wert ist eh nicht relevant ich brauche erst ab 20Hz
Kleine LED Spielerei auf dem Demobord.
Code: Alles auswählen
CON
_CLKMODE = xtal1 + pll16x
_XINFREQ = 5_000_000
OBJ
psg1 : "PropellerSignalGenerator"
psg2 : "PropellerSignalGenerator"
psg3 : "PropellerSignalGenerator"
psg4 : "PropellerSignalGenerator"
psg5 : "PropellerSignalGenerator"
psg6 : "PropellerSignalGenerator"
psg7 : "PropellerSignalGenerator"
PUB main | i
'Start "Propeller Signal Generator" and output signal on pin 10
psg1.start(16, 23, 32) ' Sync pin = 32 = No pin
psg2.start(17, 32, 32) ' Sync pin = 32 = No pin
psg3.start(18, 32, 32) ' Sync pin = 32 = No pin
psg4.start(19, 32, 32) ' Sync pin = 32 = No pin
psg5.start(20, 32, 32) ' Sync pin = 32 = No pin
psg6.start(21, 32, 32) ' Sync pin = 32 = No pin
psg7.start(22, 32, 32) ' Sync pin = 32 = No pin
psg1.setParameters(psg1#SQUARE, 0, 0, psg1#PW50)
psg2.setParameters(psg1#SQUARE, 0, 0, psg1#PW50)
psg3.setParameters(psg1#SQUARE, 0, 0, psg1#PW50)
psg4.setParameters(psg1#SQUARE, 0, 0, psg1#PW50)
psg5.setParameters(psg1#SQUARE, 0, 0, psg1#PW50)
psg6.setParameters(psg1#SQUARE, 0, 0, psg1#PW50)
psg7.setParameters(psg1#SQUARE, 0, 0, psg1#PW50)
psg1.setFrequencyCentiHertz( 2)
psg2.setFrequencyCentiHertz( 4)
psg3.setFrequencyCentiHertz( 8)
psg4.setFrequencyCentiHertz( 16)
psg5.setFrequencyCentiHertz( 32)
psg6.setFrequencyCentiHertz( 64)
psg7.setFrequencyCentiHertz( 128)
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
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
Re: SIDCOG
Wenn ich...
...in GEAR laufen lasse, sehe ich daß der PSG auch irGÄHNdwas mit Pin0 macht...
Beim Überfliegen der Quellen sah ich den Grund nicht, vielleicht verdaddelt sich das Programm irgendwo künstlerisch beim Bit-Shiften und Masken-Berechnen für die Pin-Masken?
Code: Alles auswählen
CON
_CLKMODE = xtal1+pll16x
_XINFREQ = 5_000_000
OBJ
psg : "PropellerSignalGenerator"
PUB main
psg.start(8, 32, 32)
psg.setParameters(psg#SINE, 100, 0, 0)
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
- PIC18F2550
- Beiträge: 2836
- Registriert: Fr 30. Sep 2011, 13:08
Re: SIDCOG
ersetz mal die 32 durch 33 da müsste das signal von p0 auf p1 wandern.
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
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
Re: SIDCOG
Das gewünschte Signal ist auf Pin8.PIC18F2550 hat geschrieben:ersetz mal die 32 durch 33 da müsste das signal von p0 auf p1 wandern.
32 heißt angäblich "kein Pin".
Meine obigen Zeilen sollen nur Pin8 anfassen ***tief-lufthol*** oooder ich hab Alles irgendwie falsch verstanden. Kann ja auch sein...
Mit...
Code: Alles auswählen
CON
_CLKMODE = xtal1+pll16x
_XINFREQ = 5_000_000
OBJ
psg : "PropellerSignalGenerator"
PUB main
psg.start(8, 9, 11)
psg.setParameters(psg#SINE, 100, 0, 0)
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
- PIC18F2550
- Beiträge: 2836
- Registriert: Fr 30. Sep 2011, 13:08
Re: PropellerSignalGenerator (alt SIDCOG)
Probier mal das psg.start(8, 33, 34).
Mit was hast Du Übersetzt?
Mit was hast Du Übersetzt?
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
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
Re: PropellerSignalGenerator (alt SIDCOG)
Was hat das mit der 32 denn zu bedeuten? Schau mal in "TestBench.spin"...PIC18F2550 hat geschrieben:Probier mal das psg.start(8, 33, 34).
Code: Alles auswählen
PUB main | i
'Start "Propeller Signal Generator" and output signal on pin 10 (inverted signal on pin 11)
psg.start(10, 11, 32) ' Sync pin = 32 = No pin
OpenSpin.PIC18F2550 hat geschrieben:Mit was hast Du Übersetzt?
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
- PIC18F2550
- Beiträge: 2836
- Registriert: Fr 30. Sep 2011, 13:08
Re: PropellerSignalGenerator (alt SIDCOG)
Ich glaub dein Simulator könnte daran schuld sein.
Die Abschaltung mit größer 31 ist einfach nur ein Trick der im Simulator nicht funktioniert.
Daher wandern deine 33 und 34 auch weiter auf pin 2 und 3.
ich wird heute abend mal auf dem Demo Bord mir das Pin 0 näher anschauen.
eventuell ausdas machen
Aber was ich noch wissen wollte wofür soll das Sync pin sein?
Die Abschaltung mit größer 31 ist einfach nur ein Trick der im Simulator nicht funktioniert.
Code: Alles auswählen
regCounter := $1C000000 | outPin | (invertedPin<<9) ' in CTRA
noiseValue := $10000000 | syncPin ' in CTRB
ich wird heute abend mal auf dem Demo Bord mir das Pin 0 näher anschauen.
eventuell aus
Code: Alles auswählen
delayLine := (1<<invertedPin) | (1<<outPin) | (1<<syncPin)
Code: Alles auswählen
delayLine := (1<<invertedPin) | (1<<outPin)
Aber was ich noch wissen wollte wofür soll das Sync pin sein?
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
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
Re: PropellerSignalGenerator (alt SIDCOG)
Das Teil entbehrt ja jeglicher Doku... daher reimte ich mir den Sync-Pin zusammen als Trigger für z.B. ein angeschlossenes Oszilloskop... aber mir der Phantasie kann ich ja auch völlig falsch liegen... vielleicht soll es auch verschiedene PSG-Instanzen gegeneinander synchronisieren?
"delayline" ist 32bittig... "1<<32" wäre dann doch sogar außerhalb des Bereiches... schrägerweis' ist dies mit "1" vorbesetzt... wird aber zum Glück in der "start"-Funktion mit dem aktuellen Wert überplättet...
Vielleicht tatsächlich mal 'n anderen Kompiler antesten?
Spääääter... ich bin noch im XXL-Dienstag und daher nimmer so wirklich konzentriert... ***hüstel***
"delayline" ist 32bittig... "1<<32" wäre dann doch sogar außerhalb des Bereiches... schrägerweis' ist dies mit "1" vorbesetzt... wird aber zum Glück in der "start"-Funktion mit dem aktuellen Wert überplättet...
Vielleicht tatsächlich mal 'n anderen Kompiler antesten?
Spääääter... ich bin noch im XXL-Dienstag und daher nimmer so wirklich konzentriert... ***hüstel***
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.