Forum: Mikrocontroller und Digitale Elektronik USB der letzte Schrott.


von tobias (Gast)


Lesenswert?

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.

von ...HanneS... (Gast)


Lesenswert?

Wir sollen ja schließlich alle dumme abhängige Multimedia-Konsumenten
werden. Und dazu ist doch USB 2.0 nicht schlecht, oder?

...

von Christian Zietz (Gast)


Lesenswert?

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

von Hagen (Gast)


Lesenswert?

>> 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

von René König (Gast)


Lesenswert?

> 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 ...

von Alexander (Gast)


Lesenswert?

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

von Mark Hämmerling (Gast)


Lesenswert?

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

von Mark Hämmerling (Gast)


Lesenswert?

Salve,

seufz ich sollte mein Browserfenster nicht ne halbe Stunde offen
lassen, bevor ich antworte... War ja schon alles gesagt... :)

Mark

von Markus (Gast)


Lesenswert?

@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

von Mark Hämmerling (Gast)


Lesenswert?

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

von pebisoft (Gast)


Lesenswert?

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

von Der Bescheuerte (Gast)


Lesenswert?

@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!!!

von Markus (Gast)


Lesenswert?

@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

von A.K. (Gast)


Lesenswert?

> 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.

von Einstein Zitat (Gast)


Lesenswert?

Zwei Sachen sind unendlich,

die Dummheit der Menschen,
und das Universum,

beim Universum bin ich mir nicht ganz sicher...


(frei nach Einstein)

von Martin (Gast)


Lesenswert?

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

von Rufus T. Firefly (Gast)


Lesenswert?

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).

von Ratber (Gast)


Lesenswert?

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"  '-)

von Trebuh (Gast)


Lesenswert?

@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...

von Rufus T. Firefly (Gast)


Lesenswert?

@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.

von Weihnachtsmann (Gast)


Lesenswert?

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

von Thorsten (Gast)


Lesenswert?

@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.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Auch interessant: http://www.obdev.at/products/avrusb/. Ähnlich zu
IgorPlug, aber ohne Spaghetti-(Code|Dokumentation|Lizenz).

von Mario (Gast)


Lesenswert?

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

von Rufus T. Firefly (Gast)


Lesenswert?

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.

von Philipp Sªsse (Gast)


Lesenswert?

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?

von Matthias (Gast)


Lesenswert?

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

von Alexander (Gast)


Lesenswert?

> 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

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Ich hatte bisher unter OS X nie ein Problem mit USB, egal ob
Eingabegeräte, RS-232-Adapter, Kameras oder Massenspeicher.

von Martin (Gast)


Lesenswert?

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

von Philipp Sªsse (Gast)


Lesenswert?

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 ... (-;

von Andi (Gast)


Lesenswert?

@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

von René König (Gast)


Lesenswert?

> 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.

von René König (Gast)


Lesenswert?

> 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?

von Philipp Sªsse (Gast)


Lesenswert?

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!

von René König (Gast)


Lesenswert?

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.

von Matthias (Gast)


Lesenswert?

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

von blabla (Gast)


Lesenswert?

USB ist doch sehr einfach ;-)

Schon mal das Video gesehen ?
http://www.cnn.com/TECH/computing/9804/20/gates.comdex/

von Martin (Gast)


Lesenswert?

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

von René König (Gast)


Lesenswert?

> 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.

von Tom (Gast)


Lesenswert?

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???

von Manfred (Gast)


Lesenswert?

@Tom

Für Dich sollte wegen Überheblichkeit und Dummheit noch ein paar Euro
aufgeschlagen werden.

von Matthias (Gast)


Lesenswert?

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

von Tom (Gast)


Lesenswert?

@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.

von Matthias (Gast)


Lesenswert?

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

von Freak5 (Gast)


Lesenswert?

@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.

von pebisoft (Gast)


Lesenswert?

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.

von pebisoft (Gast)


Lesenswert?

es ist schlimm, wenn sich leute an die elektronik vergreifen und dann
den finanziellen überblick verlieren. die elektronikbranche ist kein
soziales schnorrersofa.
mfg pebisoft

von Chris (Gast)


Lesenswert?

@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).

von Mark Hämmerling (Gast)


Lesenswert?

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

von Thomas (Gast)


Lesenswert?

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