Hallo, ich suche einen uC für USB Audio Anwendungen. Letzlich sollte über I2S ADC/DACs angebunden werden Daher im Prinzip eine programmierbare Soundkarte Nach einiger Recherche bin ich auf den STM32F401xB gestossen Meine Wunschliste wäre preis <5$ /1000er Arm M0/M4 USB IF/Phy 2.0 full speed ggf auch high speed I2S bis Fs=192kHz (damit fallen die kleinen LPCs raus) integrierte Audio PLL wäre gut (wie der STM32F401xB) kein BGA gute USB Bibliotheken um das Rad nicht neu zu erfinden langzeitverfügbar, daher wäre ein häufiges Exemplar besser Gute Demoboards (dürfen auch mehr als 10Euro kosten) Gute Entwicklungstool/Debugger aber ohne run-time fee Der STM32F401xB erfüllt von der HW eingentlich alles, ich habe nur keine Demoboards gefunden und habe so auch meine Zweifel mit der breiten verfügbarkeit. Da ich keine Atlasten berücksichtigen muss bin ich auch flexibel Über Vorschläge würde ich mich freuen Frank
Frank J. schrieb: > Der STM32F401xB erfüllt von der HW eingentlich alles, ich habe nur keine > Demoboards gefunden Weder bei den Nucleos noch bei den Discoveries? Glaube ich nicht. Es gibt einen Nucelo mit STM32F401RE, ich sehe nicht warum der nicht für den OP reichen sollte.
nimm ein Discovery board http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/32f411ediscovery.html http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/stm32f4discovery.html http://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/32f746gdiscovery.html
Am besten achtest du aber bei den Disco Boards drauf, das da schon externer RAM mit drauf ist. Der interne RAM der STM32 z.B. ist jetzt nicht so riesig, das du da lange Samples speichern kannst. Von den oa. ist das STM32F7 zwar gross, hat aber SDRAM mit drauf. Das STM32F429 Discovery hat wie das F7 Board 8 MB RAM.
Teensy 3.2 Die haben auch ein eigenes Audioboard (DAC) welches über I2S bedient wird. https://www.pjrc.com/teensy/td_libs_Audio.html https://www.pjrc.com/store/teensy3_audio.html
Danke für die Tips der STM32F401xB scheint brandneu zu sein. Ich war nicht sicher inwieweit man ein "normales" disco board nehmen kann ohne nachher allzu große Überaschungen zu erleben. Das scheint aber in der Familie kein Problem zu sein. Frank
Willst Du auf dem Prozessor eigene Filter rechnen, oder warum reicht eine einfache USB-Soundkarte für <10€ nicht? Wie viel Rechenleistung brauchst Du? fchk
DSP wäre nicht wichtig, da das auf dem host gerechnet wird. Einfache soundkarten gehen nicht, da hier Abtastrate und Dynamik wichtig sind Das ganze sollte schon 192khz 24bit hinbekommen, daher mit externem I2S DAC/ADC. Lösungen ala PCM2901 wären zu einfach ;-) Das könnte man sicher mit den hochspezialisierten XMOS Lösungen machen, das ist aber für Stückzahlen <1000 nicht wirtschaftlich. Mir ist keine soundkarte mit 192kHz 24 bit bekannt die USB Audio 1.1 klassenkompatibel ist und auch noch klein und günstig ist Ich komme um ein eigenes PCB nicht herum, da auch noch spezielle analog Elektronik dazukommt, die auch konfiguriert werden möchte Da bin ich mit uC und USB HID Kommandos am flexibelsten. Hinzukommt das ich ggf von dem Isochronen USB Mode weg möchte, da das unter windows häufig zu Aussetzern (Drop-out) führt. Da wird dann pufferspeicher wichtiger. An DSP reicht eine Skalierung. Grundstäzlich würde ich aber auch mehr investieren, das muss nicht auf kante genäht sein, sollte nur in ein Mikrofongehäuse passen und via USB mit <500mA auskommen. Alternative wäre auch ein kleiner sharc DSP Die STM32F4 Familie sieht erstmal sehr interessant aus.
Frank J. schrieb: > Mir ist keine soundkarte mit 192kHz 24 bit bekannt die USB Audio 1.1 > klassenkompatibel ist und auch noch klein und günstig ist Schon klar. USB Audio 1.1 kam vor USB 2.0 und ist daher auf Full Speed 12 MBit/s ausgelegt. Daher die Begrenzung auf 48k/16Bit/Stereo/bidirektional. Der Standard umfasst eben nicht mehr. 192k*2 Kanäle*24 Bit ergeben überschlagsmäßig etwa mehr als 9 MBit/s netto(!), und das passt eben in die 12 MBit/s brutto(!) von USB Full Speed nicht mehr rein. Wer mehr will, greift eben zu USB Audio 2.0. Dafür ist das da. Dass Microsoft hier lange Zeit gepennt hat (beim aktuellen Windows 10 ist er endlich dabei), dafür kann niemand was. > Hinzukommt das ich ggf von dem Isochronen USB Mode weg möchte, da das > unter windows häufig zu Aussetzern (Drop-out) führt. Auch der steht so im USB Audio 1.1 Standard drin - so verstehe ich den zumindest. Wenn Du das änderst, bist Du nicht mehr zum Standard konform. fchk PS: Vorschlag von mir: http://www.microchip.com/wwwproducts/en/PIC32MZ0512EFE064 Ist zwar MIPS statt ARM, hat aber USB 2.0 High Speed (das ist Voraussetzung für 192k/24 Bit) und I2S/AC97 Codec Interface. Bei STM32F4 hast Du nur Full Speed USB Transceiver eingebaut, und für Deine Audioformate ist das eben zu wenig. fchk
:
Bearbeitet durch User
Sobald man nicht mehr ISO transfers nimmt, ist es nicht mehr klassenkompatibel und man kommt an einem eigenen Windowstreiber nicht vorbei, was dank libUSB auch kein Hexenwerk mehr ist. Eine solche Betriebsart ist man von professionellen Messkarten gewohnt (picoscope, Datatranslation etc) Hat beides vor und nachteile. Zumindest wollt eich mir mit einer programierbaren Lösung beide Varianten offenhalten Bei Windows 10 habe ich die neuen USB Audio 2.0 (nicht USB 2.0) Treiber noch nicht ausprobiert, nach 10 Jahren könnte das ja mal was sein. scheint aber nur playback zu können
Frank J. schrieb: > Bei Windows 10 habe ich die neuen USB Audio 2.0 (nicht USB 2.0) Treiber > noch nicht ausprobiert, nach 10 Jahren könnte das ja mal was sein. > scheint aber nur playback zu können Angeblich hat M$ das XMOS-Zeugs lizensiert. Ich hab das auch nur so am Rande mit verfolgt, aber ich traue denen zu, etwas zu knauserig gewesen zu sein, wenn es tatsächlich nur Wiedergabe ist. fchk
Ich habe erstmal ein Disco board bestellt, parallel werde ich mir aber auch die Microchip Variante anschauen (wegen des USB 2.0 high speed PHY). Solange die Boards unterwegs sind habe Zeit mich um passende IDEs und frameworks zu kümmern. IDE wird wohl "System Workbench for STM32" Beim framework bzw. bibliotheken bin ich noch unsicher. Ich brauch ja im wesentlichen I2S und USB client mit Audio 1.1 class. Arduino wäre natürlich ganz spannend wegen der HW Unabhängigkeit, aber das dürfte hier nicht funktionieren
Du hast aber schon verstanden, das sowohl Full Speed USB als auch USB Audio 1.1 für 192k/24 Bit/stereo nicht funktioniert? fchk
Frank J. schrieb: > Arduino wäre natürlich ganz spannend Der Teensy 3.2, den ich oben erwähnte, wird über Arduino-IDE programmiert. Die Unterstützung der Hardware des Teensy ist wirklich sehr gut. Der "Macher" des Boards ist sehr engagiert. Hier hat jemand den Teensy mit Audio über USB verwendet. http://openaudio.blogspot.de/2016/10/teensy-audio-over-usb.html Da ist immerhin ein ARM mir ca. 80MHz drauf. Uns es gibt noch den Teensy 3.6 der hat 180MHz und auch USB. Nee, ich bekomm nix dafür aber ich finde die Dinger recht gut.
:
Bearbeitet durch User
Frank J. schrieb: > Sobald man nicht mehr ISO transfers nimmt, ist es nicht mehr > klassenkompatibel und man kommt an einem eigenen Windowstreiber nicht > vorbei, was dank libUSB auch kein Hexenwerk mehr ist. Alles klar wie willst den Audiopart mit libusb lösen? Alles kein Problem dann mach Mal. > Eine solche Betriebsart ist man von professionellen Messkarten gewohnt > (picoscope, Datatranslation Das sind alles keine Soundkarten. Usb1 Audio schaft max 8 Kanäle mit 16 Bit und 48kHz. Entsprechend bleiben bei 24Bit 96k nur noch 2 Kanäle übrig. Wenn du mehr willst braucht es usb2 Audio. OS Support dann wohl nur für win10. Ansonsten bleibt noch der Thesycon usbaudio Treiber. Thomas
Das ganze entspricht zwar einer Soundkarte. Es wird aber für (audio)-Messanwendungen genutzt. Daher muss ich nicht zwingend einen Soundkartentreiber haben. Um in einer eigenen Anwendung auf die Streaming-Daten via USB und einem proprietären Protokoll zuzugreifen, ist mit libusb kein Problem und einfach. Einen "echten" soundkartentreiber zu entwickeln ist eine andere liga und auch sinnfrei für dieses Projekt. Wenn man doch bei ISO transfers bleibt, sollte das tunlichst klassenkompatibel sein. Offenbar kann der von Thesycon gekaufte und von M$ in win 10 integrierte Audio 2.0 Treiber doch auch recording. Daher wird die audio 2.0 Geschichte doch langsam spannend. Es wird sicher aber noch dauern bis das in der breiten Windows installation verfügbar ist. Ich sehe aber auch ein, mit einem 11mbit USB Phy baut man sich eher eine Sackgasse. Bei den Microchip Typen sehe ich die (vermutlich) geringere Verbreitung als Problem. Aus der STM32 Familie gibt es nichts in der Größenordnung mit USB 2.0 high speed PHY? Ich recherchiere hier noch weiter. Das bestellte disco board schadet aber nicht zum spielen ;-)
Frank J. schrieb: > Aus der STM32 Familie gibt es nichts in der Größenordnung mit USB 2.0 > high speed PHY? Doch gibt es: STM32F723/733
ich hatte auch den STM32F417VE entdeckt. Das ist schon ein wenig "fett" . Spontan würde ich was mit 64 pins also geringerer Baugröße bevorzugen. Wie gesagt BGA sollte es nicht sein
Bei der Freescale/NXP scheinen nur die "dicken" high speed zu können. Schade dass ich bei der empbedded world krank war, da hätte man sicher was gefunden. Aktuell halte ich fast den microchip für alternativlos
Frank J. schrieb: > mit USB 2.0 high speed PHY Hat der Teensy 3.2. Frank J. schrieb: > Spontan würde ich was mit 64 pins also geringerer Baugröße Der beimTeensy 3.2 verwendete Prozessor Freescale MK20DX128 hat ein 64 PIN LQFP Gehäuse. Hast du dir den wenigstens mal angesehen? Der sollte deine Wünsche erfüllen wenn ich mich nicht sehr täusche.
Ich würde eher zu den XMOS-ICs greifen als zu fetten STM32ern. Die ICs dürften sich preislich im EK nicht viel nehmen, bei XMOS gibt es aber einen Haufen fertiger Audio-Libs die man recht einfach zusammenstricken kann um daraus USB Audio<->I2S Interfaces in allen Varianten zu bauen. Bei STM32 ist die Hardware zwar gut dokumentiert, Du bekommst aber viel weniger fertigen Beispielcode für solche Interfaces. Du musst also relativ viel selbst entwickeln. Bei XMOS hast Du hinterher ein echtes USB Audio 2 Interface. Wenn Du Audio-Messungen machen willst, kannst Du also direkt Programme wie ARTA, Rightmark, HpW Works, etc. verwenden. Für Win < 10 musst Du natürlich Treiber kaufen. Aber sieh es mal so: Wenn Du sagen wir mal Ende dieses Jahres mit Deinem Produkt fertig bist und auf den Markt kommst, ist es nur noch 1 Jahr bis zum EOL von Win 7. Die Verbreitung von Win 8.1 ist im Vergleich zu 7 gering. Im Laufe von 2019 werden also die meisten Leute zu Win 10 migrieren müssen. Daß Dein Produkt dann für Win < 10 Aufpreis kostet, interessiert dann also nur noch einen kleinen Teil der Kunden.
Ach ja, der beim Teensy verwendete Controller ist auch ein Cortex-M4......
Habe mal die Datenblätter zu den K20 M4 Chips von Freescale durchgewühlt. Ich finde da nur full speed
Frank J. schrieb: > nur full speed Oh, da hab ich was verwechselt. Hi-speed bietet 480Mbit. Ich dachte es wäre Full Speed gewesen. Deshalb hab ich da garnicht weiter nachgesehen. Ich las nur full speed und dachte: passt.
Beitrag #5337504 wurde vom Autor gelöscht.
ja ist schade, die Teensys fand ich so ganz spannend. offenbar ist hier noch eine Produktlücke 64pin M4 mit schneller USB Anbindung, nur der microchip hat das bisher Microchip board ist bestellt. Ich denke die STM Familie wird da üver kurz oder lang aufschliessen Das disco ist schon da, da fällt mir sicher auch noch eine Anwendung an, für 192khz/24bit 2ch aber eben leider nicht. Mal schaun wie idiotensicher das microchip paket ist. Grundsätzlich finde ich die XMOS variante gut, wo man erprobte Sachen übernehmen kann. Für mein 2 kanal projekt ist der mir aber zu gross. Nochmal vielen Dank für die vielen Anregegungen. Ich werde aber auch über meinen Erfolg/Misserfolg berichten.
die ganzen STM haben nur full speed PHY ( 12Mbit ) die größeren noch das ULPI zum anbinden eines High speed PHY
43222342 schrieb: > die ganzen STM haben nur full speed PHY ( 12Mbit ) die größeren noch das > ULPI zum anbinden eines High speed PHY Wenn man keine Ahnung hat, sollte man nicht schreiben. Ich habe schon oben geschrieben welche stm32 High Speed USB haben MIT integrierter phy. die m7 Serie von atmel hat übrigens auch hs USB. Unter 100 Pins habe ich da aber noch nichts gesehen.
Frank J. schrieb: > IDE wird wohl "System Workbench for STM32" Ich würde mir als Alternative auch mal Atollic TrueSTUDIO angucken. Letztens hat ST die Firma Atollic übernommen und nun gibt es sogar die volle PRO Version völlig kostenlos: https://atollic.com/truestudio/
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.