Guten Mittag! Ich würde gerne eine kleine Schaltung mitsamt Audio CODEC aufbauen. Dieser besitzt ein I2S Interface. Da ich einen STM32 benutzen wollte, habe ich die Anschlussmöglichkeiten recherchiert. Scheinbar kann ich die Schnittstelle bei machen STM32 mit der SPI oder SAI aufbauen. Was wären die jeweiligen Vor- und Nachteile beider Systeme? Irgendwie lässt sich im Internet wenig bis gar nichts dazu finden. Besten Dank!
Harft Ros schrieb: > Da ich einen STM32 benutzen wollte... Dann lies zuvörderst das Manual etwas genauer. Die SAI-Cores sind im Allgemeinen etwas aufgemotzte I2S mit zusätzlichen Fifos. So etwas entspannt die Benutzung. Die "gewöhnlichen" I2S-Cores bei den STM32 sind zumeist etwas erweiterte SPI-Cores und leider nur 16 bittig. Das macht Probleme, da du ja pro Sample (2x 32 Bit) vier Zugriffe benötigst. Das würde bei 192 ksps ne zierliche Interrupt-Rate von etwa 800 kHz ausmachen - ist also ohne DMA wie die Krätze. Die SAI-Cores sind m.W. zumeist 32 bittig und dank Fifo kann man es so einrichten, daß man tatsächlich nur Interruptrate = Samplerate hat. Was dabei an Takten für die Bearbeitung pro Sample bleibt, darfst du selber je nach deinem Ziel ausrechnen. Falls du mit 16 Bit Samples zurechtkommst und einen M4F benutzt, kannst du ggf. dir dadurch Luft verschaffen, daß du die DSP-Befehle benutzt, bei denen du 2 Samples pro Takt bearbeiten kannst. Aber das ist Festkomma und muß folglich passend skaliert sein. Mein Rat: lies dir auch mal die Manuals von anderen Herstellern durch. Da findet sich gerade bei I2S bzw. SAI etwas besseres als bei STM32. Hier gab's doch neulich nen Thread über einen dafür passenden Chip von NXP oder Freescale mit 400 MHz Takt oder so ähnlich. Ach such einfach selbst danach. W.S.
Ich habe den SAI verwendet, der ist auch ausschließlich dafü gedacht. Damit habe ich - mit wenigen Zeilen Code (ohne HAL versteht sich) einen CS4344 (oder so) angesprochen. Hat wunderbar funktioniert. SAI ist halt direktere Programmierung, als eine SPI zu einer i2s umzuwurschteln.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.