SPI statt PWM als DAC

Gast #3118752
Lesenswert?

Hallo Zusammen,

hier gibt es einen Synthesizer mit einem  AVR, der die SPI-Schnittstelle 
anstatt den PWM Ausgang als DAC verwendet. Hat jemand eine Idee wieso?

http://mutable-instruments.net/shruthi1

Der Code für den DAC findet sich im File dsp.cc
https://github.com/pichenettes/shruthi-1/blob/master/dsp/dsp.cc
1
SpiMaster<NumberedGpio<10>, MSB_FIRST, 2> dac_interface;

Obwohl die Routinen für die Soundausgabe ziemlich zeitkritisch sind, ist 
alles in C++ geschrieben.
Gast #3118890
Lesenswert?

chris schrieb:
> hier gibt es einen Synthesizer mit einem  AVR, der die SPI-Schnittstelle
> anstatt den PWM Ausgang als DAC verwendet. Hat jemand eine Idee wieso?

Stimmt gar nicht. Über den SPI ist ein MCP4921 12-Bit ADC angeschlossen.

chris schrieb:
> Obwohl die Routinen für die Soundausgabe ziemlich zeitkritisch sind, ist
> alles in C++ geschrieben.

Und? Die Zeitbasis wird doch mit Timer-Interrupts erzeugt und somit 
schon einmal sehr Jitter-frei. Neben den Interrupts hat der mit 20MHz 
getaktete ATmega alle Zeit der Welt zum Rechnen ...
Gast #3118945
Lesenswert?

Ein externer DAC ist hier sinnvoll, da bei der Analogwandlung über PWM 
ja eine Mittelung verwendet wird. Das heißt aber, dass es ggf. "lange" 
dauert bis von einem Wert auf einen Anderen "umgeschaltet" wurde. Bei 
einem DAC erfolgt die Änderung der Ausgangsspannung quasi sofort.
Gast #3119446
Lesenswert?

Ich habe mir den Bausatz gekauft und zusammengebaut. Die Bauteile 
entsprechen den beiden Links, die ich oben gepostet habe. Es ist kein 
DAC darauf.

In der Spezifikation http://mutable-instruments.net/shruthi1/specs
steht folgendes:

Audio quality/resolution

    Internal digital audio signal processing chain: 39216 Hz, 8 bits.
    Internal digital control signals processing chain: 980 Hz, 8 bits.
    Digital outputs: 10 MHz, 1 bit.

Mich wundert die Angabe "Digital Output". Mit 10 MHz liese sich wohl nur 
was über die SPI ausgeben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren