Forum: Mikrocontroller und Digitale Elektronik Suche USB Buch


von NIls_Langner (Gast)


Lesenswert?

Hallo zusammen,

ich schreibe gerade meine Bachelor Arbeit bei einem großen Sensor
Hersteller. Die wollen Ihre Sensoren vom serieller Schnittstelle auf
USB umstellen. Die meisten Geräte die angeschlossen werden, sind
Lichtschranken, es existieren aber auch komplexere Sensoren.

Da man an den Sensoren keine Veränderungen vornehmen will muss ich ja
prinzipiell nur sowas wie einen seriell über usb Tunnel bauen. Nachdem
ich mich ein bisschen in USB eingelsen habe, habe ich gemerkt, dass das
ganze nicht so einfach wird, wie ich das gerne hätte ... aber das ist
man als Informatiker ja gewohnt.

Lange Rede kurzer Sinn, kennt jemand ein Buch, das man empfehlen kann,
das einigermaßen gut auf diese Thematik eingeht. Habe das USB 2.0 Buch
von Kelm vor mir liegen und komme damit nicht wirklich zurecht, weil
mir einfach zu viele Dinge fehlen. Falls es kein Buch gibt, dann
vielleicht HowTos im Netz.

Über eure Hilfe würde ich mich sehr freuen :)

Grüße
Nils

von inoffizieller WM-Rahul (Gast)


Lesenswert?

usb.org
Da gibt es Dokus, wie die einzelnen Klasse definiert werden.

von Michael Wilhelm (Gast)


Lesenswert?

Fachliteratur, Fachbuch, USB2.0   RS Best.-Nr.: 492-7735
Hersteller: REDLINE
Hersteller-Teile-Nr.: ISBN 3-8266-1511-5
37,75 Netto
Aus dem RS-Components Katalog

MW

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Zum "Basteln" das Buch "Messen/Steuern/Regeln mit USB" von Burkhard
Kainka aus dem Franzis-Verlag:
http://www.b-kainka.de/usb.htm
ist aber schon von 2000, noch keine Neuauflage erschienen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

"... muss ich ja prinzipiell nur sowas wie einen seriell
über usb Tunnel bauen"

Warum das Rad zweimal erfinden? So etwas gibt es von mehreren
Herstellern als fix-und-fertig-Lösung;

  - FTDI FT232R
  - Prolific PL2303
  - SiLabs CP2102

Alle der genannten Hersteller liefern auch fix-und-fertig programmierte
Devicetreiber, die dem PC eine serielle Schnittstelle vor"gaukeln", so
daß auf dem PC laufende Software nicht weiter angepasst werden muss.

von Martin Enke (Gast)


Lesenswert?

Hi Nils,

meine liebsten Bucher:
Jan Axelson: USB Handbuch für Entwickler
Jan Axelson: USB complete

Ersteres in deutscher Übersetzung, letzteres in englisch aber sehr gut
zu verstehen. Das Messen-Steuern-Regeln-Buch kann ich nicht empfehlen,
das solltest Du leihen statt kaufen. Ich bin auch sicher, dass es
zumindest von diesem Autor keine aktuellere Fassung mehr geben wird:
Die besprochene Hardware ist nicht mehr käuflich.

Vor der USB-RS232-Fertiglösung kann ich nur warnen: Wahr ist, dass es
damit kaum Entwicklungsaufwand gibt. Falsch ist, dass da immer was
Funktionierendes dabei raus kommt.
Im Allgemeinen wird durch den Treiber ein sog. virtueller COMM-Port
eingerichtet. Ein wesentlicher Nachteil von RS232 gegenüber USB ist
aber, dass die Software mindestens die Port-Nummer kennen muss (COM1,
COM2...). Leider werden die virtuellen COM-Ports gelegendlich neu
nummeriert, ich habe da noch keine zuverlässige Lösung gefunden. Und es
ist bei prof. Lösungen dem Anwender nicht zuzumuten jedesmal nach dem
Booten den die COM-Portnummer zu ermitteln.

Außerdem, und das ist vielleicht noch wichtiger, haben die
USB2Seriell-Adapter/Chips ein gewisses Delay beim Datentransfer. Viele
Applikationen melden dann eine Fehler wenn das Device z.B. nicht
schnell genug antwortet.

MfG
Martin

von Aufreger deluxe (Gast)


Lesenswert?

Die Bücher von Jan Axelson habe ich mir auch mal angesehen und ich war
sehr enttäuscht. Meiner Meinung nach gehen diese zu speziell auf
einzelne Mikrocontroller mit USB-Funktionalität (z. B. PIC) ein. Diese
Infos kann ich mir auch aus dem kostenlosen USB-Framework von Microchip
ziehen. Ich hätte mir eine umfassende, allgemeine und verständliche
Beschreibung von USB gewünscht und das leistet dieses Buch meiner
Meinung nach leider nicht.

Aber es ist halt sicher auch schwierig, einen solch komplexen Bus
verständlich darzustellen.

Mußt halt selbst sehen, was für dich geeignet ist.

von gerhard (Gast)


Lesenswert?

@martin:
deine aussage, das eine USB-RS232-Fertiglösung nichts taugt halte ich
für gewagt. schau dir mal die dzt. aktuellen in-curcuit emulatoren an,
die basieren fast alle auf solchen lösungen (z.B. arm-usb-ocd von
olimex, avrjtagicemkii von atmel,..). und es sagt auch nimend, daß du
eine virtuelle com schnittstelle einsetzen mußt.

@nils:
als erste info-quele im netz würde ich dir folgendes empfehlen:
http://www.beyondlogic.org/usbnutshell/usb1.htm

betreffend literatur:
Jan Axelson: USB complete halte ich auch nicht für besonders gelungen.
leider ist mri auch noch nichts besseres über den weg gelaufen.


gruss
gerhard

von Marco (Gast)


Lesenswert?

Jan Axelson - USB 2.0 Handbuch für Entwickler

habe ich auch, und finde es auch sehr gut.
Es gibt eine kleine Übersicht über Controller-Chips mit Auswahlhilfe.
Code für Firmware (hier ein CY7C63743) und auch für Treiber auf einem
PC sind abgedruckt.
Das Buch beschreibt auch ganz gut die Kommunikation zwischen Gerät und
PC.

von Martin Enke (Gast)


Lesenswert?

@gerhard:
Klar, die USB-RS232-Fertiglösung wird massenhaft eingesetzt was m.E.
nicht bedeutet, dass es auch gut ist. Es ist eben sehr einfach
bestehende COM-Lösungen zu portieren und im Rahmen einer Entwicklung
ist das ja auch o.k., da kann der Entwickler ja mal schaun wie die
Ports gerade heissen. Nutz man dagegen einen anderen Treiber als den
virtuellen COM-Port, dann bedarf AFAIK dies zumindes PC-seitig eines
Treibers und schon is die Einfachheit futsch. Treiber der Hersteller
kannsu nich verteiben wegen VID und PID und so geht's grad weidda
....

Sicherlich weiss ich nich alles (deshalb lese ich ja so gerne hier)
aber meine Erfahrungen waren überwiegend negativ. Bei meinen Projekten
läuft es deshalb immer auf eine HID raus, das macht einfach keinen
Ärger (wenn's mal läuft).

gruss Martin

von Nils Langner (Gast)


Lesenswert?

Läuft immer auf eine HID raus ? Heisst das du benutzt die HID Klasse
einfach als Tunnel für die Daten, die du übertragen willst und lässt
dann die Software, die du auf dem USB Gerät hast die Arbeit erledigen
?

gruss Nils

PS Virtueller COM kommt nicht in Frage, da ich sonst ne Themaverfehlung
hätte bei meiner Arbeit :)

von Martin (Gast)


Lesenswert?

Hallo Martin Enke!

Leider hast du dich mit dem Thema Fertiglösung anscheinen nicht lange
genug beschäftigt, weil du z.B. beim FTDI-Bausteinen nicht unbedingt
auf eine virtuelle COM angewiesen bist.
Du kannst den Baustein auch mit dem D2XX-Treiber verwenden und mittels
Bibliothek, die man sich von FTDI-CHIP runterladen kann, das USB-Gerät
öffnen, ohne virtuellen COM.
Du kannst das Gerät mittels Nummer oder mittels Namen oder mittels
Seriennummer öffnen und darauf zugreifen.

@Martin
Außerdem, und das ist vielleicht noch wichtiger, haben die
USB2Seriell-Adapter/Chips ein gewisses Delay beim Datentransfer.

Ich habe noch nie ein USB-Gerät entdeckt, welches das nicht hat. Kein
USB-Gerät kann von sich aus Daten senden, sondern muss warten bis der
PC die Abfrage durchführt.

Im USB-Standard sind sogar die Abfragefrequenzen für USB Low,Full oder
High-Speed angegeben.

Ich bin sehr zufrieden mit meinen FTDI-Lösungen und sie laufen wirklich
prächtig. Zudem kann man die Abfragegeschwindigkeit auf das USB-Gerät
auf 1ms reduzieren, standardmäßig ist sie auf 16ms eingestellt. Ich
hänge das Gerät an und das Programm findet sofort das Gerät und öffnet
es.

Also Nils, lass dich nicht verunsichern.

Andererseits würde ich es für sehr kompliziert halten, hier extra
PC-Treiber programmieren zu müssen. Auch die Einarbeitungszeit und
Fehlerbehebung bei der Treibererstellung darf nicht unterschätzt
werden.

Ich kann nur meine Erfahrungen wiedergeben. Mich würde aber
interessieren, wofür du dich entschieden hast.

Tschüss
Martin

von Nils Langner (Gast)


Lesenswert?

Hallo Martin,

ich bin schon verunsichert genug, dafür brauch ich die anderen nicht
:)

Haben heute das "IAR KickStart Kit for LPC2148" bestellt. Hoffe es
kommt die nächsten Tage, damit ich mal versuchen kann ein USB Gerät
anzusprechen. Ich muss mal mit meinem Betreuer reden, ob wir nicht
einfach einen Tunnel verwenden, d.h. wir suchen und eine bekannte USB
Klasse raus und senden über diese Daten.

Oder ist es zu unschön eine Lichtschranke als HID Interface zu
benutzen?

Grüße
Nils

von Martin Enke (Gast)


Lesenswert?

@Martin - martin.8435441(at)gmx.at

also gut, ich werde mich nochmals mit den FTDI-Dingern beschäftigen.
Das mit dem Delay meine ich anders: Wenn eine App auf RS232
programmiert ist erwartet sie ggf. Reaktionen auf Anfragen, ganz änlich
wie bei USB. Schaltet man nun einen USB/Seriell-Adapter dazwischen
verzögert sich diese Komunikation weil die Anfrage PC -> Gerät länger
dauert und die Antwort Gerät -> PC ebenfalls länger dauert. Davon weiss
die App aber nix und meldet, falls nicht tolerant genug programmiert,
ein timeout.

@Nils Langner
Nutzt man zur Datenübertragung die HID-Norm dann braucht man PC-seitig
keinen Treiber schreiben sondern kann einfach mittels einer Hand voll
API Daten übertragen. Die HID-Definition ist deshalb relativ weit
gefasst und ermöglicht auch eine schnelle Übetragung zumindest vom
Gerät zum PC. Allerdings muss dann der Controller im Gerät dieses
Protokol unterstützen. Die meisten Controller-Produzenten liefern
deshalb ein HID-Beispielcode den man dann nur noch ändern muss.
Kann ich nur empfehlen...

Martin

von KlaRaw (Gast)


Lesenswert?

Hallo,
ein aktuelles Buch gibt es von Bernhard Redemann.
"Steuern und Messen mit USB."
www.b-redemann.de
Die im Buch beschriebene Hardware vertreibt www.segor.de.
Das Buch selber habe ich von Redemann direkt bezogen.
Es beschreibt die FTDI Typen FT232BM und Co und auch den FT2232.
Wenn man mit englisch so einiger massen klar kommt, so genügt
eigentlich auch die FTDI - Doku. Herr Redemann hat ein Buch für den
Praktiker geschrieben, dass für Deine Zwecke hilfreich sein könnte.
Ich würde die neuesten FTDI - Module mit dem FT232RL empfehlen. Dieser
Typ kommt ohne externen Quarz aus.
Beim Elektonik Laden findest Du unter http://elmicro.com/de/ft232r.html
für 21 Euro ein fertiges Modul.
Für 18 Euro gibt es das Mini-Modul MM232R.
Der FT232RL kann übrigens wie der FT2232 den synchronen Bit-Bang-Mode.


Gruss Klaus.

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.