mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP I2S-Schnittstelle direkt an PDM-Datenstrom?


Autor: MS (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hi,

meine Frage betrifft im Speziellen das STM32F4 Discovery Board.
(Schaltplan unter STM32F4 Discovery Schematics auf 
http://www.st.com/web/catalog/tools/FM116/SC959/SS...).

Dort ist ein Mikrofon (MP45DT02)mit PDM-Ausgang direkt an eine 
I2S-Schnittstelle des STM32F angeschlossen. Das wundert mich, denn ich 
dachte, I2S wäre für einen PCM-Datenstrom und folglich müsste ein 
Schaltkreis dazwischen, der von PDM- in PCM-Daten konvertiert (Bsp: 
ADAU7002 von Analog Devices). Warum geht das auch ohne diese 
Konvertierung bzw. was für einen Unterschied macht das im Endeffekt? 
Muss ich dann in Software konvertieren? Aber im Datenblatt steht 
wiederum ausdrücklich, dass die I2S-Schnittstelle kompatibel ist mit 
1.)PCM 2.)Phillips I2S 3.)LSB-justified 4.)MSB-justified. Nix mit PDM...

Kann mich jemand aufklären?

Martin

: Verschoben durch Admin
Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du runter scrollst findest du einen Link auf die App Note in der es 
erklärt wird:
http://www.st.com/st-web-ui/static/active/en/resou...

Autor: Hi-Tech-Progger S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe dazu eine Frage: Ist bekannt wie der Chip das macht? Ich meine, 
die LIB ist doch letztlich nichts anderes als C-Code und mir ist nicht 
klar, wie der in der Lage sein soll, einen 3MBit-Datenstrom zu 
dekodieren.

Ich nehme an es geht über Timer und Sampling?

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Die Daten werden byteweise über die serielle (SPI-) Schnittstelle des 
STM32 eingelesen. Der in Bytes verpackte PDM-Bitstrom wird dann in 
Software nach PCM konvertiert. Die Bibliothek von ST die das macht 
scheint allerdings nicht open source zu sein.

Autor: Hi-Tech-Progger S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als kleiner Nachtrag dazu:

Wir haben das inzwischen manuell nachgebaut:

- Einlesen mit einem 16-Bit-Schieberegister
- Übergabe an den Controller als 16 Bit Wert mit 192kHz
- Filterung von 8 Datenworten - 2x überlappend
- 48kHz Audiodaten mit 20Bit

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.