Hallo!
Mir ist klar, dass dieser Thread schon zwei Jahre alt ist, aber es gibt
sicherlich Leute, die ihn durch die Suche finden (so wie ich zum
Beispiel :-)). Deshalb möchte ich gern kurz eine Lösung vorstellen, die
ich selbst probiert habe:
Es gibt externe Clock-Generatoren für I2S. TI hat welche im Angebot
(nach Audio Clock Generator suchen), ich selbst habe einen von MAX
benutzt, den MAX9485. Der braucht einen 27MHz-Quarz als Eingang und
erzeugt eine entsprechende I2S-Master-Clock. Die Samplerate und der
Skalierungsfaktor (256x, 384x) lassen sich entweder durch einfache
Pin-Beschaltung auf High/Low oder per I2C konfigurieren. Der LPC2378
muss dann als I2S-Slave konfiguriert werden, d.h. man braucht einen
Wandler, der Master-fähig ist. Der erhält die MCLK und generiert daraus
SCLK und LRCLK. Die wiederum werden vom LPC2378 empfangen. Das
funktioniert wunderbar und problemlos!
Für alle, die den LPC2378 gern als I2S-Master benutzen wollen, gibt es
von NXP ein (gut verstecktes) PDF, das eine Möglichkeit dafür aufzeigt.
Das befindet sich im folgenden ZIP-Archiv:
http://www.standardics.nxp.com/support/documents/microcontrollers/zip/i2s.usb.audio.demo.zip.
Ich habe dieses PDF auch hier mal angehängt. Ab Seite 18 wird erklärt,
wie man die Clocks erzeugt. Diese Möglichkeit habe ich selbst nicht
ausprobiert, aber da sie direkt von NXP kommt, wird sie wohl sicherlich
auch funktionieren.
Hoffe, dass ich mit diesem Beitrag noch einigen Leuten helfen konnte!
Viele Grüße,
Tim