So blöd ist das nicht. Es muss keine Arbitrierung geben, Kollisionen sind (wenn die HW gescheit implementiert ist) auch tabu, Hubs können relativ einfach aufgebaut sein. Und solange das Polling die CPU nicht belastet (erledigt ja der Hostcontroller per DMA), ist das auch nebensächlich. Für den minimalen Aufwand ist USB ziemlich tauglich und pflegeleicht.
--
Georg Acher, acher@in.tum.de
http://wwwbode.in.tum.de/~acher
"Oh no, not again !" The bowl of petunias
Der Controller will trotzdem programmiert werden und dazu muss die CPU ran. Fuer etwas, was nicht sein muesste IMHO Unsinn.
Ausserdem brauchen die Geraete ziemlich grosse Puffer damit bis zum naechsten Polling keine Daten verlorengehen. Stell dir mal ein USB->Ethernetadapter vor der 100MBit ueber USB2 abwickelt. Einmal pro Millisekunde pollen heisst, dass da
10 KByte auf Abholung warten koennen. Sollte die Window-Groesse des verwendeten Protokolls kleiner sein, dann ist damit nicht einmal der maximale Durchsatz moeglich weil die Uebertragung stockt.
Ich bleibe dabei, ein Peripherie-Bus ohne Moeglichkeit eines Geraetes auf sich aufmerksam zu machen ist ein Hack und ein schlechter noch dazu. Aber wie man bei VHS und DOS gesehen hat, es setzt sich nie die beste Loesung durch.
Soviel Programmierung ist das nicht (been there, done that). Alle USB-Hostcontroller arbeiten deskriptor-basiert und solange die gesamte Transaktion nicht fertig ist, werden die Deskriptoren halt immer wieder durchlaufen. Die CPU bekommt ihren IRQ erst dann, wenn Daten angekommen sind und keine mehr zu erwarten sind (das signalisiert das Device...). Und wenn man die Deskriptorverlinkung richtig baut, ist die maximale Wartezeit 1ms.
10K und gross? Sowas hat doch schon der olle RTL8029A mit 10Mbit/s drin...
Jedem seine Meinung...
--
Georg Acher, acher@in.tum.de
http://wwwbode.in.tum.de/~acher
"Oh no, not again !" The bowl of petunias
Naja was ist die definition von "beste Loesung"? Als USB entwickelt wurde, wurden Scanner noch ueber seltsame Parallelport-Konstruktionen angebunden. Im Vergleich dazu ist es ein deutlicher Fortschritt ;) Und es musste billigst sein, also wenig Chipflaeche, deshalb einfacher Aufbau. Ethernet-Adapter an USB ist Murks, das ist nur fuer Bloedmarkt-Dumpfbacken, die von innen beleuchtete transparente Kunststoffgehaeuse an ihren PC anstoepseln wollen. Aber fuer DigiCams, CardReader, MP3-Player etc. ist das IMO ne brauchbare Loesung.
Auch wenn das Ding dem Namen nicht mehr so ganz gerecht wird, die meisten angeschlossenen Geraete duerften als Punkt-zu-Punkt Verbindung betrieben werden, bei der Anzahl von USB-Ports auf dem Mainboard verwendet vermutlich kaum jemand nen USB-Hub.
Für vieles von dem, was da jetzt drangeklemmt wird, ist es eher FireWire.
Für den originalen Zweck (Dinge wie Keyboard und Maus an einem Bus und garantiert hot pluggable zu haben, konnten Sun und andere schon ein Jahrzehnt oder mehr) ist es OK, aber gerade für die Maus ist polling vom Host Quark. Selbst der C64 konnte schon Anforderungen der Geräte und eine simple Arbitrierung...
--
Jörg Wunsch
"Verwende Perl. Shell will man können, dann aber nicht verwenden."
Kristian Köhntopp, de.comp.os.unix.misc
Nope, Scanner liefen damals ueber SCSI. Nur als Scanner verkaufter Elektronikschrott versuchte dafuer den Parallelport zu benutzen.
MP3-Player sind an Firewire besser aufgehoben.
Was uebrigens auch der Witz ist. 3 x USB-Controller on board welche sich dann per Default 3 IRQs klauen anstatt sich einen zu teilen. Irgendwie habe ich den Eindruck, dass im PC-Bereich sich wirklich nur die schlechteste Loesung verbreitet.
SCSI-Scanner waren aber wesentlich teurer als Parallelport- Scanner. Wohl auch deshalb, weil es Parallelportscanner gab und damit die "Massenverbreitung" der SCSI-Modelle fehlte.
Gruß, Bernhard
--
Erst wenn der letzte Baum gerodet, der letzte Fluss vergiftet, der letzte
Fisch gefangen ist, werdet ihr feststellen, dass man Geld nicht essen kann.
-- Indianische Weisheit
Ich rede eigentlich von der Zeit _vor_ den Scannern fuer den Parallelport... Oder spaeter, wenn man einen Scanner brauchte der mehr als A4 scannen konnte. Deutlich schneller waren sie meist auch noch.
Von billig hat keiner was gesagt. Qualitaet kostet.
Schön, dass du anscheinend nicht auf den Preis schauen musst. Ich allerdings habe Geld nicht im Überfluss.
Es gibt verschiedene Anforderungen und es gibt verschiedene Produkte, diese Anforderungen zu befriedigen. Wenn ich als Student pro Woche vielleicht zehn Seiten einzuscannen habe, ist mir Geschwindigkeit schonmal nicht so wichtig. Auf einen Scanner möchte ich aber trotzdem nicht verzichten -- allerdings brauche ich kein HighEnd-Gerät für
300 Euro.
Parallelport war ein Hack, allerdings kostengünstig. SCSI war für den Privatgebrauch doch relativ teuer. Mit USB habe ich was vernünftiges, immer noch kostengünstig. Insofern ist USB ein deutlicher Fortschritt zu früher.
Gruß, Bernhard
--
If you really want pure ASCII, save it as text... or browse
it with your favorite browser...
-- Alexandre Maret
Als Student hatte ich gar keinen Scanner. Da habe ich einen der Scanner in der Uni benutzt wenn es was zu scannen gab. Das war dann aber ein recht hochwertiges Geraet von AGFA.
... und unzuverlaessig... Multitasking konnt man auch vergessen usw.
Fuer relativ lange Zeit waren zumindest SCSI-Platten nur marginal teurer als IDE oder MFM.
Gegenueber Parallelport ja, gegenueber SCSI ist es ein deutlicher Rueckschritt.
Das ist doch aber relativ egal. Seit PCI (und schon davor) gibt es Interruptsharing und der Overhead davon ist, auch wenn gerne anders behauptet, minimal. Und wenn das OS dazu noch schlau ist wird es erst die Grafikkarte fragen und erst wenn die nicht will den USB Controller. Also was ist so schlimm wenn jeder USB Controller einen anderen Interrupt bedient?
Ack (im Prinzip). SCSI fehlt das Hotplug - ist fuer Scanner aber nicht relevant. Bevor man aber (wohl unter Preis- und Termindruck) solche SCSI Scanner verbricht wie z.B. Mustek es getan hat, dann doch lieber IEEE-1284 bzw. USB aber dafuer funktionierend.
Micha, SCSI Scanner habend
--
"Our enemies are innovative and resourceful, and so are we [...]
They never stop thinking about new ways to harm our country and our
people and neither do we."
George W. Bush
Kann man so nicht sagen. SCSI ist, in Grenzen, durchaus hotplug-faehig. Siehe Platten mit SCA-Connector. Ich kann schliesslich nicht jedesmal bei einem Plattendefekt den Server runterfahren, sowas muss on the fly gehen.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.