Forum: Digitale Signalverarbeitung / DSP / Machine Learning SigmaDsp ADU1761


von DSP Beginner (Gast)


Lesenswert?

Hallo,

ich möchte den ADAU1761 von einem Mikrocontroller steuern.

Dazu gibt es 2 Möglichkeiten:

a) I2C
b) SPI

Welches Interface ist denn besser geeignet ? Oder sollte
man diese Frage entsprechend der Wahl des Controllers beantworten ?

Des weiteren verstehe ich nicht, wie man ein Safeload Write
in "C" programmiert. Hätte jemand vielleicht ein Beispiel für mich ?
Im ADI-Forum habe ich schon alles durchgelesen, danach war ich nur
noch verwirrter.


Gruß an Alle

von Kurt H. (Firma: KHTronik) (kurtharders)


Lesenswert?

Ob Du über SPI oder I2C kommunizieren willst, hängt von Deinem Prozessor 
ab. I2C ist meist etwas aufwändiger, da "das hin und her" im Gegensatz 
zu SPI nacheinander von Dir organisiert werden muss.

Das safe load write ist beim ADAU1761 anscheinend nicht ganz unkritisch. 
Wenn ich das Datenblatt korrekt lese, darfst Du nur alle Sampleperiode 
einen Write ausführen. Du lädst also die Daten in die fünf safe load 
register, in Register 6 die Zieladresse und in Adresse 7 die Anzahl der 
Worte. Dann startest Du den safe load write. Jetzt musst Du mindestens 
so lange warten, bis eine Sampleperiode vorbei ist. Bei 48kHz würde ich 
dann zu Sicherheit 50us warten.
HTH, Kurt

von DSP Beginner (Gast)


Lesenswert?

Hallo Kurt,

danke für deine Antwort, es bleiben aber noch Fragen
offen.

Was mache ich mit dem dem modulo "Register" 0 ?
Haben die Register alle die Größe von 4 Bytes ?

Die Wartezeit ist mir verständlich, da der "Registersatz"
von der DSP Applikation erst abgearbeitet werden muß, bis er wieder zur 
Verfügung steht. Ich vermute, das das Register 7 nach der Abarbeitung
wieder auf 0 gesetzt wird ?

Viele Grüße

von Kurt H. (Firma: KHTronik) (kurtharders)


Lesenswert?

DSP Beginner schrieb:
> Was mache ich mit dem dem modulo "Register" 0 ?
Den Wert reinschreiben, den Dir der SigmaStudio-Compiler vorgibt.
> Haben die Register alle die Größe von 4 Bytes ?
Die Safeload-Register sind jeweils 4 Byte lang.
Zum Register 7: Laut Datenblatt wird der Safeload gestartet, wenn Du 
Register sieben schreibst. Also solltest Du nur dann schreiben, wenn in 
1-5 und 6 sinnvolle Werte stehen.
Wenn Dinge im Datenblatt wirklich unklar sind, kann man auch an ADI 
schreiben. Die haben mich nach einer Anfrage innerhalb eines Werktages 
zurückgerufen. Ich war total platt. Und das ohne dass große Stückzahlen 
winken.
Grüße, Kurt

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.