Forum: PC-Programmierung Gibt es einen "einfachen" ASIO-Treiber ?


von TheMason (Gast)


Lesenswert?

Hallöchen,

was ich mal fragen wollte (obwohl ich mir sicher bin die antwort schon 
zu kennen :-(( ). Und zwar :

Ich würde gerne über USB ein Audio-Gerät implementieren. Nun möchte ich 
es gerne so haben das die Latenz so gering wie möglich ist. Bei den 
normalen HID -Implementierungen habe ich ja Latenzzeiten von um die 
100-300 ms oder mehr.
Das wäre mir viel zu lang. Einen waschechten ASIO-Treiber zu schreiben 
dürfte denke ich ebenso wenig hinhauen (scheitert wahrscheinlich daran 
das ich in diesem Jahrtausend noch fertigwerden will ;-)). Also den 
ASIO-WDM-Treiber nutzen. Bzw. den ASIO-Multimedia-Treiber.

Nun meine Frage : Gibt es eine Möglichkeit eine Std-Soundkarte so 
schnell zu machen (von der Latenzzeit) das man mit einem WDM- (oder 
sonstigen) Treiber bei etwa 20ms Latenz oder weniger auskommt ? z.b. mit 
Tools wie ASIO 4 All oder so ? Und vor allem das diese USB-Soundkarte 
sich dann in Cubase integrieren lässt.

Ich würde gerne meinen Selbstbau-Digitalsynth mit einer USB 
Schnittstelle ausstatten damit ich das Audio-Signal in Cubase nutzen 
kann (und umgekehrt von Cubase Audio-Signale in meinen Synth einspeisen 
kann). Weiterhin soll die Schnittstelle noch MIDI und einen weiteren 
RS232-Kanal beinhalten. Ich denke für solch ein Vorhaben müsste dann 
wahrscheinlich ein ARM7 her. Nur es ist halt die Frage wie es mit der 
Latenzzeit des Audio-Treibers bestellt ist.

von Thomas (Gast)


Lesenswert?

eine Latenz von 100..300 ms mit dem USB Audio Treiber von Win halte ich 
für ein Gerücht. Meine USB Audio Geräte liegen alle unter 50ms...
Außerdem hat HID rein gar nichts mit USB Audio zu tun.
Schau mal bei www.usb-audio.com vorbei. Die haben einen ASIO Treiber den
man sogar kaufen kann.
Ich habe bei meinen Kisten diesen Treiber lizensiert. Funktioniert gut!

Thomas

von TheMason (Gast)


Lesenswert?

@thomas

also die latenzzeiten von 100..300 ms sehe ich wenn ich beispielsweise 
in cubase den "asio multimedia" treiber lade.
der zeigt mir eingangslatenz : 110ms und ausgangslatenz : 750ms an ...

ich hab mal unter usb-audio geschaut. kaufen kann man da nen treiber ja, 
aber für eine selbstimplementierte usb-soundkarte dürfte der denke ich 
nicht funktionieren (außer vllt es ist eine std-usb-soundkarte).
also irgendwie komm ich noch nicht darauf wie der treiber mit meinem 
problem genau zusammenhängt. benötige ich da vllt ein spezielles 
usb-audio-interface das dann über den treiber direkt angesprochen werden 
kann oder wie soll das funktionieren ? so wirklich schlau bin ich aus 
der seite nicht geworden.

von TheMason (Gast)


Lesenswert?

ich hab nochmal was auf der seite gelesen. da steht dann ein hinweis in 
der faq der seite :

>- Is interface XYZ supported or do you have plans to do so?
>Basically the driver only works with devices "known" from its "list". As
>there's a lot of units using Texas Instruments/Burr Brown chipsets without
>unique IDs there's a chance your "whatever" box works, ...

wenn ich das richtig lese müsste demnach ja z.b. ein tas1020b u.u. 
funktionieren. es wäre dann evtl nur ne frage der firmware (bzw. der 
geladenen applikation) im tas1020 ob der asio-treiber von usb-audio.com 
dafür in frage kommen.

wobei sich dann die frage stellt ob und wie man den tas1020 von den 
endpoints her einstellen muß. und so wie es ausschaut habe ich denke ich 
noch recht gute chancen das ich die beiden seriellen schnittstellen auch 
noch da drin unterkriegen könnte. (ein uart ist implementiert, den 
anderen könnte man über eine sw spi mit spi<->uart konverter 
implementieren)

was meint ihr dazu ?
hat jemand vllt auch nähere erfahrungen mit dem tas1020 ? (und vor allem 
ob das mit dem usb-audio.com treiber vllt wirklich funktioniert und die 
latenz gering ist)

gruß
rene

von Thomas (Gast)


Lesenswert?

>wenn ich das richtig lese müsste demnach ja z.b. ein tas1020b u.u.
>funktionieren. es wäre dann evtl nur ne frage der firmware (bzw. der
>geladenen applikation) im tas1020 ob der asio-treiber von usb-audio.com
>dafür in frage kommen.

glaub mir es liegt an dir bzw deiner FW ob der Treiber geht.
Ich benutze ausschlieslich TI. Wenn du ein std Audio Device 
implementierst
kannst du den Treiber benutzen. Ach ja mit den 6K Code des TAS1020
wird es ganz schön eng USB Audio + 2 * USB Midi zu implementieren.
Eine gute 2*Midi Implementation frist ca 4k Code (Keil C51).

Midi + USB Audio mit dem ASIO Treiber ist ein no Go. Das unterstützt der
ASIO Treiber nicht. Rechne mit ca 6 Monaten Entwicklungsaufwand bis dein
Device produktionsreif läuft.

>hat jemand vllt auch nähere erfahrungen mit dem tas1020 ? (und vor allem
>ob das mit dem usb-audio.com treiber vllt wirklich funktioniert und die
>latenz gering ist)
Was willst du wissen?
Ich habe den TUSB3200 in 2 kommerziellen Devices und den TAS1020 in 4
Devices verwendet. Der Treiber ist wirklich gut. Muss er da die ja Geld
verlangen. Die Latenz ist bei etwa 10 ms.

Thomas

von TheMason (Gast)


Lesenswert?

>glaub mir es liegt an dir bzw deiner FW ob der Treiber geht.

ist den in dem tas1020 schon etwas an firmware drin das man quasi ohne 
weiteres ein usb-audio-device daraus machen kann, oder läuft der tas1020 
ur mix ext. eeprom und dazugehöriger application sw darin an ?
so richtig schlau bin ich aus dem datenblatt nicht geworden ... hab zwar 
verstanden das es 3 möglichkeiten gibt :

 - ohne eeprom (wird extern programmiert)
 - mit eeprom und gültigem header
 - mit eeprom und gültigem header und application code

was mir nicht ganz klar ist : MUß ich den application code haben um dem 
tas1020 überhaupt audio (bzw i2s) entlocken zu können, oder reicht ein 
gülitger header ? würde dann in diesem falle mit dem usb-audio-driver 
asio direkt möglich sein ?

das ich die beiden schnittstellen (rs232 und midi) nicht mit 
unterbekomme find ich schon sehr schade (zumindest nicht wenn ich in den 
nächsten 10 jahren damit fertig werden will). obwohl ich mir da denke 
das man vllt dann eine zweites usb-interface (z.b. usbn9406) 
implementiert der beide seriellen dann zur verfügung stellt und über ein 
usb-hub-ic dann die beiden usb-ströme aufteilt (ok ist mit spatzen auf 
kanonen geschossen, aber ist die einzige möglichkeit die einfach ist und 
recht schnell umzusetzen wäre)

wenn ich auf den weiteren aufwand verzichten möchte bliebe nur : 
entweder audio oder die beiden schnittstellen, wobei ich mich dann eher 
für die schnittstellen entscheiden würde, da ich auf dem board eh einen 
analogen audio-ausgang habe (für kopfhörer oder mischpult oder so)
aber es wäre schon sehr schön alle 3 sachen per usb integrieren zu 
können.

von Rene B. (themason) Benutzerseite


Lesenswert?

@thomas

kannst du mir die o.g. fragen vllt kurz beantworten, da ich ehrlich 
gesagt nicht weiß was ich dem tas1020 alles mit auf dem weg geben muß um 
ihm audio zu entlocken bzw. um einen asio-treiber daran ankorken zu 
können.
ich würde gerne erstmal den groben aufwand abschätzen können. nur werde 
ich leider wie gesagt nicht so recht schlau aus dem datenblatt.

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
Noch kein Account? Hier anmelden.