Forum: Digitale Signalverarbeitung / DSP / Machine Learning I2S-Transceiver mit 32 Bit


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Mark B. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe in der LogiCoreLib von Xilinx einen I2S entdeckt, den ich gerne 
nutzen möchte. Den scheint es kostenlos zu geben. Allerdings unterstützt 
er offiziell nur 16/24 Bit Daten. Wie könnte ich den aufbohren, um auch 
32 Bit zu übertragen? Leider ist der Core wie andere verkrüppelt und 
kann nicht ohne weiteres selber bearbeitet werden. Kann das irgendwie 
multiplexed werden?

von Dergute W. (derguteweka)


Bewertung
0 lesenswert
nicht lesenswert
Moin,

Da wirds doch weniger Arbeit sein, den gschwind' selber zu schreiben, 
wuerd' ich mal vermuten. I2S ist doch wirklich kein Hexenwerk.
Vielleicht gibts ja auch was auf opencores.

Gruss
WK

von i2s (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Mark B. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Dergute W. schrieb:
> Da wirds doch weniger Arbeit sein, den gschwind' selber zu schreiben,
vermutlich, nur ist mir noch nicht klar, wie ich die 32 Bit ins Spiel 
bringe. Das Verhältnis der Abtastsrate (L/R clock) lässt nur 64 bit zu 
und laut Spezifikation werden maximal 24 Bit übertragen. Bei 16 Bit wird 
aufgefüllt, aber was passiert bei 32 Bits? Wir das gefiltert?

Ich meine, es muss ja einen Grund geben, warum Xilinx in seinem 
offiziellen Core das nicht anbietet.

i2s schrieb:
> 
https://github.com/YetAnotherElectronicsChannel/FPGA-Class-D-Amplifier/blob/master/i2s_rxtx.vhd

auch dort entdecke ich keine 32 Bit (?)

von Dergute W. (derguteweka)


Bewertung
0 lesenswert
nicht lesenswert
Moin,

Hm, ja also aeh - was hast du denn vor? Ich denk mal, du hast 
irgendeinen IC, aus dem dein 32bit I2S raus/reinkommt und das willst du 
mit deinem FPGA verbinden, oder? Wenn dem so ist, dann sollte doch im 
Datenblatt des IC beschrieben sein, wie er's gerne haette.

Gruss
WK

von i2s (Gast)


Bewertung
0 lesenswert
nicht lesenswert
24 Bit audio heißt, dass du im Regelfall automatisch 32-Bit samples 
überträgst.

Beispiel 48 khz sample-rate -> macht 2*32*48000 clocks -> 3.072 MHz 
bitclock

Die 24 Bit sind left-alligned in dem 32-Bit Frame drinnen. Die letzten 8 
Bits sind einfach 0.

So gut wie jeder 24 Bit ADC/DAC unterstützt diese 32-Bit form der 
Kommunikation und im DSP kann man direkt als 32-Bit integer dann damit 
rechnen.

Das VHDL Modul oben arbeitet genau mit den 32-Bit frames

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.

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