Hallo Leute Ich bin auf der Suche nach einem Chip, der die Kommunikation zwischen einem ADC mit AES oder SPDIF Ausgang und dem PC übernimmt.(Quasi eine digitale Soundkarte) Also mit USB oder FW interface. Gibt es dafür fertige Chips? (Dass man dufür die Driver selbst schreiben müsste, ist mir durchaus bewusst) Soll 24Bit 96kHz fähig sein - wenn Multichannel, umso besser. Bis jetzt habe ich nur den TI PCM2906 gefunden, der ist aber limitiert auf 16Bit 48kHz(richtig?) und hat eingebaute AD/DA, die ich nicht brauche. Wäre für jede Hilfe dankbar. Gruß Dimok
> Wäre für jede Hilfe dankbar.
Dann suche mal auch der Homepage von TI. Die hatten verschiedene
solcher USB-Soundkarten und da waren auch welche mit SPDIF drin.
Ich haette jetzt aber nicht gedacht das SPDIF 24Bit/96khz kann.
Olaf
Ich würde mal in den Treibern des Linux-Kernel nachsehen welche Chips unterstützt werden und ob man diese auch einzeln kaufen kann.
Habe etwas gefunden, TAS1020b Ist zwar nicht AES zu USB, man kann aber die AES-Daten erst zu PCM (I^2S) umwandeln und dann in den 1020b geben. Kenn jemand gute Lektüre, bezüglich USB Audio, wie es übertragen wird, wie verarbeitet? Gruß Dimok
Such einfach nach USB Audio Device Class. Bin mir aber nicht sicher ob diese 24Bit 96kHz unterstützt.
Hi, ich habe einen USB nach SPDIF Out mit einem Cypress EZ USB CY7C68013A gebaut, der unter XP, Mac OS und Linux mit generischen Treibern läuft.* Die SPDIF Wandlung passiert über ein XC9536XL. Ja der reicht! Im Augenblick bin ich dabei den SPDIF Eingang an den Start zu bringen. Version 1 hatte einen ungünstig verschalteten SRC4392 drauf**, so daß ich erst in der zweiten Version gemerkt habe, welche Problem dessen PLL hat. Trifft auch auf den DIX zu. Finger weg! Die Version drei hat einen CS8422 drauf. Allerdings hat der erste Proto wohl einen Lötfehler. Der CPLD holt keine Daten vom EZ ab. Da weiß ich aber noch nichts genaues, da die Platine gerade erst fertig geworden ist. * Unter NT6 noch nicht. Ich habe die Diskriptoren ziemlich vergewaltigen müssen um die Fehler von XP zu umschiffen. ** Wenn man den auf Adresse 0 einstellt hängt er den I2C Bus auf und der Cypress konfiguriert nicht mehr.
Nochmal eingelogt, damit ich eine eMail bekomme.
Hallo Thomas, ich plane ebenfalls ein USB Audio Interface mit dem Cypress FX2 alias CY7C68013A zu bauen, um PCM Daten via I2S auszugeben. Arbeitest du mit der USB Audio Device Class? Falls ja, hast du evtl. Links zu Code Samples zur Audio-Ausgabe für den FX2 gefunden? Ich konnte bisher nichts finden, was keinen speziellen USB Treiber erfordern würde.
Hallo Harald, ich habe ausgehend von einem Read/Write Example den Code angepaßt. Und zwar auf synchron isochron und auf Slave DMA. Das Timing macht das CPLD zusammen mit einem CDCE913 VCXO mit PLL. Einen VCXO sollte man schon nehmen, da man in der Bastelstube anders keine PLL hinbekommt, die bei 8kHz bzw. 1kHz Referenz nicht leiert. Full-Speed sollte generell ohne Treiber bei Windows gehen. High Speed geht unter XP wenn man die zwei Bugs im USB Audio Subsystem umschift. Damit ist das Teil aber nicht mehr 100% USB Spec konform. Ich vermute, daß es deshalb unter 7/Vista so nicht geht. Da ich selbst mit allen Computern noch unter XP Prof. arbeite bin ich noch nicht dazu gekommen das zu untersuchen. USB Sniffer besitze ich als Hardware. Ich kann also direkt sehen, was über die Leitung geht. Software auch, so daß ich sehen kann, was Windows an das USB Subsystem schickt. Beispiele zu Full Speed gibt es zum Beispiel in "USB by Exaymple". Das Buch ist IIRC frei als PDF erhältlich, da Intel dieses bezahlt hat. Einfach mal suchen. Andere Hersteller haben auch Beispiele zu FS. Den CS8422 habe ich allerdings bisher nicht zum laufen bekommen. Der hängt mir den Xilinx auf. Ich weiß nicht wie das gehen kann. Wahrscheinlich ein Lötfehler oder ein ganz übler Fehler in meiner Leiterplatte. Der Cypress konfiguriert jedenfalls. Allerdings weiß ich nicht, ob ich das weiter verfolgen soll, da ich mir ein Atmel SAM3U-EK besorgt habe. Da bekomme ich später für €3.60 einen ARM, der genügend Power hat noch Bytes zu sortieren oder die SPDIF Kodierung in Software zu machen. I2S Ausgang hat der auch schon. Den würde ich gerne noch später noch mit einem DSPB56725 von Freescale kombinieren. Der hat einen SPDIF Eingang/Ausgang und SRC für bis zu fünf Kanälen für kleines Geld schon drin. Derzeit arbeite ich mich in diesen auf Basis des Dual CDC Examples ein. Das Teil über ein Hyperterminal zu konfigurieren, falls nötig, hätte schon Charme. Kannst Dich ja mal melden, falls Du Interesse an einer Zusammenarbeit hast. Platinen Design und Löten ist bei mir kein Problem. Eine günstige Quelle für PCBs habe ich auch.
Hallo Thomas, ich wuerde fuer VLF Experimente gerne ein preiswertes 192 kHz faehiges USB Device bauen. Allerdings fehlt mir noch einiges an Verstaendniss zu USB Audio, I2S und aehnlichen. Fuer mich ist es immer am einfachsten, ein (einigermassen )funktionierendes Projekt abzuaendern. Ich wuerde mich freuen, wenn ich zum Abschaetzen, ob Dein Projekt fuer mich sinnvoll ist, mal einen Blick in Deine Projektquelle werfen koennte. Ausserdem wuerde ich statt Atmel SAM3U plus DSPB56725 einen Cortex M4 wie den STM32F4 ins Gespraech bringen wollen.
Hallo Uwe, den STM32F4 hatte ich auch in der engeren Wahl, habe ihn aber wieder verworfen (ich habe zwei Eval-Boards hier), da er für High Speed einen externen Phy braucht. Da ein DSPB56725 günstiger als ein SPDIF Empfänger mit Sample Rate Converter ist, habe ich diesen für die Endausbaustufe vorgesehen. Willst Du mit dem Teil senden oder empfangen oder beides? Unter Windows oder unter Linux? Wieviele Kanäle? Wegen der XP Bugs braucht man einiges an USB Buffer. Unter Linux oder MacOS sollte das kein Problem sein. Ich meine das schon unter Linux getestet zu haben bevor ich die XP Fixes eingebaut habe. Das Gehäuse ist übrigens dieses hier: http://www.reichelt.de/Fischer-AKG-Geraetebausaetze/AKG-55-24-50-ME/index.html?;ACTION=3;LA=446;ARTICLE=73285;GROUPID=5195;artnr=AKG+55+24+50+ME Die gibt es auch länger: http://www.reichelt.de/Fischer-AKG-Geraetebausaetze/AKG-55-24-80-ME/index.html?;ACTION=3;LA=446;ARTICLE=73286;GROUPID=5195;artnr=AKG+55+24+80+ME http://www.reichelt.de/Fischer-AKG-Geraetebausaetze/AKG-55-24-100-ME/index.html?;ACTION=3;LA=446;ARTICLE=73287;GROUPID=5195;artnr=AKG+55+24+100+ME Da könntest Du eine meiner Platinen einbauen und über geschätzte fünf Drähte (plus zwei, falls Du I2C brauchst) Deinen Teil adaptieren, falls Du dafür keine eigene Platine machen willst. Kannst Du den FX2 im QFN Gehäuse löten (lassen)? Ist ein bischen schwierig ohne Mikroskop. USB Mikroskop Kamera geht zur Not auch. Ich könnte Dir dann eine oder zwei Platinen schicken. Ich habe hier sowieso noch einige liegen, da mein Hersteller immer eine Mindestfläche verlangt, die dann immer noch günstiger als PCB Pool ist. Ich habe aber auch noch Platinen für TSSOP Gehäuse. Allerdings sind diese nicht auf dem letzten Stand, so daß ich jetzt nicht weiß, welche Limitierungen die haben. Auf alle Fälle fehlt ein Draht am FX2. Jedenfalls sollte das ein Job für einen Nachmittag sein eine I2S Schnittstelle in den CPLD zu hacken. Ärgerlich ist nur, daß man die little endian Daten des PCs auf big endian bringen muß. Das braucht Flip Flops. Geschrieben ist das CPLD in VHDL. Kannst Du mit dem Keil Projektfile etwas anfangen, oder machst Du das Open Source? Hast Du Xilinx ISE am Start? Ich habe hier Version 11 in Betrieb. Grüße Thomas Rudloff
Thomas Rudloff schrieb: > Hallo Uwe, > > den STM32F4 hatte ich auch in der engeren Wahl, habe ihn aber wieder > verworfen (ich habe zwei Eval-Boards hier), da er für High Speed einen > externen Phy braucht. Da ein DSPB56725 günstiger als ein SPDIF Empfänger > mit Sample Rate Converter ist, habe ich diesen für die Endausbaustufe > vorgesehen. > > Willst Du mit dem Teil senden oder empfangen oder beides? Empfangen. > Unter Windows > oder unter Linux? Meine primaere Platform ist Linux, allerdinsg arbeiten Kollegen oder Studenten auch mit Windows. > Wieviele Kanäle? Mindestens einer, mehrere waeren aaber auch gut, um z.B. GPS Sekundenimpulse oder Signale andere Antennen auch damit zu empfangen > Wegen der XP Bugs braucht man einiges > an USB Buffer. Unter Linux oder MacOS sollte das kein Problem sein. Ich > meine das schon unter Linux getestet zu haben bevor ich die XP Fixes > eingebaut habe. > > Das Gehäuse ist übrigens dieses hier: > > http://www.reichelt.de/Fischer-AKG-Geraetebausaetze/AKG-55-24-50-ME/index.html?;ACTION=3;LA=446;ARTICLE=73285;GROUPID=5195;artnr=AKG+55+24+50+ME > > Die gibt es auch länger: > > http://www.reichelt.de/Fischer-AKG-Geraetebausaetze/AKG-55-24-80-ME/index.html?;ACTION=3;LA=446;ARTICLE=73286;GROUPID=5195;artnr=AKG+55+24+80+ME > http://www.reichelt.de/Fischer-AKG-Geraetebausaetze/AKG-55-24-100-ME/index.html?;ACTION=3;LA=446;ARTICLE=73287;GROUPID=5195;artnr=AKG+55+24+100+ME > > Da könntest Du eine meiner Platinen einbauen und über geschätzte fünf > Drähte (plus zwei, falls Du I2C brauchst) Deinen Teil adaptieren, falls > Du dafür keine eigene Platine machen willst. > > Kannst Du den FX2 im QFN Gehäuse löten (lassen)? Zur Not schon, aber QFP ist besser zu kontrollieren. > Ist ein bischen schwierig ohne Mikroskop. Mikroskop ist vorhanden. > USB Mikroskop Kamera geht zur Not auch. Ich > könnte Dir dann eine oder zwei Platinen schicken. Ich habe hier sowieso > noch einige liegen, da mein Hersteller immer eine Mindestfläche > verlangt, die dann immer noch günstiger als PCB Pool ist. Ich habe aber > auch noch Platinen für TSSOP Gehäuse. Allerdings sind diese nicht auf > dem letzten Stand, so daß ich jetzt nicht weiß, welche Limitierungen die > haben. Auf alle Fälle fehlt ein Draht am FX2. Jedenfalls sollte das ein > Job für einen Nachmittag sein eine I2S Schnittstelle in den CPLD zu > hacken. Das ist dann aber nicht das funktionierene Projekt, dass ich dann nach den geaenderten Anfordeungen erweitere. Ich wuerde gerne die Anzahl offener Enden klein halten > Ärgerlich ist nur, daß man die little endian Daten des PCs auf > big endian bringen muß. Das braucht Flip Flops. Geschrieben ist das CPLD > in VHDL. Ich bevorzuge da einen XC3S50AN, Der hat deutlich mehr Flipflops bei vertretbaren Preis und Verilog ;-) > Kannst Du mit dem Keil Projektfile etwas anfangen, oder machst Du das > Open Source? Mit Open Source lassen sich Projekte viel besser in Source Revision Systemen verwalten. Ein Makefile ist einfacher zu lesen als ein propriaetaeres Projekt. > > Hast Du Xilinx ISE am Start? Ich habe hier Version 11 in Betrieb. 13.4 > > Grüße > Thomas Rudloff
Uwe Bonnes schrieb: > Thomas Rudloff schrieb: >> >> Willst Du mit dem Teil senden oder empfangen oder beides? > > Empfangen. > >> Unter Windows >> oder unter Linux? > > Meine primaere Platform ist Linux, allerdinsg arbeiten Kollegen oder > Studenten auch mit Windows. > >> Wieviele Kanäle? > Mindestens einer, mehrere waeren aaber auch gut, um z.B. GPS > Sekundenimpulse oder Signale andere Antennen auch damit zu empfangen > Mit zwei Kanälen kommt man mit den 4k Endpoint Buffern gut hin. Da braucht man sich nicht das Gehirn zermartern. > > Das ist dann aber nicht das funktionierene Projekt, dass ich dann nach > den geaenderten Anfordeungen erweitere. Ich wuerde gerne die Anzahl > offener Enden klein halten > Doch! Die Rev.1 (TSSOP mit Reworks) und die Rev.2 (QFN) laufen. Die Rev.3 (QFN mit Crystal SRC) läuft noch nicht. Da gehe ich aber davon aus, daß ich die auch zumindest ohne Crystal SRC zum laufen bekomme. Entweder ist der Crystal falsch verdrahtet oder die Platine hat einen Fehler. Bei dem abstrusen Fehlerbild würde ich aber auf letzteres tippen. >> Ärgerlich ist nur, daß man die little endian Daten des PCs auf >> big endian bringen muß. Das braucht Flip Flops. Geschrieben ist das CPLD >> in VHDL. > > Ich bevorzuge da einen XC3S50AN, Der hat deutlich mehr Flipflops bei > vertretbaren Preis und Verilog ;-) > Der XC9572XL ist vollkommen ausreichend um einen FIFO zu bedienen. Den Spartan würde ich nehmen, wenn ich einen eigenen USB Media Access Controller schreiben würde. Ist zwar mit ULPI kein Ding, aber die Baustelle wollte ich nicht auch noch aufreisen. >> Kannst Du mit dem Keil Projektfile etwas anfangen, oder machst Du das >> Open Source? > > Mit Open Source lassen sich Projekte viel besser in Source Revision > Systemen verwalten. Ein Makefile ist einfacher zu lesen als ein > propriaetaeres Projekt. > Klar, wenn man es erstmal am laufen hat...... Läuft Dein Setup auch unter Windows? Mit Cygwin? >> >> Hast Du Xilinx ISE am Start? Ich habe hier Version 11 in Betrieb. > > 13.4 > OK, die fünf Zeilen, die man für die I2S Schnittstelle braucht sind auch in zwei Versionen leicht gepflegt. Den Phasenvergleicher habe ich sowieso in den FX2 verlagert. Der hat sonst nichts zu tun. Die Chips auf dem Foto von oben nach unten und links nach rechts: CY7C68013A CDCE913 I2C EEPROM CS8422 XC9572XL Früher(tm) konnte man die auch mal auf den Chips lesen. Vielleicht war die Farbe nicht umweltverträglich.
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.