Hi Leute, habe ein experimentelles Projekt in Planung. Zum Umsetzung eines Features möchte ich - wie von USB-Festplatten bekannt, eine 1:1-Verbindung zwischen PC (flacher USB Stecker männlich) zu Gerät (Host-Mini-USB bzw. Host-USB (kleiner männlicher/großer rechteckiger, konische Kanten Stecker) herstellen. Mir ist klar, dass ich zur Ansprache des Geräts seites des PC's einen USB-Treiber benötige, welchen ich selbst schreiben muss. Mir ist auch klar, dass ich gleiches für mein Gerät tun muss, welches ich mit Linux betreiben werde. Unklar ist mir allerdings noch, ob es die Bauteile für Host-USB irgendwo für Standard-PC's z.B. wie VIA EPIA M700 zu kaufen gibt, wo diese dann angeschlossen werden (interner USB pin-connector?) etc. und ob die VIA EPIA M700 Chipsatz einen Controller besitzt der eine solche Konfiguration überhaupt erlaubt. Ziel ist es, per USB 2.0 Audio-Daten vom PC auf das Gerät zu übertragen. Möglichst Latenzfrei. Es entsteht dann in externer DAC. (Digital/Analog Converter für Audiodaten) Nebenfragen: Wie sieht das ganze rechtlich aus? Darf man Consumer-Hardware "neu zusammensetzten", eigene Software schreiben und als neues Consumer-Device vertreiben? Gibt es ein Lizenzrecht für die Verwendung von USB als Host eines Devices etc.? LG, Aron
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
Hallo, meiner Meinung nach ist das Konzept falsch: Der PC ist USB-Host, soweit herrscht noch Einigkeit. Dann ist aber dein Gerät USB-Client - du beschreibst ja selbst den entsprechenden Stecker richtig. Um das zu implementieren, nützt dir ein wie auch immer geartetes USB-Host-Modul nichts, denn du brauchst ja einen Client wie Tastatur, Maus, Festplatte oder auch Audiosystem. Das letztere ist genormt und könnte dir als Vorlage für die Treiberprogrammierung dienen, vielleicht könnte man auch gleich einen Windows-Standard-Treiber verwenden. Gruss Reinhard
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
Es gibt 2 Methoden das zu erreichen. 1. Client als Massenspeicher. Beim Host kein Treiber nötig 2. Emulation einer Netzwerkkarte und Dateifreigabe. Viel Aufwand, hat Intel beim US15W so gemacht. Die Treiber dazu sind eher wacklig. Hardwareseitig: Mir fällt jetzt kein käuflicher USB-Client-Controller ein. Du müßtest den in ein CPLD/FPGA reinprogrammieren und an den PCI hängen. Auch nicht unbedingt einfach.
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
Re, gute Ideen! Client als Massenspeicher wäre prinzipiell ja gar keine schlechte Idee. Ich könnte dann den Treiber auf dem PC so entwerfen, dass er sich in die Audio Queue hängt, die Daten abfängt, sie Schrittweise auf den emulierten Massenspeicher des DAC in einer Datei ablegt und so "gebuffert" die Daten überträgt. Für den DAC entwickel ich dann ein Programm, welches synchronisiert in einem Intervall-Loop die Daten gebuffert abfängt und an in die eigene Audio-Queue als Playback-Daten einfügt. Die Digitalen Audiodaten würden so über die High-Quality Audio-Karte des DAC umgewandelt werden. Fragt sich dann jedoch: Woher bekomm ich so etwas wie einen PCI USB Stick? :-D Danke euch!! LG, Aron
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
Nein, der Client muss natürlich kein Massenspeicher sein. Es reicht ein USB-Audio-Device. So etwas ist ebenfalls eine Standardgeräteklasse, die von den meisten Betriebssystemen mit den mitgelieferten Treibern unterstützt wird. Könnte es sein, daß Du in Deiner Beschreibung irgendwie "Host-USB" etwas irreführend verwendest?
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
Oder man macht es sich ganz einfach: http://www.pearl.de/a-PE187-1414.shtml?query=USB LACH LG, Aron
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
Hi als Beispiel für die Chips, schau mal hier: http://www.stericsson.com/products/products_home.jsp mfg Stephan
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
ah, super :) Fallen euch sonst noch Ideen ein, wie ich den Digitalen Audio Output evtl. einfach als Coaxial / Optical out an meinen DAC bekommen könnte? Prinzipiell ist der DAC ja das gerät was allein digitale Input-Daten braucht. USB ist da für mich halt bloss die bisher einzig sichtbare "Notlösung" die Audiodaten latenzfrei zum DAC zu bringen. Vl. gäb es ja auch noch andere gute Wege? Evtl. über DVI oder DisplayPort, oder HDMI.. aber alle diese Schnittstellen sind nur wenn man Glück hat bei PC's mit den Audio-Chips verbunden, oder? LG, Aron
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
Äh, was genau möchtest Du eigentlich erreichen? Möchtest Du nur Audiosignale mit einem PC erzeugen, den dafür verwendeten DAC aber abgesetzt vom PC betreiben? Oder möchtest Du in Deinem "Gerät" doch noch irgendwelche anderen Dinge tun?
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
Rufus t. Firefly schrieb: > Äh, was genau möchtest Du eigentlich erreichen? genau, gib uns ein Blockschaltbild. Mir scheint das alles recht konfus, und vermutlich gibt's das schon als USB Audio Interface (neudeutsch für Soundkarte) für weniger als 200€.
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
Ihr habt recht, meine Beschreibung zerstreut sich logisch ein wenig. Mittlerweile wird mir auch immer klarer, was eigl. das Optimum für das Projekt wäre: Grundsätzlich plane ich, ein VIA EPIA M700 mit einer sehr guten PCI Sound Karte zu bestücken. Durch eine Modifizierung meines LFS-Systems (Linux From Scratch), u.A. ALSA-Plugins etc. erreiche ich, die digitalen und analogen Input-Daten der Soundkarte (1x Coax / 1x Optical In, 2x analog In) durch ALSA zu schleifen, zu processen und an Headphone, Digital Out (Coax), 2x Analog out wieder raus zu geben. Möglich ist es also bereits, alle möglichen Quellen von Audiodaten (sei es Coax/Optical input oder stereo analog Input) durch das Gerät zu jagen. (1:1 Durch zu schleifen und durch gute Hardware, ein sehr gutes Wandlungsergebnis zu erhalten) Jetzt würde ich gern noch erreichen, dass ich auch den PC / Mac als Signalquelle für mein Gerät verwenden kann. Dazu muss ich die Ausgangsaudiodaten des PC's digital an mein Gerät (den DAC) übertragen - und das möglichst latenzfrei. Ein PC / Mac hat nun verschiedene Schnittstellen zur Verfügung, womit ich die physikalische Signalübertragung anstellen könnte. Nutze ich USB, müsste ich bestenfalls in meinem Gerät eine Art Chipsatz für Client USB (Generic Audio Device) einbauen, um den PC mit meinem Gerät per USB-Kabel zu verbinden. Wäre es ein Generic Audio Device-Chipsatz bräuchte ich für den PC nicht mal groß Treiber schreiben, da jedes moderne Betriebsystem Generic USB Audio Device's unterstützt. Was ich eigentlich benötige, wäre lediglich ein Chipsatz, den ich in ein VIA EPIA (PC Architektur) einbauen kann (wie auch immer verbunden. Sei es PCI, internal USB etc. pp.), welches nach außen hin ein Generic USB Audio Device darstellt, sodass ich den PC mit meinem Gerät per Standard-USB-Kabel verbinden kann - und bestenfalls nach innen hin, also zum VIA EPIA Chipsatz das gleiche tut. Dann müsste ich auf keiner Seite einen Treiber schreiben. Zur Übermittlung des Audio-Signals auf PC-Seite wird einfach das Generic USB Audio device als primäres Abspiel-Device gewählt. Seitens meines Geräts greife ich einfach die eingehenden Daten per ALSA ab. Vermute aber, sowas ich so einfach nicht umsetzbar. Wäre jedoch echt happy, wenn es eine Lösung gäbe, die in diese Richtung ginge. Habe bereits einen Chipsatz gefunden, der ähnliches täte. Der ist allerdings für ARM und ich hab keine Ahnung ob ich den an nen EPIA patchen kann. Da würde dann die Treiber-Entwicklungs-Party außerdem losgehen: http://www.keil.com/mcb2140/ LG und Danke für eure Hilfe, Aron
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
Btw: Ja, das ganze gibt es als guten extenen USB-DAC auf dem Markt. Ich plane jedoch größeres. Der digitale Audiosignalstrom soll im Gerät manipuliert werden. Ich habe einige exzellent funktionierende Algorithmen, welche das Klangerlebnis ungemein erhöhen. Jetzt möchte ich einen Prototypen als Hardware-Device bauen, um die Umsetzbarkeit eines solchen Projekts zu prüfen. Raus käme dann ein hervorragendes selbstbau-Produkt zur exzellenten D/A-Wandlung von Audiodaten inkl. Kopfhörerverstärker und präzise konfigurierbarer Klangverbesserung Optimierung Anpassung des Audiosignals an die für den wiedergebenden Lautsprecher optimale Signatur. Ich habe das ganze als Beta-Software auf meinem Rechner / mit externem DAC laufen und erhalte unglaubliche Klangverbesserungen. Ich würde sagen, jede Art von Musik hört sich durchweg 20-30% "besser" an. Je nach Konfiguration der Algorithmen-Variablen. LG, Aron
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
Aron Homberg schrieb: > Der digitale Audiosignalstrom soll im Gerät manipuliert werden. Ich habe > einige exzellent funktionierende Algorithmen, welche das Klangerlebnis > ungemein erhöhen. Aha, und was machen die Algorithmen? Frequenzgangausgleich der Lautsprecher? Exciting? Röhrensimulation? Transientenoptimierung? Oder was ganz neues? Messtechnisch belegbares? Edit: es gibt einen "VST-Player", da lädt man VST-Plugins zur Audio-Bearbeitung in eine Hardware Kiste, und hat somit sein virtuelles Plugin als Hardware mit analog IO. Also bau doch aus deinen "exzellent funktionierenden Algorithmen" VST Plugins (Steinberg stellt SKD) und lad sie da rein. Wenn die Algorithmen gut sind, kannst du die VST Plugins sicher auch verkaufen.
Re: Wie: "USB Host Controller/Connector" auf PC-Board (VIA EPIA M700) montieren u. Treiber schreiben
Was sich hier als Schnittstelle anbietet, ist Firewire. Macs haben praktisch alle Firewire-Schnittstellen, viele PCs auch, und es lässt sich notfalls einfach nachrüsten. Im Gegensatz zu USB ist Firewire eine Schnittstelle mit gleichberechtigten Teilnehmern, d.h. es können ohne weiteren Aufwand z.B. zwei PCs darüber miteinander verbunden werden. Seit Windows XP wird Firewire standardmäßig als schnelle Netzwerkverbindung genutzt. Und Firewire wird im professionellen Umfeld auch für Audio-Anwendungen genutzt, mal völlig willkürlich das Angebot eines Händlers dazu: http://www.thomann.de/de/firewire_audio_interfaces.html
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.