Findet ihr auch ,das USB eine der bescheuertsten Schnittstellen ist ,die es gibt? Hier Gründe die dafür sprechen: 1) Vendor ID. Jeder der USB in Hardware implementieren will muß sich für 1500 Euro eine Vendor ID bei USB.ORG ordern. Echt eine Unverschämtheit. Ich stelle demnächst auch eine Website ins Netz und kassiere von jedem 1500 Euro für einen lächerlichen Datenbankeintrag. Was Rechtfertigt diese 1500 Euro ? Am besten eine Vendor ID würfeln und einfach verwenden. Merkt eh keine Sau. 2) aufwendige Treiberentwicklung unter Windows: MS DDK ist vorrausgesetzt um ein paar bytes auf den USB Port auszugeben. Hab mir mal die Beispieltreiber im DDK angeguckt. da sind doch glatt 60 Seiten Quelltext für ne Funktion wie WritteRAWToUSB..... Im Vergleich zu RS232 ,sind da nur 3 Zeilen notwendig, und man kann direkt über API Funktionen Befehle senden . Zudem kostet das DDK auch nochmal 600 Euro,jede menge einarbeitungszeit ,e.t.c.. Man findet sehr wenig Support für USB Treiberentwicklung. Warum gibt es für USB keine API Funktionen unter Windows die man aus jedem stinknormalem Anwenderprogramm aus aufrufen kann? Die Entwickler von USB und Windows haben da echt einen ziemnich großen Fehler gemacht. Sie hätten die Ansteuerung lieber so einheitlich wie RS232 machen sollen. Einfach COMx Port angeben und Daten schicken ....fertig. Aber dafür sind die Redmonder ja bekannt: Lieber umständlich ,wenns auch einfacher geht. 3) In der Industrie und im Privatbereich gibt es sehr viele Geräte die über RS232 oder LPT Port laufen. Nur leider sind auf neueren Mainboards keine solchen Schnittstellen mehr vorhanden und werden durch USB abgelöst. Wenn man noch ein Gerät vertreiben will ,das per LPT -Port angesteuert wird, muß man dann dem Käufer zumuten ,sich extra eine LPT -PCI Karte zu kaufen und diese dann noch einzubauen? Das kann es doch wohl nicht sein oder ? Und diese USB to Paralell Converter funktionieren bei sehr vielen Anwendungen garnicht, da diese Adapter nicht die Standardbefehle ( out lptx,value in ...) der LPT Schnittstelle unterstützen. Alles in allem ein ziemlich verkorkster Stanfdard.
Wir sollen ja schließlich alle dumme abhängige Multimedia-Konsumenten werden. Und dazu ist doch USB 2.0 nicht schlecht, oder? ...
USB ist nun einmal erheblich komplexer als RS232. Letzteres ist (abgesehen von der Möglichkeit die Schnittstelle durchzuschleifen) hardwaremäßig eine Punkt zu Punkt Verbindung, USB nicht. Das setzt voraus, dass die unterschiedlichsten Geräte an einem Bus kooperieren können: Geräte, die zu unvorhersehbaren Zeitpunkten kleine Datenmengen verschicken wollen (Tastatur, Maus), Geräte, die möglichst schnell möglichste große Datenmengen transportieren wollen (Festplatte), Geräte, die einen konstanten und garantierten Datenstrom benötigen (Webcam). Und trotz dieses enormen Aufwands sollen die Endgeräte möglichst einfach und damit preiswert herzustellen sein. Damit bleibt der größte Teil der Arbeit am Host (PC) hängen. Man könnte daher höchstens sagen, USB sei nicht wirklich "bastlerfreundlich", aber das interessiert ja nur eine kleine Minderheit. "Verkorkst" ist er aus Anwendersicht - das ist die Mehrheit - nicht. Ich möchte USB als Anwender nicht mehr missen. Und als Entwickler gibt es ja Hardware-Lösungen von FTDI, CodeMercenaries usw., die einem das Leben einfacher machen und auch gleich das Problem mit der Vendor ID lösen. Und auch auf Softwareseite gibt's Bibliotheken... Christian
>> Die Entwickler von USB und Windows haben da echt einen ziemnich >> großen Fehler gemacht. Könnte man so sehen, wenn man meint das der Fehler der Entwickler darin bestand die Marketingleute/Firmenpolitiker zu Wort kommen zu lassen. Aber so ist es halt mal, die Entwickler haben die geringste Schuld daran. Die hohen Einstiegskosten bei USB trennen die Spreu vom Weizen, Diese Taktik ist sehr probat und auch zb. beim SD/MMC/CF Standard wirds ähnlich gehandhabt. HanneS hat da meiner Meinung nach absolut Recht, es ist Marktbereinigung durch Wissenskontrolle, und auf Kundenseite ist es Marktbindung durch fehlende Alternativen und Wissen. Klar das USB Konsortium findet viele plausible Gründe für ihre Politik, ohne die realen Gründe nennen zu müssen. Den Fehler wie beim TCP/IP wollen sie nich ein zweites Mal machen. Gruß Hagen
> Findet ihr auch ,das USB eine der bescheuertsten Schnittstellen ist
,die es gibt?
Ganz und gar nicht. Ich bin damit sehr zufrieden. Das Einzige wirklich
blöde ist, daß Du für ernsthafte Entwicklung einen in Hardware
gegossenen Protokol-Analyzer benötigst.
1) Das ist nicht nur ein lächerlicher Datenbank-Eintrag, sondern zudem
die Garantie, das Du weltweit der Einzige bist, der diese Nummer
verwendet. Und da die Nummern begrenzt sind und nicht jeder Bastler
einen eigenen Identifier beantragt, ist es halt ein wenig teurer.
Die meisten Chip-Hersteller bieten Dir aber an, deren VID zu verwenden.
Dadurch löst sich das Problem von selbst.
2) Gut, wenn Du keine Treiber schreiben kannst, ist das ein Problem.
Aber da Du, wie Du selber sagst, nur ein paar Byte hin-/ herschicken
möchtest, kannst Du das Gerät auch locker als HID auslegen. Dann kannst
Du die bereits vorhanden Treiber verwenden -> Problem gelöst.
Und wenn das mal nicht reichen sollte, nimmst Du eben die Treiber, die
Dir der Chip-Hersteller zu Verfügung stellt.
3) Das kann man natürlich niemandem zumuten. Man kann aber heutzutage
auch niemandem mehr zumuten, noch extra einen COM-Port wählen zu
müssen. Diese Einstellung hat ausser dem Entwickler selbst sowieso noch
niemand kapiert. Das ist ja schliesslich das Schöne am USB: Reinstecken
und los geht's.
Konerter finde ich im Übrigen auch irgendwie blöd. In der Not aber
besser als nichts, und wenigstens sind sie preiswert. Und für
Neuentwicklungen ist das eh kein Thema.
Ich bin jedenfalls froh und dankbar, daß die Zeit COM/ LPT vorbei ist.
Das mit den direkten Portzugriffen war auch mehr Krampf als Segen.
Vermutlich läuft der USB so zuverlässig, weil eben nicht jeder
dahergelaufen direkt daran 'rumfummeln' kann ...
Hallo, > 1) Vendor ID. Ist zur eindeutigen Bestimmung nunmal nötig, genau wie bei PCI. Ist mir allemal lieber als das Gewurschtel, was man da bei ISA hatte. Schön wäre es halt, wenn sich jemand eine für Hobby-Zwecke kaufen würde, und dann für 1500$/65536, also ca. 3ct, die Device-IDs verkaufen könnte. Als Hobby-Bastler hat man sonst kaum eine Chance. Gibt es so ein Projekt? Wäre das überhaupt erlaubt? Angeblich kann man bei einigen Herstellern von Controllern auch eine Device-ID bekommen, wenn man deren µController nutzt, aber wirklich bestätigt habe ich das noch nicht bekommnen. (Anchor Devices hat es wohl mal gemacht, Cypress und Frescale sagt man es auch nach, unsere Distributoren haben aus Frescale aber keine eindeutige Antwort rausgekriegt.) > 2) aufwendige Treiberentwicklung unter Windows: Kann ich jetzt nichts zu sagen, unter Linux geht es. Ist zwar nicht trivial, aber machbar. Und es kostet nichts ;-) > 3) Ich habe mir einen USB-Serial-Wandler mit ein Paar Zusatzfeatures gebaut, damit habe ich meine Seriellen Geräte im Griff. Also ich persönlich mag usb. Kein Aufschrauben, einfach anstecken, Treiber lädt sich selbst, fertig. Das ganze Kleinzeug, das sonst viele Anschlüsse braucht: USB-Hub und gut is'. Nur meine Meinung Alexander Schulz
Salve, ganz so einfach mit dem Senden und Empfangen (im Vergleich zu RS232) ist es nun mal bei USB nicht... leider. Schließlich kann dieser Bus physisch ziemlich komplexe Formen annehmen. Dagegen ist RS232 nur eine Point-to-Point-Verbindung und schonmal deshalb denkbar simpel. An sich finde ich die Theorie von USB ganz okay, also z.B. das Plug'n'Play (was natürlich OS-seitig entsprechende Treiber bzw. Anwendungen benötigt, die auf alle Events entsprechend reagieren). Die Idee, VendorIDs und ProductIDs zu verwenden ist an sich auch keine schlechte (s. PCI). Leider gibt's in der Praxis ab und an Probleme mit der Hardwareverträglichkeit. Außerdem halte ich das 1ms-Raster für ein Designproblem. Und wenn ich noch was loswerden darf, ich finde die USB-A-Stecker widerlich. Sie sind einfach häßlich, machen einen instabilen Eindruck... und ich erkenne nie auf den ersten Blick, wie rum sie rein müssen. Soviel dazu... ;) So schön USB für den Anwender (im Idealfall) auch sein mag... für den Entwickler ist es (insb. wenn man nur mal eben eine kleine Kommunikationsmöglichkeit zum PC braucht) ein extremer Aufwand, von den entstehenden Kosten mal ganz zu schweigen. Was Hannes sagt, trifft's leider auch irgendwie. Man spürt eine Entwicklung weg vom Begreifbaren (RS232, ISA...), was auch Hobbyanwender implementieren können, hin zum Komplexen (USB, Firewire, PCI...), was sich nur noch etablierte Firmen leisten können. Sicherlich liegt das zum größten Teil an den gestiegenden Anforderungen, hat aber bestimmt auch markttechnische Gründe. Mark
Salve, seufz ich sollte mein Browserfenster nicht ne halbe Stunde offen lassen, bevor ich antworte... War ja schon alles gesagt... :) Mark
@tobias: > In der Industrie und im Privatbereich gibt es sehr viele Geräte die über RS232 oder LPT Port laufen. Nur leider sind auf neueren Mainboards keine solchen Schnittstellen mehr vorhanden und werden durch USB abgelöst. < Es gibt aber immer noch genügend Boards die alle Schnittstellen haben. Wer da ein unpassendes Board kauft, der ist halt selber schuld. Und daß es immer weniger Boards mit alten Schnittstellen gibt, liegt natürlich daran, daß die Leute immer weniger Geräte für diese Schnittstellen haben. Ich sehe das ja an mir: Mein Fotoapparat hat beide Schnittstellen (USB und RS232), aber es macht halt keinen Sinn, 100MB per RS232 zu übertragen. Für mein altes Handy hatte ich ein RS232-Kabel, für das neue USB. Mein GPS hat RS232, aber das benutze ich selten. Mein Hauptanwendungsfall für RS232 ist sicherlich die Microcontrollerbastelei, aber da könnte ich natürlich auch einen Adapter kaufen oder das IgorPlug-USB verwenden. @Mark: > Man spürt eine Entwicklung weg vom Begreifbaren (RS232, ISA...), was auch Hobbyanwender implementieren können, hin zum Komplexen (USB, Firewire, PCI...), was sich nur noch etablierte Firmen leisten können. Sicherlich liegt das zum größten Teil an den gestiegenden Anforderungen, hat aber bestimmt auch markttechnische Gründe.< Dem kann ich jetzt nicht so ganz folgen: Ein Hobbyentwickler, der ein Gerät für sich und seinen Bekanntenkreis baut, der braucht doch keine ID zu kaufen. Der benutzt halt irgendeine und gut ist. Ich kann da auch keine marketingtechnischen Gründe erkennen, denn der Hobbyistenmarkt wirkt sich sicherlich nicht nennenswert auf die Verkaufszahlen aus. Markus
Salve, @Markus: damit meinte ich nur, daß begreifbare Schnittstellen wie RS232, ISA etc. auch_ und _sogar von Hobbyanwendern verstanden werden können. Das heißt nicht, daß sich deren Nutzung auf diesen Personenkreis beschränkt. Für kleinere Firmen sind die moderneren Schnittstellen leider nicht so einfach nutzbar. Und an dieser Stelle trennt sich eben, wie schon jemand sagte, die Spreu vom Weizen. Ältere Schnittstellen konnte man noch selber aus I/Os bilden, den Rest mit ein paar kleinen Routinen erschlagen. Heute kommt man nur noch sehr selten ohne Buscontroller aus. Leider benötigen diese Controller einen entsprechenden Ansteueraufwand. Das, was USB für den Anwender so simpel und flexibel macht (die 4 Drähte, die am Ende rauskommen), kostet den Entwickler Nerven und Geld. Alles in allem eine Entwicklung, der man über kurz oder lang sicherlich nicht entgehen kann. Was halt schade ist, ist daß USB so ziemlich die einzige Schnittstelle ist, die einem noch bleibt. Für sehr geringe Datendurchsätze, die manchem Hobbyanwender sicherlich voll ausreichen würden, wäre evtl. eine wesentlich simplere Schnittstelle (möglichst schon ein Bus, evtl. I²C) als Standardausstattung an PCs wünschenswert. Denn daß USB eine nette Sache ist, bestreiten sicherlich die wenigsten. Aber daß man bei modernen PCs (und man will ja auch ein wenig zukunftskompatibel sein) darauf angewiesen ist, das ist sicher das, was Hobbyanwender und kleinere Unternehmen sehr bedauern. Mark
hallo, der apple/mac hat mit dieser schnittstelle einmal vor langer,langer zeit angefangen. und die pc-user haben damals geschimpf, "warum kriegen wie nicht so eine einheitliche tolle und schnelle schnittstelle, wo man bequem alle geräte anschliessen kann blah.... blah... ihr arbeitslosen ing... und ihr techn...in deutschland, runter vom sozialen sofa und was neues entwickeln. ich lache nur noch darüber , weil ich ein junger pensionär bin, und ärgern gibt es für mich nicht mehr. frohes schaffen. es lebe die entwicklung. mfg pebisoft
@tobias Ich bin ganz deiner Meinung: Alle was ich nicht verstehe oder beherrsche muss ja wohl bescheuert sein! Die ganze Rechtschreibung ist ja völlig bescheuert! 99,5% der Menschheit sind bescheuert, weil sie eine andere Sprache sprechen und/oder Frauen sind - und die kann man ja sowieso nicht verstehen - man(n) sind die bescheuert!!!
@Mark: USB kann man auch als Hobbyist begreifen - es ist halt nur viel mehr Aufwand, wenn man ihn richtig verstehen will. Die Frage ist, ob man das überhaupt muß. Mit so Chips wie z.B. von ftdi sollte das nicht so wirklich viel mehr Aufwand sein. Klar, das ist ein extra Buscontroller, aber vorher hat man da eben einen Max232 gebraucht. So ein Buscontroller mit passendem Windowstreiber ist natürlich erstmal eine Blackbox, aber das ist mein Microcontroller ja auch, wenn ich z.B. fertige Funktionen für RS232 verwende. Für die kleinen Firmen kann ich da auch keine so großartigen Probleme sehen: Die geben halt ein paar hundert Euro für ein Fertigprodukt aus. Markus Markus
> der apple/mac hat mit dieser schnittstelle einmal vor > langer,langer zeit angefangen Nö, nur indirekt. Der Apple hatte anno dunnemal seine recht langsame Tastatur/Mausschnittstelle (welche Technik eigentlich? RS422?). Später kam Apple dann mit Firewire, wollte aber mehr Lizenzgebühren als der Rest der Welt zu zahlen bereit war. Die Konsequenz war USB, designed by Intel.
Zwei Sachen sind unendlich, die Dummheit der Menschen, und das Universum, beim Universum bin ich mir nicht ganz sicher... (frei nach Einstein)
Hallo Also dem kann ich leider nicht zustimmen. Auch ich dachte früher, dass USB eine komplizierte Sache sein muss, aber das hat sich geändert. Sicher, wenn man selbst das Protokoll programmieren möchte kann man sicher einige Zeit rechnen. Doch wie weiter oben schon erwähnt, die FTDI-USB-Bausteine sind einfach toll. Ich sehe hier überhaupt kein Problem - Im Gegenteil - Ich habe jetzt sogar weniger Programmieraufwand. Warum? Die Bibliotheken sind bei diesen Bausteinen dabei. Es ist möglich mit entsprechenden FT_OPEN - Befehlen direkt auf den Baustein zuzugreifen, ohne dass man den bescheuerten virtual Com benutzen muss. Man kann den Baustein einen Namen geben und ich kann im PC-Programm definieren, dass wenn ein Gerät mit einem bestimmten Namen angeschlossen wird, dieses geöffnet werden soll. Bei dem alten Com-Port war das immer so ein Krampf - Man musste eine Leiste einbauen, mit welcher man den einen oder anderen Com-Port auswählen musste. Dann gab es meist einen Verbinden oder Trennen-Button, dann musste man noch was programmieren, wo der Benutzer seine Baudrate angibt. Hei - Wenn das nicht Sch.... war. Jetzt lasse ich eine Routine laufen, die ein angeschlossenes Gerät mit dem entsprechenden Namen sofort öffnet, wenn es angschlossen wird. Und noch was tolles: Ich kann an Hand von USB-Befehlen fragen, ob das Gerät überhaupt noch da ist, ohne, dass man dies jetzt in Form eines Übertragungsprotokolles formulieren muss. Früher musste ich auch im µC-Programm eine ensprechende "Ich bin noch da"-Routine einbetten, die auf Anfrage des PCs entsprechend reagieren musste. Jetzt kann ich mich voll und ganz auf die Steuerkommunikation zwischen PC und µC konzentrieren. Wenn ich wissen möchte, ob das Gerät noch da ist, dann frage ich einfach den Treiber und der sagt mir das. Tolle Sache - Jetzt benötigt man eben diesen FT232BM um eine Kommunikaion herzustellen - Aber auch bei der Seriellen konnte man den µC nicht direkt an den PC anschließen - Man benötigte den MAX232 einen Pegelwandler. Und jetzt bei USB nimmt man halt einen FT232BM und alles funktioniert super. Ist doch egal was der Baustein macht in 10 Jahren gibt es wieder ein neues Bussystem und dann wird man wieder ähnliche Treiberbausteine zur Verfügung haben. Warum, frage ich euch - Soll man das Protokoll bis ins Detail verstehen müssen? Was den I2C angeht habe ich auf der FTDI-Homepage ein Programm gefunden mit dem ein FTDI-Baustein eine SPI oder I2C-Schnittstelle nachbildet. Also macht euch keine Sorgen. Mit diesen Bausteinen hat der Entwickler alles was er benötigt. Und ich selbst habe auch schon Geräte von kleinen Firmen gekauft, wo genau dieser FTDI drinnen war. Tschüss Martin
Hmm. Ich kann die Aufregung nicht so ganz nachvollziehen. Dank solcher Bausteine wie der FTDI-Chips ist doch für einfache Anwendungen (bei denen es nicht auf ein allzukritisches Timing ankommt) USB überhaupt gar kein Problem - auf beiden Seiten so einfach zu verwenden wie eine echte serielle Schnittstelle und -im Gegensatz zur traditionellen seriellen Schnittstelle- auch in fast unbegrenzter Stückzahl zu verwenden. (Gut, oberhalb von COM9: muss \\.\COM10 .. \\.\COM255 verwendet werden, das unterstützt nicht jedes Anwendungsprogramm). Wer die FTDI-Chips scheut, kann sicherlich auch was mit dem USB-Seriell-Adapter von Igor Cesko etwas anfangen, der annähernd vergleichbare Funktionalität in einem handlöterfreundlicheren Gehäuse zur Verfügung stellt. Damit ist IMHO die Entwicklung vieler Hardwareprojekte sogar deutlich einfacher als zu ISA-Zeiten, da man sich weder um den reichlich verkorksten ISA-Bus noch um freie I/O-Adressen oder sonstigen Krampf Gedanken machen muss. Ich sehe hier USB eindeutig als einen Fortschritt an. Den Parallelport für andere Dinge als Druckerausgaben zu nutzen hielt ich schon immer für einen Irrweg ('s gibt nur einen, Programmierung ist auch ein Krampf etc.). Andere als Kritik an USB erwähnte Punkte - Treiberentwicklung - 1msec-Raster treten bei Verwendung des ISA-Busses oder Parallelport-Lösungen genauso auf, sofern auf dem beteiligten Rechner ein etwas fortschrittlicheres Betriebssystem als DOS verwendet wird. Der windows-eigenen Schedulergranularität von 1msec (standardmäßig sogar 10msec) entrinnt man ebensowenig wie der Erfordernis, Hardware über Devicetreiber anzusprechen. Und die braucht man für ISA-Hardware ebenso wie für Parallporthardware. Es gibt zwar Frickellösungen à la "giveio.sys", die Betriebssystemmechanismen umgehen, die aber scheitern spätestens, sobald die zu verwendende Hardware mit Interrupts arbeiten soll. Hier übrigens wiederholt erwähnenswert: http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/ Das ist eine sehr elegante USB-LPT-Adapterlösung, die einem helfen kann, alte Parallelport-Hardware mit USB zu verwenden. Im übrigen kann man auch ohne eigene Treiberentwicklung unter Windows mit USB-Devices kommunizieren, ich möchte da nur auf libusb-win32 verweisen (das eine Portierung des *nixschen libusb darstellt).
Ich geb zu ich hab nur die ersten paar posts gelesen aber das reicht mir ja auch schon. @Tobias Sorry aber für mich höhrst du dich an wie einer der Pseudoproentwickler aus irgendeinem Ingeneurbeüro xyz mit Höhenkoller .......... (Man meint das man Programieren könne und vergisst sogar nen Uninstaller weil man auch meint seine Soft ist das einzig wahre Geschenk an die Menschheit das man nie mehr deinstet.Obendrein muß der anwender nicht erfahren das man ihm wichtige Systemdateien gegen uralte speziell verbogene austauscht.Sollen die Deppen gefälligst auch mit Sinnlos95 Arbeiten wie man selber) ...........der die Entwicklung verpennt hat und nun rumheult weil ihm die Kunden wegsterben(Kein LPT,COM usw.) und das bisseken Kohle ausbleibt. Ja,wie gesagt. Höhrt sich original so an. Soll aber keine Beleidigung sein. PS: Ich habe auch irgendwann mit FTDI-Chips und der freien Vendor angefangen. Die ersten 4 Tage häufig geflucht und dann immer öfters ein "Aha Erlebnis" gehabt. Jetzt nutze ich es genauso wie die alte Serielle. Das einzige was man dafür aufgeben muß ist das man volle übersicht über jedes Bit hat wie bei der alten "Bitschieberschnitstelle" '-)
@Rufus Habe ich jetzt was verpaßt? Aber ich glaube, Rufus ist wieder da. Wie war denn der Urlaub? Ich freue mich aufrichtig wieder von dir Lesen und Hören zu dürfen...
@Trebuh: Weiß nicht, was Du verpasst haben magst. OT: Bin in der Tat wieder da, Urlaub war nett & erholsam. Danke für (wieder-)Willkommensgrüße.
Also theortisch ist USB doch eine sehr genial Idee. Doch in der Praxis habe ich schon viel geflucht bei der Installation von normalen USB-Geräten wie Drucker Modem, Scanner usw. Gruss Weihnachtsmann
@tobias Ich habe jetzt keine Lust, alle Beiträge zu lesen. Aber es gibt sehr wohl API-Funktionen unter Windows, z. B. für HID. Hast du dir schonmal Firewire angesehen? Das ist noch schräger und komplizierter, dafür allerdings auch leistungsfähiger. Allerdings stimme ich dir zu, auch meiner Meinung nach ist bei USB wirklich Fehler gemacht worden: die Stromversorgung. 500mA für einen Bus an dem 127 Geräte angeschlossen werden können, ist lächerlich und für mich völlig unverständlich. Bei Firewire dagegen kann man ordentlich Strom ziehen, wie sichs halt geört.
Auch interessant: http://www.obdev.at/products/avrusb/. Ähnlich zu IgorPlug, aber ohne Spaghetti-(Code|Dokumentation|Lizenz).
Hei Rufus Wo warst du denn auf Urlaub? Hast du ein Billigangebot genommen oder selbst was geplant? Würde uns auch alle interessieren. Gruß Mario
Dank an Andreas für den Link. Von allgemeinem Interesse dürfte der dort unter "Project" aufgelistete USB-ISP-Programmieradapter sein: http://www.fischl.de/usbasp/ @Mario: Das wird jetzt arg OT. Sizilien war's. Kein Billigangebot, sondern Eigeninitiative. Schön da.
Ich habe mich oft über USB geärgert, aber nur als Anwender. Bei jeder zweiten Installation von USB-Geräten stellen sich nach meiner Erfahrung nicht reproduzierbare Seltsamkeiten heraus, oftmals zu lösen, indem man am selben Rechner eine andere USB-Buchse nimmt. Soviel zur Qualität der realen Implementierungen ... Ich bin oft auf Konferenzen, wo dann ein "Last-Minute-Draft" per USB-Stick herumgereicht wird. Bis der beim letzten angekommen ist, die die Tagesordnung abgearbeitet, denn immer wieder kann einer das Gerät nicht öffnen, ein Neustart wird fällig oder die Maschine friert ganz ein. Offenbar sind doch auch "professionelle" Entwickler überfordert. Inwieweit die Gründe in einem "Schrott"-Standard begründet liegen, kann ich nicht beurteilen, aber die Konsequenzen sind erschreckend. Und ich habe schon oft gehört, daß Intel bewußt die Implementierungslatte sehr hoch gehängt hat, um keine zulässigen Teilimplementierungen zu ermöglichen, die einfachen, direkten Datentausch ohne PC ermöglichen. Intel wollte wohl bewußt einen Standard etablieren, der auf einen leistungsfähigen PC als Master angewiesen ist, damit sich nicht ein Netzwerk mit verteilter Intelligenz etabliert, bei dem PCs optional sind ... Wenn ich mir dann anschaue, wie sich alle auf USB gestürzt haben, als IEEE 1394 für weniger Geld schon mehr geboten hat und weiter verbreitet war ... Intel befiehlt und alle folgen brav; das Microsoft-Pendant in der Hardwarewelt. Ich habe aber nicht den Eindruck, daß USB in der µC-Welt eine Chance haben wird. Je nach Aufgabe kann man Ethernet, Bluetooth, CAN oder andere einsetzen. Wo bleibt da der Platz für USB?
Hi USB ist immer da wo die Verbindung zum PC gefordert ist die möglichst kostengünstig sein soll. Da führt kein Weg dran vorbei denn alles andere ist entweder zu teuer oder am PC nicht serienmäßig. Matthias
> Bei jeder zweiten Installation von USB-Geräten stellen sich nach
meiner Erfahrung nicht reproduzierbare Seltsamkeiten heraus, oftmals zu
lösen, indem man am selben Rechner eine andere USB-Buchse nimmt.
Das ist mir bisher nur bei Windows passiert. Da ist das aber auch bei
PCi ein Problem. Wie man bei einem Hotplug-System die Treiber vom
verwendeten Port abhängig machen kann ist mit schleierhaft. Dafür
gehören die Redmonder echt geprügelt.
Gruss
Alexander
Ich hatte bisher unter OS X nie ein Problem mit USB, egal ob Eingabegeräte, RS-232-Adapter, Kameras oder Massenspeicher.
Hallo! Auch ich habe Grund zum Nörgeln: Also man schließt den FTDI-Baustein das erste Mal an und die Installationsroutine wird aktiviert. Man gibt dem PC das ensprechende Verzeichnis an. Danach mekert Windows XP, dass die Treiber nicht zertifiziert sind und es dadurch zu unvorhersehbaren, extremen Systemschäden kommen kann. Als böser, böser, ungehorsamer Benutzer drückt man aber trotzdem auf installieren, obwohl Microsoft ausdrücklich befiehlt, den Treiber nicht zu benutzen, da er eine potentielle Gefahr für die Einnahmen von Microsoft darstellt und das Gerät läuft. Man kann es danach abstecken und wieder einstecken und das Gerät funktionert wieder ohne Probleme. Nur, wenn ich das Gerät an einem anderen USB-Port wieder anstecke, werden plötzlich wieder die Treiber benötigt und ich muss die ganze Installationsprozetur wieder über mich ergehen lassen. - Was soll das? Habt ihr ähnliche Erfahrungen gemacht? Ist das bei euch auch so oder nur auf meinem System? Welcher Grund oder Fehler steckt hier dahinter oder wie Microsoft sagen würde - Welchen Zweck hat dieses Feature? Gruß, Martin
Okay, okay: ja, die genannten Erfahrungen beziehen sich ausnahmslos auf USB unter diversen Windows-Dialekten. Meine Macs sind alt und haben kein USB; das Dienstnotebook ist unter Linux ein Graus. Aber selbst wenn: man muß von einer Spezifikation verlangen können, daß selbst Microsoft sie umsetzen kann ... (-;
@Martin Das mit den anderen USB Port´s, machen auch ein paar USB MP3 Player auch so, warum weiss ich nicht, es liegt nicht an Windows selber,sondern bei denjenigen die den Treiber prog.haben,frag doch FTDI. gruss Andi
> Welcher Grund oder Fehler steckt hier dahinter oder wie Microsoft > sagen würde - Welchen Zweck hat dieses Feature? Der Fehler ist die fehlende eindeutige Seriennummer im Gerät.
> Wie man bei einem Hotplug-System die Treiber vom verwendeten Port > abhängig machen kann ist mit schleierhaft. Das Problem geht doch schon beim Öffnen des Geräts los. Schliesse drei gleichartige Geräte an den PC an. Jetzt übergibst Du einen String mit lediglich VID und PID an CreateFile und bekommst Dein Handle. Aber auf welches der drei Geräte? Eine eindeutige Unterscheidung wie "COM1" und "COM2" gibt es doch nicht mehr. Das letzte bleibende Merkmal ist die Seriennumer, die ist per Definition eindeutig. Fehlt dem Gerät diese aber, generiert Windows eine eigene. Und damit das eindeutig bleibt, ändert sich die generierte Nummer, wenn Du auf einen anderen Port wechselst, logisch. Mit Nummer hingegen kann das Gerät sofort wiedererkannt werden und das 'Problem' sollte sich von selbst erledigt haben. Wie sollte das aber Deiner Meinung nach vernünftig funktioneren? Wie willst Du die Geräte voneinander unterscheiden?
Wie kann es denn erlaubt sein, daß ein Gerät ohne Seriennummer sich mit dem USB-Logo schmücken kann? So etwas wäre doch wirklich dann die Mindestforderung! Jedes beliebige USB-Gerät wird ohnehin irgendeinen Controllerbaustein mit eindeutiger ID benutzen, die dafür benutzt werden könnte. Also, selbst jedes Sandkorn, das ich an den primitiven 1-wire-Bus hängen kann, hat seine eindeutige ID!
Gewisse Geräteklassen funktionieren sogar überhaupt nicht nicht ohne Seriennummer. Warum die Spezifikation das für den Rest optional macht, habe ich auch noch nicht verstanden. Ich bin jedenfalls auch dafür, Geräte ohne Nummer zu verbieten! Und da das numal optional ist, können sich auch Geräte ohne Nummer mit Logo schmücken. Funktioneren tut das ja auch so. Aber eigentlich schmücken sich doch die wenigsten Geräte mit Logo, oder? Zwar steht überall USB drauf, das Logo selbst sehe ich dann aber doch fast nie.
Hi so ein OneWire Baustein kostet aber auch genausoviel wie ein billiges USB-Gerät. Eine gerätespezifische Programmierung ist da einfach aus finanziellen Gründen nicht drin. USB ist nunmal kein Bus (eigentlich ist es ja garkein richtiger Bus) für die Industrie sondern für Consumer. Und Consumer-Geräte dürfen dank "geiz ist geil"-Markt & Co. fast nichts mehr kosten. Matthias
USB ist doch sehr einfach ;-) Schon mal das Video gesehen ? http://www.cnn.com/TECH/computing/9804/20/gates.comdex/
Hallo René Habe das jetzt probiert und bei einem meiner USB-Geräte die Seriennummer aktiviert. Es ist so wie du gesagt hast, ab diesem Zeitpunkt war es egal, bei welchem Port ich das Gerät ansteckte, er hat es immer sofort gefunden, ohne das man einen Treiber nachladen musste. Wie sieht es eigentlich mit diesen Seriennummern aus? Darf man hier einfach eine vergeben oder ist das so wie mit den Vendor ID_Nummern? Muss man dafür bezahlen, dass man eine bestimmte Seriennummer vergeben darf? Gruß Martin
> Darf man hier einfach eine vergeben oder ist das so wie mit den > Vendor ID_Nummern? Das kannst Du machen, wie der der Schnabel gewachsen ist. Du mußt lediglich sicherstellen, daß Du eine Nummer nicht doppelt vergibst. BTW: Für Massenspeicher gibt es in der Tat spezielle Anforderungen an die Seriennumer. Das kannst Du in der zugehörigen Device Class Definition nachlesen. Für Dich ist das aber weniger interessant.
Warum zum Geier muss ich für die Scheiss Bustreiber eigentlich so ein Heidengeld bezahlen??? Ist da irgendwas großartiges drin, etwa laserabgestimmte Zenerdioden? Nicht dass ich wüsste. Ist nen stinknormaler Controllerbaustein. Der FT232BM kostet 6.30 bei Reichelt, der IOWarrior 14 Euro. Für 7,45 Euro krieg ich bei Conrad den PIC18F252 Prozessor mit Full Speed USB,24576 Byte Flash,2048 Byte RAM, 2 Comparatoren und nem 10 Bit A/D Wandler plus hardware UART-Interface! Da muss man sich doch fragen: WOLLEN DIE UNS VERARSCHEN???
@Tom Für Dich sollte wegen Überheblichkeit und Dummheit noch ein paar Euro aufgeschlagen werden.
Hi FTDI stellt dir Treiber für Win, WinCE, Linux, MACOS {8,9,X} zur Verfügung die super simpel zu benutzen sind, du darfst deren VendorID benutzen und der Chip liefert einen fix-fertigen Datenstrom. Da bezahlt man eben für Komfort wenn man keine zusätzlichen Features benötigt. Das kannst du jetzt stückzahlenmäßig aufrechnen gegen eigene Treiberentwicklung/pflege. Kommt dabei ein + raus fällt die Entscheidung auf die FTDI's oder ähnliches. Ist es ein - wird es eben ein µC mit integriertem USB-Interface. Matthias
@Manfred Super Spruch, hast Du fein gemacht. Bis auf die falsche Grammatik :) @Matthias Das mit der Treiberentwicklung leuchtet ein, aber die Preise sind trotzdem unverschämt. Wenn man sieht was man bei Microcontrollern wie PIC oder AVR alles an AppNotes, Sourcecode, Firmware, Treibern usw. gratis dazu bekommt, dann ist das einfach nicht gerechtfertigt wenn die dermaßen viel Kohle kassieren. Wenn man USB von der Leistung voll ausnutzen will kommt man eh nicht um eigene Treiber herum, und andernfalls tuts meist auch HID.
Hi @Tom man "freie Marktwirtschaft" Wenn die 6 pro Chip bekommen dann nehmen die das auch. Wenn mir jemand ein Gehalt von 100k im Jahr bezahlen möchte nehm ich das auch. Matthias
@Tom Naja vielleicht sind die Stückzahlen nicht so hoch. Es entscheidet ja nicht die Technik, sondern die Möglichkeit Gewinne zu machen. Schenken werden die uns nichts.
hallo tom, ich bin ein gut bezahlter pensionär. damit das elektronikhobby nicht an unvernünftige kurzentschlossene geldmangelden leuten zugrunde geht, sollten die elektronikbausteine noch einmal um das 3-fache steigen. damit die spreu vom weizen getrennt wird.
es ist schlimm, wenn sich leute an die elektronik vergreifen und dann den finanziellen überblick verlieren. die elektronikbranche ist kein soziales schnorrersofa. mfg pebisoft
@pebisoft: Nicht jeder ist "gutverdienender Rentner" und bereit, das 3-fache der heutigen Preise zu zahlen. Verlangst du etwa, dass interessierte und begabte Schüler oder Studenten aus Geldmangel am Elektronikhobby scheitern sollen? Und nein, Schüler und Studenten sind keine "gutverdienenden Rentner", denen alle Geldangelegenheiten egal zu sein scheinen und die natürlich immer Recht haben. ..wieso diskutiere ich eigentlich mit dir? Du wirst doch eh wieder darauf pochen, wie gemein doch alle sind, die deine Meinung nicht teilen (siehe Roboternetz).
Salve,
@Chris:
> ..wieso diskutiere ich eigentlich mit dir?
Das frag ich mich auch grad. Bitte, diesen Unfug einfach ignorieren.
Dieses pseudo-elitäre Getrolle ist's echt nicht wert, daß man da drauf
eingeht.
Mark
(sarkasmus on) ich bin wesentlich jünger, muß hart und viel arbeiten für wenig Geld, dafür werde ich aber mit hoher wahrscheinlichkeit noch erleben wie man in 50 jahren einen Computer baut. (sarkasmus off)
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.