Hi zusammen, ich bin am überlegen mir eine Audio Aussteueranzeige (VU Meter) für mein digitales AmpSystem zu basteln. Dabei sollte der Eingang digital über I2S realisiert werden weil darüber auch mein Amp gespeist wird. Nun ist mir der STM32F105RBT6 ins Auge gefallen, dieser hat ja I2S onboard. Generell könnte ich damit mein ganzes Projekt steuern, optimal also. Wie Aufwendig ist es das am STM32F105RBT6 anliegende I2S Signal auszuwerten und grafisch darzustellen? Ich steck was µC angeht schon etwas tiefer drin, hab mit Atmels schon einiges realisiert aber mir ist noch nicht so ganz klar wie ich das I2S Signal im Controller weiterverarbeiten kann. Brauch ich dafür einen SW Codec? Vielen Dank schon mal, MfG Borsty
I2S ist nur das Protokoll, die Verpackung zur Übertragung. Darin sollte eigentlich rohes PCM liegen ( http://de.wikipedia.org/wiki/Puls-Code-Modulation ). Daraus folgt, dass es ganz konkret die Lautstärke zu Zeitpunkt t ist, die der derzeitige Wert angibt. Das Ganze ist wohl vorzeichenbehaftet. Ich habe derartige Daten so noch nicht verarbeitet, aber das musst du wahrscheinlich realistisch über ein paar ms mitteln und den gewonnenen Wert dann etwa über eine LED-Leiste anzeigen. So würde ich zumindest erst mal anfangen, um die empfangenen Daten zu verstehen, und gegebenenfalls anpassen.
Ok, klingt logisch. Wie kann ich mir die Datenabfrage auf dem I2S Port vorstellen? Läuft das wie TWI bei Atmel, also mit entsprechender Funktion einen read() absetzen und den gelesenen Wert in den Zwischenspeicher schieben?
I2S ist SPI auf dem STM32Fxxx. Also ähnlich wie I2C, nur viel einfacher. Du hast quasi ein Schieberegister - zum Auslesen eines Wertes schiebst du ein Dummy-Byte rein; andersrum erhältst du beim Schreiben ein Dummy-Byte zurück. Hier hast du mal beispielhaft das Setup von SPI, musst dich da aber noch mal reinlesen: Beitrag "SPI-RAM-Bank an STM32F0-Discovery - write, kein read"
Ok, danke. Hab mir jetzt ein STM32F4Discovery bestellt. Mal sehen was draus wird, sind so meine ersten Gehversuche mit ARM :)
Die STM32F4-Disco hat ja sogar schon Mikro und Ausgang drauf, schnuckeliges Teil, liegt hier auch ein paar Tage schon rum. Für solch einfache Aufgaben finde ich das Overkill und zu teuer, setze dafür auf diese billigen Boards: http://www.ebay.de/itm/111297094334 Wobei das sogar ein kleiner Arduino hinbekommen sollte: http://www.ebay.de/itm/291112526853 Nach dem Titel dachte ich, da ist ein bestimmtes Board vorgegeben.
Naja, habs für 16 Euro inkl. Versand bekommen. Finde ich ok.
> Nach dem Titel dachte ich, da ist ein bestimmtes Board vorgegeben.
Wollte anfangs auch den verwenden und eine eigene Platine entwerfen. Zum
erstmaligen Einarbeiten war mir das jetzt aber zu aufwendig. Mit einem
fertigen Discoveryboard kann man halt schön debuggen und hat bei den
ersten Gehversuchen den riesen Vorteil dass man sich nicht um die
Hardware und somit weitere Fehlerquellen kümmern braucht. Soweit ich
weiß kann ich den ST Link vom Discovery später auch für andere Boards
verwenden.
Hehe, jo, die Variante für 16,80Eur mit Versand habe ich auch ;) Ist halt etwas hoch gegriffen. Klar kann man mit einem Core i7 Tetris spielen, aber irgendwie ist das Overkill, wenn der HD-Video in Echtzeit transkodiert und Effekte rechnet ...
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.