USB Spezifikation?

M

Matthias Karl

Guest
Hallo,

ich will eine uC-Steuerung über USB mit den PC verbinden.
USB-Hardware ist im uC vorhanden. Leider habe ich kaum
Kenntnisse über die detailierte Funktionsweise des USB-Busses.

Kann mir jemand einen Link oder Literatur zur USB-Spezifikation,
möglichst auf deutsch, empfehlen?

Vielen Dank
Matthias
 
"Matthias Karl" <ma19____@gmx.de> schrieb im Newsbeitrag
news:bubn4v$l1q$03$1@news.t-online.com...
Kann mir jemand einen Link oder Literatur zur USB-Spezifikation,
möglichst auf deutsch, empfehlen?
2 Buchvorschläge:

USB Handbuch für Entwickler Jan Axelson MITP Verlag

USB 2.0 Hans-Joachim Kelm Franzis-Verlag

Aus dem Franzis-Verlag kenne ich die Version 1.1 des USB Buches und fand es
ganz gut. Von Jan Axelson kenne ich Parallel Port Complete und kann es
empfehlen.

Gruß

Dirk Dörr
 
"Dirk Dörr" <dirk.doerr@3soft.de> schrieb im Newsbeitrag

2 Buchvorschläge:

USB Handbuch für Entwickler Jan Axelson MITP Verlag

USB 2.0 Hans-Joachim Kelm Franzis-Verlag

Aus dem Franzis-Verlag kenne ich die Version 1.1 des USB Buches und fand
es
ganz gut. Von Jan Axelson kenne ich Parallel Port Complete und kann es
empfehlen.
Danke für den Tipp, USB 1.1 wäre für meine Anwendung ausreichend,

Gruß Matthias
 
Matthias Karl wrote:

ich will eine uC-Steuerung über USB mit den PC verbinden.
USB-Hardware ist im uC vorhanden. Leider habe ich kaum
Kenntnisse über die detailierte Funktionsweise des USB-Busses.
Welchen uC? Cypress? TI TUSB?

Was willst Du genau wissen? Eigentlich mußt Du nur EP0
so konfigurieren, daß dort die In/Out Pipes angezeigt
werden, die Du benutzen willst (usbview.exe). Und dann
mußt Du die Daten eigentlich nur in die HW-Buffer legen,
wo der Host sie dann per Polling abholt. Eigentlich
relativ easy.

Kann mir jemand einen Link oder Literatur zur USB-Spezifikation,
http://www.usb.org

möglichst auf deutsch, empfehlen?
Wir haben in der Firma insg. 3 Bücher zu USB und die taugen
alle nichts. Haben mir und meinen Kollegen bei Cypress und
TI Projekten rein garnichts gebracht.

Ich würde den Original Standard + Suche bei Google benutzen.

Zu dem TUSB3210 gibt es übrigens eine Mailingliste.

cu, Marco

--
S: Minolta: Winkelsucher (VN), VC-9

E-Mail: mb-news-b<ät>linuxhaven.de
Deutsches Linux HOWTO Projekt: http://www.linuxhaven.de
 
Noch etwas:

Ein nicht unerheblicher Aufwand bei USB kann auf die Erstellung eines
DeviceDriver fallen, daher wird von vielen Seiten auf die USB Chips von FTDI
http://www.ftdichip.com verwiesen, die virtuelle COM-Treiber bereitstellen.
Daher stellt sich oft die Frage, ob es sich lohnt für eine ľC-Steuerung eine
eigene USB-Firmware + DeviceDriver für das Host-System zu erstellen, selbst
wenn die USB-Funktionalität in Deinem Controller eingebaut ist.

Ich selbst kann nicht viel dazu sagen, da die FTDI noch nicht verwendet
habe.

Gruß

Dirk Dörr
 
Matthias Karl schrieb am Samstag, 17. Januar 2004 17:15:

Hallo,

ich will eine uC-Steuerung über USB mit den PC verbinden.
USB-Hardware ist im uC vorhanden. Leider habe ich kaum
Kenntnisse über die detailierte Funktionsweise des USB-Busses.
Sollte dein Controller I2C unterstützen, wäre vielleicht auch der IO-Warrior
von Codemercs einen kurzen Blick wert. Dieser Chip erspart dir das
Einarbeiten in das USB-Protokoll.

--
Gruss, RB
 
Marco Budde <mb-news-a@linuxhaven.de> wrote in
news:40097D5C.9C5E6E5@linuxhaven.de:

Zu dem TUSB3210 gibt es übrigens eine Mailingliste.
Wo?

M.
--
Bitte auf mwnews2@pentax.boerde.de antworten.
 
"Marco Budde" <mb-news-a@linuxhaven.de> schrieb im Newsbeitrag

Welchen uC? Cypress? TI TUSB?
uPSD3234A vom STM

Was willst Du genau wissen?
alles zum Ablauf, von der Geräteanmeldung, Datenübertragung, Abmeldung

Gruß
Matthias
 
Matthias Karl wrote:

Welchen uC? Cypress? TI TUSB?
uPSD3234A vom STM
Kenne ich garnicht. Was hat der für ein uC Core?

alles zum Ablauf,
Bei den Controllern, die ich kenne, ist das einfach. Zu
USB selbst muß man eigentlich nichts wissen. Steht
eigentlich alles im Datenblatt.

Du hast zwei 64 Byte USB Buffer pro Kanal. Da kopierst
Du einfach Daten rein, setzt ein Ready Flag und wartest
bis das Flag zurückgesetzt wird. Um einen Transfer für
den USB Stack zu beenden, sendest Du ein Short Paket
(!= 64 Byte).

von der Geräteanmeldung, Datenübertragung, Abmeldung
Du mußt eigentlich nur über EP0 sagen, weile Kanalnummern
Du benutzen willst.

cu, Marco

--
S: Minolta: Winkelsucher (VN), VC-9

E-Mail: mb-news-b<ät>linuxhaven.de
Deutsches Linux HOWTO Projekt: http://www.linuxhaven.de
 
Marco Budde <mb-news-a@linuxhaven.de> wrote:

: Zu dem TUSB3210 gibt es uebrigens eine Mailingliste.

Adresse?

--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
 
Hallo Matthias!

Ich arbeite auch gerade an einer USB-Schnittstelle. Ich verwende dazu den
PDIUSBD12 von Phillips, würd dir den aber nicht empfehlen, wenn Du nur eine
einfache Anwendung hast, denn der ist ziemlich kompliziert. Du mußt dafür
erst die Firmware schreiben und danach noch einen Treiber für den Computer
und meistens natrülich auch ein kleines Programm...
Es gibt USB-ICs, die am PC einfach als serielle Schnittstelle erscheinen, Du
brauchst dann keinen Treiber, und es geht um vieles einfacher, v.a. brauchst
Du Dich nicht großartig mit den USB-internen Abläufen auskennen.

Eine sehr gute Seite ist www.beyondlogic.org , dort ist auch ein
Programmierbeispiel und vieles mehr... Du solltest Dir die Einführung ("USB
in a Nutshell") durchlesen.

Außerdem:
http://www.usbman.com/
http://www.usb.org/


"Matthias Karl" <ma19____@gmx.de> schrieb im Newsbeitrag
news:bubn4v$l1q$03$1@news.t-online.com...
: Hallo,
:
: ich will eine uC-Steuerung über USB mit den PC verbinden.
: USB-Hardware ist im uC vorhanden. Leider habe ich kaum
: Kenntnisse über die detailierte Funktionsweise des USB-Busses.
:
: Kann mir jemand einen Link oder Literatur zur USB-Spezifikation,
: möglichst auf deutsch, empfehlen?
:
: Vielen Dank
: Matthias
:
:
:
:
:
 
On Sat, 17 Jan 2004 19:46:13 +0100, "Dirk Dörr" <dirk.doerr@3soft.de>
wrote:

Noch etwas:

Ein nicht unerheblicher Aufwand bei USB kann auf die Erstellung eines
DeviceDriver fallen, daher wird von vielen Seiten auf die USB Chips von FTDI
http://www.ftdichip.com verwiesen, die virtuelle COM-Treiber bereitstellen.
Daher stellt sich oft die Frage, ob es sich lohnt für eine ľC-Steuerung eine
eigene USB-Firmware + DeviceDriver für das Host-System zu erstellen, selbst
wenn die USB-Funktionalität in Deinem Controller eingebaut ist.

Die ftdis lohnen sich nur, wenn man auf hohe Geschwindigkeit
verzichten kann. Immerhin gibt es Linux-Treiber im Kernel.
Eine andere Möglichkeit ist, eine der vielen generic classes von usb
zu implementieren. Dann entfällt die Treiberentwicklung auch, da die
gängigen BSs die schon eingebaut haben.
 
"Jochen Giese" <Jochen.G@hotmail.com> schrieb im Newsbeitrag
news:n1hn00t2r7kv68do66s34p8hcpn1hd9vko@4ax.com...
On Sat, 17 Jan 2004 19:46:13 +0100, "Dirk Dörr" <dirk.doerr@3soft.de
wrote:


Die ftdis lohnen sich nur, wenn man auf hohe Geschwindigkeit
verzichten kann. Immerhin gibt es Linux-Treiber im Kernel.
Eine andere Möglichkeit ist, eine der vielen generic classes von usb
zu implementieren. Dann entfällt die Treiberentwicklung auch, da die
gängigen BSs die schon eingebaut haben.
Klar, das ist natürlich auch noch möglich. Ich hab auch schon beides gemacht
(Eigener Treiber für Linux und Windows) und ein HID device (joystick).
Aufgrund schlechter Debug-Möglichkeit war ich damals sehr froh, daß ich
einen USB-Analyser verwenden konnte.

Aber mit den FIDI's entfällt auch noch das Schreiben der Firmware.

Hängt alles von den Prioritäten des OP ab.

--

Dirk
 
"Simone Winkler" <simone.winkler@gmx.at> schrieb...

Es gibt USB-ICs, die am PC einfach als serielle Schnittstelle
erscheinen, Du brauchst dann keinen Treiber, und es geht um
vieles einfacher, v.a. brauchst Du Dich nicht großartig mit den
USB-internen Abläufen auskennen.
Wäre die einfachste Lösung, dagegen spricht, dass mein uC (upPSD3234A STM)
schon die USB-Hardware drauf hat und mein Kunde es nicht
verstehen würde, wenn ich zusätzlich einen weiteren Baustein
einsetze, auch aus Kostengründen...
Eine sehr gute Seite ist www.beyondlogic.org , dort ist auch ein
Programmierbeispiel und vieles mehr... Du solltest Dir die Einführung
("USB
in a Nutshell") durchlesen.
Die Seite ist wirklich gut, ich werde mich dort demnächst mal genauer
umsehen.

Danke Matthias
 
Hallo !

ich will eine uC-Steuerung über USB mit den PC verbinden.
USB-Hardware ist im uC vorhanden. Leider habe ich kaum
Kenntnisse über die detailierte Funktionsweise des USB-Busses.

Kann mir jemand einen Link oder Literatur zur USB-Spezifikation,
möglichst auf deutsch, empfehlen?
Ich befasse mich auch eine Zeit lang damit und kenne - ohne 100-Pin-ICs
folgende Möglichkeiten:

* PDIUSB11 / PDIUSB12
* USBN 9602 / 9604

Das sind alles externe uC-Interfaces die über z.B. I2C an den uC ange-
schlossen wird. Man muß Firmware, PC-Software und PC-Treiber schreiben,
Doku und Support sind eher mau.

* FTDI-Chips

Ist praktisch ein TTL-RS232 <=> USB-Konverter, gibt gute Treiber sogar
mit virtuellem COM-Port-Treiber. Ist aber sauteuer und etwas umständ-
lich von der Hardware her.

* TIUSB 3210

Ist ein 8051'er Devirat mit USB-Erweiterung. Die Doku ist - vorsichtig
ausgedrückt - schwierig.

* IGOR-Plug

Ist ein ganz normaler AT AVR 90S2313 mit einer speziellen Software die
die Vorgänge auf dem USB-Anschluß per Software steuert. Der AVR wird
übertaktet und auch die USB-Spec wird nicht 100% eingehalten, aber es
funktioniert. Ich steuere das Ding mit der mitgelieferten DLL an, geht
aber ist saumäßig langsam. Das ganze ist sozusagen die gut erhältliche
Billiglösung.

* PIC 16C745 / 16C765

Ein ganz normaler PIC, aber mit USB-Erweiterung. Ist relativ gut er-
hältlich aber auch hier ist die Doku knapp. Nachteil ist der Programm-
speicher als EPROM / OTP.

Das wäre doch mal was für die FAQ...

cu,

Aguja

Neu: Forum - PROuC.de ==> Free AVR-, PIC- & 8051-Programmers, Apps & Tips
 
Uwe Bonnes wrote:

: Zu dem TUSB3210 gibt es uebrigens eine Mailingliste.
Adresse?
Gibt die zwei Begriffe bei Google ein und Du hast sie.
Das Leben kann so einfach sein :).

cu, Marco

--
S: Minolta: Winkelsucher (VN), VC-9

E-Mail: mb-news-b<ät>linuxhaven.de
Deutsches Linux HOWTO Projekt: http://www.linuxhaven.de
 
Aguja wrote:

* TIUSB 3210

Ist ein 8051'er Devirat mit USB-Erweiterung. Die Doku ist - vorsichtig
ausgedrückt - schwierig.
Nicht nur die Doku und deren Support ist für die Tonne. Die verweisen
einen auf Beispielsourcen, die sich angeblich auf ihrer HP befinden,
deren URL sie aber selbst nicht kennen.

Den IC hat wohl mal eine stud. Hilfskraft entwickelt und nun kennt
sich niemand mit dem Teil aus. Ich frage mich bis heute, wie man den
IC in den Standby Modus schaltet.

Das wäre doch mal was für die FAQ...
Und verbunden mit dem Hinweis, am besten gleich den Cypress EZ-USB
zu nehmen. Der läuft wenigstens vernünftig.

cu, Marco

--
S: Minolta: Winkelsucher (VN), VC-9

E-Mail: mb-news-b<ät>linuxhaven.de
Deutsches Linux HOWTO Projekt: http://www.linuxhaven.de
 
Hallo,

Ich befasse mich auch eine Zeit lang damit und kenne - ohne 100-Pin-ICs
folgende Möglichkeiten:
[etliche USB-Controller]

Bei der schönen Liste gehört auf jeden Fall noch der MC68HCx08JB von
Motorola
erwähnt. Im Gegensatz zu den PIC's hält der die USB-Spec ein, geschweige
denn vom
IGOR-Plug (ist zwar ganz nett, aber naja).
Außerdem gibts für die HC08 super in-system Debug möglichkeit (C-Source
Debugging
über RS232)!

MfG,
Johannes
 
"Marco Budde" <mb-news-a@linuxhaven.de> schrieb
Welchen uC? Cypress? TI TUSB?
uPSD3234A vom STM

Kenne ich garnicht. Was hat der für ein uC Core?
sehr neues Teil, uC hat 8052-Kern mit 40MHz,
32KB Bootflash (C:), 256KB Mainflash (X:Bank), 8KB SRAM (X:)
integrierter PLD (ca. wie 22V10), USB, I2C, 2xUART,
JTAG-ISP, Supervisor, 8bit AD-Wandler, PWM-Unit,
7 IO-Ports uvm., TQFP-80 Gehäuse, kostet deutlich
unter 10Euro (100Stk.)

Software zur Konfiguration ist Kostenlos bei STM,
ISP-Flashlinkkabel kostet 56Euro, oder ist im Selbstbau
machbar (über LPT-Schnittstelle)

Siehe hier
http://www.stmcu.com/inchtml-pages-upsd.html

Gruß Matthias
 
Matthias Karl <ma19____@gmx.de> wrote:
: "Marco Budde" <mb-news-a@linuxhaven.de> schrieb
: >
: > > > Welchen uC? Cypress? TI TUSB?
: > > uPSD3234A vom STM
: >
: > Kenne ich garnicht. Was hat der fuer ein uC Core?

: sehr neues Teil, uC hat 8052-Kern mit 40MHz,
: 32KB Bootflash (C:), 256KB Mainflash (X:Bank), 8KB SRAM (X:)
: integrierter PLD (ca. wie 22V10), USB, I2C, 2xUART,
: JTAG-ISP, Supervisor, 8bit AD-Wandler, PWM-Unit,
: 7 IO-Ports uvm., TQFP-80 Geh?use, kostet deutlich
: unter 10Euro (100Stk.)

Unterstuetzt aber wohl nur USB 2.0 low-speed Mode (1.5Mb/s)...
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
 

Welcome to EDABoard.com

Sponsor

Back
Top