Probleme mit PCM1774 I2S DAC

Gast #4650388
Lesenswert?

Servus,

ich bekomme es nicht hin, das ein Ton aus dem DAC rauskommt. Die Takte 
habe ich per Logikanalyzer geprüft und die scheinen ok zu sein.
Eventuell liegt es an der Bytefolge dich ich per I2S schicke.
Könnte vielleicht jemand drauf schauen bitte.
Im Grunde genommen möchte ich mit einem STM32F107 eine 16kHz PCM 
abspielen.


Grüße,
Franz
Angehängte Dateien:
#4650957
Lesenswert?

Franz schrieb:
> Ja, das der mclk aus dem stm32

Sieht der wirklich so Kacke aus, wie vom LA dargestellt?
Der DAC benötigt eine einwandfreie zeitliche Referenz mit möglichst 
wenig Jitter.

Wieso sind C1 und C2 nicht auf der Oberseite, um auf der Unterseite eine 
durchgehende Massefläche zu ermöglichen?

Wieso sind nicht alle Massepins  mit dem PAD verbunden?

An Pin 8 ist noch ein Gummiband über.

Der Chip wird korrekt konfiguriert?



Gruß

Jobst
(Firma: matzetronics) #4651123
Lesenswert?

Jobst M. schrieb:
> Der Chip wird korrekt konfiguriert?

Und das gilt auch für den STM32 - der Chip ist korrekt konfiguriert? Ich 
sehe da keinerlei Vorrichtung zum Debuggen und das solltest du mal bitte 
machen.
Die StdPeriphLib hatte z.B. nette kleine Bugs in der Initialisierung von 
I2S, die sich vor allem auf die MCLK bezogen - die bei dir sehr 
eigenartig aussieht.
Mach dir mal eine Debug Routine, in der du dir die Register für I2S und 
Clock anzeigen lassen kannst und am besten auch eine Fehlerausgabe bei 
der ganzen I2C Initialisiererei.
Da sehe ich im Moment auch nur ein 'Ich sende I2C und es wird schon gut 
gehen', ohne jegliche Fehlerbehandlung.
Als Beispiel - die Audioausgabe auf dem F407 Disco Board ist ein hartes 
Stück Arbeit, z.T. wg. der oben genannten Bugs, z.T. auch, weil der 
Cirrus Chip eine nette undokumentierte Init Sequenz braucht, von der ST 
natürlich nichts weiss - und ich auch nicht, wenn nicht Uwe B. da mal 
tief recherchiert hätte.
Gast #4651553
Lesenswert?

Ich jetzt mal mit einer Samplingrate von 100MHz und einer Auflösung von 
10ns an den MCLK ran gegangen.
Wie Falk schon vermutet hatte, scheint das Signal tatsächlich ok zu 
sein.

Mein Problem scheint evtl. wo anders zu liegen.
Angehängte Dateien:
(Firma: matzetronics) #4652367
Lesenswert?

Franz schrieb:
> Die I2S Einstellungen am STM32 scheinen ok zu sein,

Da bin ich mir nicht sicher, denn deine Masterclock liegt mit 8MHz 
völlig neben dem, was der PCM1774 als gültige Clock akzeptiert - zumal 
du Register 70 (und auch Register 84-86) auch gar nicht beschreibst und 
damit die Voreinstellung nimmst.
Damit bist du bei Deemphasis Filter aus, I2S Input Format und fs*128 
Masterclock für Register 70.
Edit: Register 70 tust du wohl doch, ist ein define verpackt.

Register 84-86 bestimmen dann Masterclock Divider (siehe dazu Tabelle 9- 
Tabelle 11 im DaBla des PCM) und die MSR:NPR Bits.

Deine Masterclock sollte also für die typischen Audio Standards z.B. 
6,144Mhz, oder 8,192 Mhz sein oder Vielfache davon.
Gast #4652525
Lesenswert?

Matthias S. schrieb:
> Franz schrieb:
>> Die I2S Einstellungen am STM32 scheinen ok zu sein,
>
> Da bin ich mir nicht sicher, denn deine Masterclock liegt mit 8MHz
> völlig neben dem, was der PCM1774 als gültige Clock akzeptiert - zumal
> du Register 70 (und auch Register 84-86) auch gar nicht beschreibst und
> damit die Voreinstellung nimmst.
> Damit bist du bei Deemphasis Filter aus, I2S Input Format und fs*128
> Masterclock für Register 70.
> Edit: Register 70 tust du wohl doch, ist ein define verpackt.
>
> Register 84-86 bestimmen dann Masterclock Divider (siehe dazu Tabelle 9-
> Tabelle 11 im DaBla des PCM) und die MSR:NPR Bits.
>
> Deine Masterclock sollte also für die typischen Audio Standards z.B.
> 6,144Mhz, oder 8,192 Mhz sein oder Vielfache davon.

Ok, danke Matthias. Denke das Problem nun erkannt zu haben.

Wie schaut es mit der Hardware aus? Kann man dies so durchgehen lassen?
#4654046
Lesenswert?

Franz schrieb:
> Was spielt es für eine Rolle wenn die beiden Kerkos unten sind?

Habe ich doch geschrieben!


Franz schrieb:
> Das Pad ist kein Massepad

Du hast es dennoch an Masse gelegt. Dann aber bitte auch überall.


Franz schrieb:
> zudem habe ich dort auch keine thermische vias.

Noch ein Grund, um dort möglichst viele Leitungen hin (bzw. weg) zu 
legen.

Ach ja: Was meinst Du denn, wie lange das gut geht? Ich meine, glaubst 
Du der Hersteller hat das Ding da aus Spaß hingesetzt?


Ach, lass es doch so. Funktioniert doch prima ...


Gruß

Jobst
Gast #4654580
Lesenswert?

Jobst M. schrieb:
> Franz schrieb:
>> Was spielt es für eine Rolle wenn die beiden Kerkos unten sind?
>
> Habe ich doch geschrieben!
>
> Franz schrieb:
>> Das Pad ist kein Massepad
>
> Du hast es dennoch an Masse gelegt. Dann aber bitte auch überall.

wegen der durchegehen massefläche sagtest du mal. Aber Wozu ist das in 
dem Bereich noch notwendig, etwas wegen der Impedanz der leitungen im 
Top Layer?

Jobst M. schrieb:
> Ach ja: Was meinst Du denn, wie lange das gut geht? Ich meine, glaubst
> Du der Hersteller hat das Ding da aus Spaß hingesetzt?

Die Platine habe ich selbst hergestellt, und am pad kann ich keine 
thermal vias setzten mit den Nieten. Wenn die Platine läuft, dann werden 
dort sicherlich Thermal Vias sein.

Jobst M. schrieb:
> Ach, lass es doch so. Funktioniert doch prima ...

eben noch nicht.

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