Guten Abend, ein Stereo (Audio) ADC digitalisiert das Ausgangssignal eines Audio Verstärkers, das entstehende I2S Signal wird in einen STM32 gegeben und dort ausgewertet. Ein großes VFD (GU256-64-900A) zeigt den Pegel in dBu sowie den maximalen Pegel mit hold Funktion nach dem Bargraph Prinzip. Ein Klassisches VU und PPM. Datenblatt vom Display: http://www.qscomp.cz/Pdf/GU256X64-900A.pdf Klingt erstmal einfach, ich frage mich aber ob das für einen Anfänger zu schaffen ist? Mir fällt es gerade sehr schwer einen Passenden uC auszuwählen, wichtig ist nur das er mit dem Clock den der Audio ADC sehen will (wohl die klassischen 22.5792 MHz) arbeitet. Ansonsten gibt es nicht viel zu tun, ein paar Taster abfragen, 4 Relais schalten und Dinge auf dem Display anzeigen. Alles was ein Atmega8 auch könnte. Wie schätze ich ab welchen uC ich am besten verwenden kann? Ganz toll wäre einer der an 5V läuft denn das Display und der ADC arbeiten mit dieser Spannung, man spart die Pegelwandler. Danke! Gruß, Jan
Was haben die 22.5792 MHz des ADC mit den µC der Anzeige zu tun wenn das Signal über I2S herreinkommt? Die Clockrate für SCK liegt doch bei 44.1 kHz bei 1.4112 MHz richtig? Ich kenne keinen STM32 der 5V direkt treiben kann.
>Was haben die 22.5792 MHz des ADC mit den µC der Anzeige zu tun wenn das >Signal über I2S herreinkommt? Die Clockrate für SCK liegt doch bei 44.1 >kHz bei 1.4112 MHz richtig? S/PDIF verwendet 32Bit Wortbreiten bei 2 Kanälen und 44,1kHz sind es 2.8224Mhz. Die meisten modernen ADCs wollten aber ein paar Dutzend Mhz, wählt man eine niedrigere Abtastrate nutzen die dann Oversampling. Geschickt wäre halt wenn man den Clock vom uC übernehmen könnte bzw. aus seinem clock teilen. Die beiden werden sich einen Quarz teilen, das macht es einfacher. Ein anderer uC wäre auch denkbar wobei ich den ADC sowieso über ADUMs trennen will, die machen auch die Pegelanpassung. Gruß, Jan
Datenblatt würd ich das jetzt nicht nennen, da fehlt ja völlig das
Protokoll.
> A full data sheet is available.
Das musste dir erstmal besorgen.
Ansonsten brauchst du jetzt nicht unbedingt einen externen ADC.
Ein interner 12Bit ADC reicht erstmal für eine Anzeige.
Das würde die Sache schonmal erleichtern.
Mw E. schrieb: > Ansonsten brauchst du jetzt nicht unbedingt einen externen ADC. > Ein interner 12Bit ADC reicht erstmal für eine Anzeige. Klar, für eine 12Bit-Anzeige (entspricht einem Dynamikumfang von 72dB) reichen 12 Bit...
Moin, Jan schrieb: > Klingt erstmal einfach, ich frage mich aber ob das für einen Anfänger zu > schaffen ist? Da ist die Antwort doch sonnenklar: Es kommt auf den Anfaenger an. Klar wirds Anfaenger geben, die das schaffen. Es wird auch Master-of-electrical-Gedoens-Absolventen mit 1er Abschluss geben, die das nicht schaffen. Ob du's schaffst, wirst nur du selber beantworten koennen. Gruss WK
Die Anzeige soll 90-100dB Dynamik darstellen können. Deshalb wird ein mindestens 16 Bit Wandler benötigt. Für die Peak Detection muss das auslesen auch sehr schnell sein, damit wird eine Clipping Anzeige gemacht.
Mit mehreren Codecs, deren Wandelbereiche sich ergaenzen, kannst du auch spielend einen Dynamikbereich von 120 dB erreichen. Da duerften dann selbst die Profis staunen!
Dummbeutel schrieb: > Da duerften dann selbst die Profis staunen! Davon ist wohl auszugehen. Wenn irgendeine Lösung die Grenzen der in diesem Universum geltenden Physik sprengt, da bleibt den Profis ja nur das Staunen... Das ist schon seit der Einbit-Kompression Dauerthema. Und man kommt aus dem Staunen gar nicht mehr raus, seitdem es die Maker und Arduidioten gibt... Was die alles rausfinden, um die Grenzen dieser langweiligen Physik zu sprengen, deren Anhänger ja sowieso nur Alte Säcke und eher ein mittelalterlicher Orden der Ewiggestrigen sind. Hochachtung...
c-hater schrieb: > Klar, für eine 12Bit-Anzeige (entspricht einem Dynamikumfang von 72dB) > reichen 12 Bit... Dat soll ja auch erstmal ein Anfängerprojekt werden und kein Studioequipment. Da reichts erstemal ein STM32 Discovery zu schnappen und das Display ranzuhäkeln, der Rest ist Software. Wenn das dann läuft kann man sich die Baustelle von I2S und einem eigenen PCB aufmachen.
> seitdem es die Maker und Arduidioten gibt...
Ohne die passende Library laeuft bei denen gar nuex.
Wenn es euch leichter fällt denkt einfach das ich ein Eval Board von meinem ADC benutze, die Daten also mit den 90dB Dynamik beim uC ankommen. 90dB sind für Audio ADCs nichts, das haben schon die CD-Player aus den 80ern geschafft.
Jan schrieb: > 90dB sind für Audio ADCs nichts, das haben schon die CD-Player aus den > 80ern geschafft. Soso dann mach mal.... Als Anfänger sind schon mehr als 80 db anspruchsvoll. Zumal dann ja auch noch das Problem mit dem Messen dazukommt. Du hast vermutlich keine AP zur Verifikation zur Verfügung. 16bit entspricht übrigens ziemlich genau 96db. Thomas
Ich bin uC Anfänger, Analogschaltungen sind mein Hobby. Da bin ich zuversichtlich zumindest diesen Teil zu schaffen. Es geht nur um das Programmieren und die Wahl des uCs.
Moin, Jan schrieb: > Es geht nur um das > Programmieren und die Wahl des uCs. Du kannst davon ausgehen, dass wenn der uC einen I2S Port hat, er auch dicke von der Performance her fuer ein VU Meter reicht. Gruss WK
Dergute W. schrieb: > Du kannst davon ausgehen, dass wenn der uC einen I2S Port hat, er auch > dicke von der Performance her fuer ein VU Meter reicht. Wenn er zumindest einigermaßen kompetent programmiert wird, sollte man wohl ergänzen... Arduino, ick hör' dir trappsen...
Jan schrieb: > 90dB sind für Audio ADCs nichts, das haben schon die CD-Player aus den > 80ern geschafft. Was hat ein ADC im CD Player verloren?
>von Dummbeutel (Gast) >22.01.2020 19:41 >> seitdem es die Maker und Arduidioten gibt... >Ohne die passende Library laeuft bei denen gar nuex. Ja, aber wenn man dann das passende Beispiel für z.B. einen ESP32 nimmt https://github.com/espressif/arduino-esp32/blob/master/libraries/ESP32/examples/I2S/HiFreq_ADC/HiFreq_ADC.ino Ist man damit sehr viel schneller und kostengünstiger unterwegs als ein verknöcherter alter Dummbeutel.
>Du kannst davon ausgehen, dass wenn der uC >einen I2S Port hat, er auch dicke von der >Performance her fuer ein VU Meter reicht. Ok, Danke! >Was hat ein ADC im CD Player verloren? Missverständlich ausgedrückt. Damals waren bei der AD/DA Wandlung eben auch schon 90dB (oder 96dB) Dynamik drin. Vermutlich schon in den 70ern als man die ersten Aufnahmen gemacht hat.
mit einem STM32 F4 oder F7 Discovery kannst du problemlos eine FFT laufen lassen( mit peak hold ) du hast direkt ein display und einen vernünftigen Audio ADC onboard Glaube sogar eine App-Note macht das fast von alleine ...
Jan schrieb: > Klingt erstmal einfach, ich frage mich aber ob das für einen Anfänger zu > schaffen ist? Mir fällt es gerade sehr schwer einen Passenden uC > auszuwählen, wichtig ist nur das er mit dem Clock den der Audio ADC > sehen will... Geh systematisch vor. Also zuerst mal eine Art Übersichts-Schaltplan, was du realisieren willst. Schau dich dann nach dir passenden Stereo-ADC's bzw. Codecs um. Die wollen je nach Samplerate bestimmte (krumme) Taktversorgung haben. Also sieh dich auch nach den dafür nötigen Quarzoszillatoren um. Als nächstes guck, welche Controller eineen "SAI" Peripheriecore haben. Bei gewöhnlichen I2S kann es dir nämlich passieren, daß das nur aufgebohrte SPI sind und daß die dann nur 16 bittig arbeiten, keinen Fifo haben usw. Also lies das jeweilige Manual und dort den Abschnitt zum SAI und zu I2S gründlich. Danach kannst du entscheiden, ob dir Chip und Manual gefallen oder eher nicht. W.S.
Jan schrieb: > 90dB sind für Audio ADCs nichts, das haben schon die CD-Player aus den > 80ern geschafft. und nur sehr wenige habens je gehört! (PS CD 16 bit 96dB) Überlegen wir mal, Stiller Raum, Hörschwelle um 40dB leises Weckerticken dazu also um deine 90dB zu hören sollte man die 40dB überschreiten, ergibt bis 130dB kann man schaffen aber nicht jeder Lautsprecher und ein Genuß ist es nicht. Oberhalb von 60dB wird Messtechnik anspruchsvoll, kann nicht jeder!
@Jan Schau mal ein Evalboard mit STM32F407VETx an, der hat I2S und mit <10€ ist das brauchbar. CubeMX erleichtert die Konfiguration. I2S als Slave nimmt dann die Datem vom ADC in dessen Atkt entgegen. DMA schiebt sie ins RAM und schon kann die Display-Methode aufbereiten. Beitrag "STM32F407 Black und Arduino"
Fred der Dummschwaetzer schrieb: > Ist man damit sehr viel schneller und kostengünstiger unterwegs als ein > verknöcherter alter Dummbeutel. Wenn ich Bibliotheken und Libraries benutze, dann solche die sich in mein Projekt einpassen lassen. Und nicht umgekehrt. Damit bin ich in der Summe noch sehr viel schneller fertig, als wenn ich mir diesen unsaeglichen C-- Murks antun muesste. (Wo dann die Performance hinten und vorne nicht stimmt.) Auf kostenguenstig bin ich nicht besonders angewiesen. Ich kann die Preise auf den Kunden umlegen. Programmiertip: Wartendes Pollen auf das Ende einer DMA-Uebertragung ist nicht besonders performant.
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.