I2S Framesynchronisation

OP #4798909
Lesenswert?
• ▲
▼
Hallo,
ich möchte mit einem STM32f4-Discovery Board ein I2S Signal erzeugen.
Mein STM ist als Slave konfiguriert. Ich bekomme von einem anderen Modul 
die SCLK und das WS Signal. Nur leider klappt die Synchronisation nicht. 
Jedes mal wenn ich das Board neu starte ist der Versatz von WS und 
Signal unterschiedlich (siehe Bilder im Anhang).
Das Signal wird mit Hilfe eines Interrupts erzeugt, sobald die 
SPI_I2S_IT_TXE Flag gesetzt ist.

I2S konfigurieren (STM-Board):
1
  I2S_InitType.I2S_AudioFreq = I2S_AudioFreq_8k;
2
  I2S_InitType.I2S_MCLKOutput = I2S_MCLKOutput_Disable;
3
  I2S_InitType.I2S_DataFormat = I2S_DataFormat_16b;
4
  I2S_InitType.I2S_Mode = I2S_Mode_SlaveTx;
5
  I2S_InitType.I2S_Standard = I2S_Standard_Phillips;
6
  I2S_InitType.I2S_CPOL = I2S_CPOL_Low;

239 Senden mit Interrupt:
1
void SPI3_IRQHandler(void)
2
{
3
  /* Check the interrupt source */
4
  if (SPI_I2S_GetITStatus(SPI3, SPI_I2S_IT_TXE) == SET)  
5
  {
6
    SPI_I2S_SendData(SPI3, 1+2+4+8+32+64+128);
7
  }
8
}

Hat jemand eine Idee was man dagegen tun kann? Der WS Pin scheint 
ignoriert zu werden. Im Master Mode ist nichts mehr verschoben. Ich 
möchte es aber im Slave Mode zum laufen kriegen.

Grüße,

Tom
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.