Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi und USB (https://www.delphipraxis.net/72082-delphi-und-usb.html)

Matze 25. Jun 2006 13:48


Delphi und USB
 
Hi,

man liest des öfteren über die Ansteuerung des Parallelports und der seriellen Schnittstelle mit Delphi, doch über die USB-Ansteuerung habe ich noch nichts finden können, wobei ich diese fast wichtiger finde (natürlich nicht für Industrie-Firmen, aber so zum Basteln), da heute beinahe jeder Computer diesen Anschluss bietet. Ein Notebook hat in der Regel heute auch keine serielle Schnittstelle mehr, sondern nur noch den Parallelport, der wohl auch von USB abgelöst wird.

Ist das Problem an der USB-Ansteuerung, dass man einen Chip (Plug&Play) benötigt (solch einen IC kann man ja sicher kaufen), liegt es an den Treibern oder woran?

Ich hätte gerne mal eine USB-Hardware gebastelt.

EDatabaseError 25. Jun 2006 13:52

Re: Delphi und USB
 
Ich hab mal einen USB Stick (war einer der ersten) zerlegt. Da wr ein stinknormaler Atmel Chip (www.atmel.com) (Forum: http://www.roboternetz.de) drin und eben der Speicher. Also wird das IMHO mir ein paar Vorkentnissen nich soooo schwer :cyclops:

stoxx 25. Jun 2006 13:56

Re: Delphi und USB
 
naja, auch wenn USB, irgendwo musst Du ja was anschließen können oder ?
Irgendwelche Pins brauchst Du ja.
Also benötigst Du eh einen Adapter. Warum dann nicht gleich zu RS-232
Ich vermute, da wirds kein neues Format geben, warum auch.
Also nimmt man da einen USB-Serial Adapter.

http://www.pearl.de/p/PE3740-USB-Ser...chluessen.html

wenn ich mir aber die Fehleranfälligkeit von USB anschaue, gruselt es mich, das in professionellen Anwendungen einzusetzen.
Ich hatte mal eine USB Netzwerkkarte, nur Ärger.
Jetzt habe ich den WLAN USB Stick von Fritz, die Treiber hängen sich ständig auf.
überzeugt wäre ich davon nicht.

EDatabaseError 25. Jun 2006 13:58

Re: Delphi und USB
 
diese adapter tun nicht recht ;-)

und was denkst du was der usbfür pins hat
VCC
GND
TxD
RxD

Also theoretisch alles was du brauchst um eine 0815 sreielle aufzubauen. Du must in deinem Prog. eben den USB Port XY ansprechen und über den senden.

//rot :-(

stoxx 25. Jun 2006 14:02

Re: Delphi und USB
 
Zitat:

Zitat von EDatabaseError
diese adapter tun nicht recht ;-)

und was denkst du was der usbfür pins hat
VCC
GND
TxD
RxD

Also theoretisch alles was du brauchst um eine 0815 sreielle aufzubauen. Du must in deinem Prog. eben den USB Port XY ansprechen und über den senden.

//rot :-(

geht das so einfach ?

EDatabaseError 25. Jun 2006 14:05

Re: Delphi und USB
 
wenn du den <zugriff auf den port und Microcontrollerkentnisse hat theoretisch schon. Ich habs noch nie mit usb gemacht aber rs ist das gleiche prinzip. schaut mal im http://www.roboternetz.de nach atmel und usb

Waldteufel 25. Jun 2006 14:12

Re: Delphi und USB
 
Hi Leute.

@EDatabaseError:
Also IMHO ist USB ein (Universeller, Serieller) Bus, will heißen, man schreit fröhlich in den Raum rein und der USB-Stick antwortet, wenn er sich angesprochen fühlt.

Jetzt müsste man halt wissen, wie man dafür sorgt, dass er sich angesprochen fühlt... Klick!
Wie man das allerdings in ein Gerät einbaut? Keine Ahnung! :gruebel: (Nen Treiber braucht man auch noch)

EDatabaseError 25. Jun 2006 14:15

Re: Delphi und USB
 
ja du bringst das mit dem in den wald schreien besser rüber als ich denk ich.... öhm klar aber das gerätt wird ja von windows gemanaget also schreit windows das gerät an, oder. und du sprichst das gerät unter dem namen an der in den treibern steht die du für das ding schreibst. :stupid:

Matze 25. Jun 2006 15:18

Re: Delphi und USB
 
Zitat:

Zitat von stoxx
naja, auch wenn USB, irgendwo musst Du ja was anschließen können oder ?

Wenn USB selbst den Parellelport ablösen kann, wieso dann nicht auch RS232?

Ich mache gerade ein Praktikum bei einer Firma für Prüf- und Messtechnik, da gibt's natürlich kein USB, da hat sich RS232 und andere Anschlüsse bewährt und die Ansteuerung ist dort deutlich leichter. Nur bin ich wirklich begeistert von USB-Geräten. Aber stimmt, notfalls kann man einen Adapter nehmen, nur damit habe ich schon schlechte Erfahrungen gemacht.

Zitat:

Zitat von stoxx
wenn ich mir aber die Fehleranfälligkeit von USB anschaue, gruselt es mich, das in professionellen Anwendungen einzusetzen.

Ich hatte mit USB bisher noch nie Probleme, ging alles einwandfrei.

Zitat:

Zitat von stoxx
Jetzt habe ich den WLAN USB Stick von Fritz, die Treiber hängen sich ständig auf.
überzeugt wäre ich davon nicht.

Das liegt dann am Treiber, der schlecht programmiert ist und nicht am USB an sich.

Der_Unwissende 25. Jun 2006 15:41

Re: Delphi und USB
 
[OT]
Hi,
natürlich kann USB alle möglichen Schnittstellen ablösen (käme wohl nur noch auf die USB Version an). Aber USB hat natürlich eine Spezifikation und damit ein paar Einschränkungen. Eine meiner Meinung nach sehr wichtige ist die Möglichkeit nur 0,5 mA und 5 Volt bereitstellen zu können. Das reicht für viele Komponenten die am USB-Port laufen sollen einfach nicht aus. Ist kein direktes Problem der Spezifikation (die ist sinnvoll), aber viele Hersteller ignorieren dies und hoffen auf ein Mainboard, dass auch mal 0,6 mA Stromstärke zulässt. Mag an 100 Boards klappen und am 101ten funktioniert dann plötzlich die Komponente nicht mehr. Darin liegen neben häufig unsauberen Treibern die so oft (nun auch nicht) auftretenden Probleme mit den USB Geräten.

Natürlich hat USB auch nur eine sehr geringe zugesicherte Signalreichweite. Ich weiß nicht genau wie hoch die ist, aber lange USB Kabel gibt es sicherlich nicht wegen fehlendem Bedarf. Wenn ich mir dort die Netzwerkschnittstellen, Lichtwellenleiter oder auch nur den guten alten CAN-Bus anschaue, nun ja...
USB ist halt gar nicht als so universell gedacht gewesen wie der Name klingt. Es sollte doch nur der Legacy-Free Computer von Intel in den Markt gedrückt werden (dezent gesagt : "gescheitert"). Die Idee war einfach, dass man nie wieder Hardware konfigurieren muss. Man steckt die Hardware an, natürlich zu jedem beliebigen Zeitpunkt, das BS lädt aut. den Treiber und fertig. Alles kann verwendet werden, man braucht nicht mal mehr ein Netzteil.
[/GENUG OT]

So, zur eigentlichen Frage, hab mir gerade nicht noch die Links angeschaut, aber die eigentliche Frage war doch :

Zitat:

Zitat von Matze
man liest des öfteren über die Ansteuerung des Parallelports und der seriellen Schnittstelle mit Delphi, doch über die USB-Ansteuerung habe ich noch nichts finden können, ....

Ok, die Frage ist natürlich warum lässt sich dort nichts äquivalentes für USB finden? Das denke ich liegt einfach in der komplett anderen Struktur hinter USB. Man kommuniziert einfach nicht direkt mit der angestestöpselten HW, darum kümmert sich der USB-Controller. Hier liegt auch schon der ganze Grund, man kann natürlich selbst einen Treiber für einen Microcontroller schreiben, wobei Delphi vielleicht nicht gerade all seine Stärken ausspielen dürfte. Wahrscheinlicher ist es aber, dass man auf den vorhandenen Treiber des Herstellers zurückgreift. Dieser wird einem wahrscheinlich ein paar Schnittstellen zur Verfügung stellen, die entsprechend für den jeweiligen IC spezifisch sind. Anders gesagt, es gibt keine einheitliche Lösung. Man muss für jeden Controller nur ins SDK schauen und hier dürften die Interfaces und der anzusprechende Treiber doch etwas mehr Unterschiede aufweisen, als es dass verschicken von Bytes über RS-232 macht.
Möglich über USB eigene HW anzusprechen ist es halt ohne Probleme, aber der verwendete Controller bestimmt hier, was zu tun ist.

Gtuß Der Unwissende

Matze 25. Jun 2006 15:49

Re: Delphi und USB
 
Hi

Zitat:

Zitat von Der_Unwissende
Man kommuniziert einfach nicht direkt mit der angestestöpselten HW, darum kümmert sich der USB-Controller. Hier liegt auch schon der ganze Grund, man kann natürlich selbst einen Treiber für einen Microcontroller schreiben, wobei Delphi vielleicht nicht gerade all seine Stärken ausspielen dürfte. Wahrscheinlicher ist es aber, dass man auf den vorhandenen Treiber des Herstellers zurückgreift. Dieser wird einem wahrscheinlich ein paar Schnittstellen zur Verfügung stellen, die entsprechend für den jeweiligen IC spezifisch sind. Anders gesagt, es gibt keine einheitliche Lösung.

Stimmt, daran muss es liegen. Dann werde ich zukünftige Hardware wohl weiterhin auf RS232 oder dem Parallelport aufbauen. Gerade der Mikrocontroler ist doch sehr komplex und hinderlich. Danke für deine Antwort und btw, dein Nick passt nicht zu dir. ;)

happyaura 25. Jun 2006 15:50

Re: Delphi und USB
 
Zitat:

Zitat von EDatabaseError
und was denkst du was der usbfür pins hat
VCC
GND
TxD
RxD

Das ist meines wissens nach schlickt falsch, die daten werden differenziell übertragen, d.H. es gibt Vcc,GND, D+ und D- . So ohne weiteres das als TxD und RxD zu interpretieren könne eher unmöglich werden (ich lasse mich aber gern eines besseren belehren.) das andere Problem am USB ist, dass es in der Spezifiikationen sehr schnelle Antwortzeiten gibt, die man in seiner Hardware erst einmal hinbekommen muß. Natürlcih ist es schön, sachen über USB anzusteuern, aber ich denke, das verlangt einem viel viel Können und Einsatz ab.

Es gibt natürlich noch die Möglichkeit, auf Chips zurück zu greifen, die einem die Arbeit auf unterer Ebene abnehmen, so dass man nur noch ein paar bytes senden und empfangen muß. Gute Erfahrungen habe ich mit dem IOWarrior gemacht, der hat je nach modell 16 oder 32 io pins und einige sonderfunktionen wie z.B. I2C, SPI und die ansteuerung von LC Displays unterstützt . Die ansteuerung ist relativ simpel, so dass man mit nicht zu viel aufwand zu schönen Ergebnissen kommen kann.

Matze 25. Jun 2006 15:56

Re: Delphi und USB
 
Hi

Zitat:

Zitat von happyaura
Gute Erfahrungen habe ich mit dem IOWarrior gemacht, der hat je nach modell 16 oder 32 io pins und einige sonderfunktionen wie z.B. I2C, SPI und die ansteuerung von LC Displays unterstützt . Die ansteuerung ist relativ simpel, so dass man mit nicht zu viel aufwand zu schönen Ergebnissen kommen kann.

Das sieht ganz nett aus, nur möchte ich irgendwie alles selbst zusammen löten, sodass ich sagen kann, die Hardware stammt von mir. Frag mich bitte nicht wieso, ist vielleicht eine blöde Angewohnheit (ich spiele ja mit der Hardware und möchte dazulernen). Aber IO-Warrior sieht gar nicht so kompliziert aus, evtl. kann man da wirklich etwas selbst machen.

EDatabaseError 25. Jun 2006 16:02

Re: Delphi und USB
 
Zitat:

Zitat von happyaura
Zitat:

Zitat von EDatabaseError
und was denkst du was der usbfür pins hat
VCC
GND
TxD
RxD

Das ist meines wissens nach schlickt falsch, die daten werden differenziell übertragen, d.H. es gibt Vcc,GND, D+ und D- . So ohne weiteres das als TxD und RxD zu interpretieren könne eher unmöglich werden (ich lasse mich aber gern eines besseren belehren.) das andere Problem am USB ist, dass es in der Spezifiikationen sehr schnelle Antwortzeiten gibt, die man in seiner Hardware erst einmal hinbekommen muß. Natürlcih ist es schön, sachen über USB anzusteuern, aber ich denke, das verlangt einem viel viel Können und Einsatz ab.

:gruebel: :wall: ja kann sein ich dachte... dann war das was anderes... :oops:

Der_Unwissende 25. Jun 2006 16:28

Re: Delphi und USB
 
Zitat:

Zitat von Matze
Frag mich bitte nicht wieso, ist vielleicht eine blöde Angewohnheit (ich spiele ja mit der Hardware und möchte dazulernen). Aber IO-Warrior sieht gar nicht so kompliziert aus, evtl. kann man da wirklich etwas selbst machen.

Dein Vorhaben ehrt dich, denke dass macht auch jeder (der gerne HW entwickelt) gerne. Das Problem ist nur, was kannst du wirklich noch sinnvoll selbst machen. Also ohne es böse zu meinen, aber mit der Einstellung alles selbst zu machen kommt man einfach nicht weit (weder in der HW noch in der SW Entwicklung). Der erste Schritt ist es nun mal immer, dass du schaust was für Komponenten gibt es denn schon, wie gut erfüllen sie was du suchst und wie leicht lassen die sich abändern? (ok, da fehlen ein paar Punkte, aber grob kommt es halt hin).
Wenn du dir einen USB Controller holst und mit den IO-Ports etwas steuern möchtest, kann dass anstrengend genug werden! Aber selbst wenn du RS 232 nimmst, du wirst mindestens den Quarz der dein Taktgeber ist fertig kaufen müssen. Wahrscheinlicher ist aber auch hier, dass du schon extrem weit fertiggestellte Komponenten findest, bei denen du nicht mehr wirklich viel per Hand machst. Natürlich steckt hinter jedem IC auch nur eine kleine Tüte aus Widerständen, Kondensatoren, Dioden und Transistoren (auch hier nicht wirklich alles, aber ein großteil sicherlich), nur wirst du selbst nicht alles so per Hand löten, wie es eine Maschine tut.

Versuch dich ruhig an fertigen USB-Controllern, was du daraus baust bleibt ja noch deine Sache. Ansonsten findest du ja auch auf den vielen Robotik und HW Seiten gute Tipps und Anregungen was man da so alles machen kann. Die C't hat ja z.B. auch gerade einen selbstbau Roboter drin, auch an dem kannst du sicher eine Menge lernen.

Ach ja, wie immer sage ich doch gleich mal, ich trage meinen Namen völlig zu Recht!

omata 25. Jun 2006 16:32

Re: Delphi und USB
 
Hallo Matze,

schon mal auf diese Seite geschaut?
Und hier, das ist auch interessant.
Und hier.
Und hier.

Gruss
Thorsten

Matze 25. Jun 2006 19:14

Re: Delphi und USB
 
Zitat:

Zitat von Der_Unwissende
Natürlich steckt hinter jedem IC auch nur eine kleine Tüte aus Widerständen, Kondensatoren, Dioden und Transistoren (auch hier nicht wirklich alles, aber ein großteil sicherlich), nur wirst du selbst nicht alles so per Hand löten, wie es eine Maschine tut.

Um Himmels Willen, sowas habe ich nicht vor. ICs kaufen ist selbstverständlich. Widerstände und Kondensatoren möchte ich ja auch nicht selbst basteln. ;)

Ich möchte nur keine vorgefertigte Platine haben. Ein IC, der einen Mikrocontroler beinhaltet, wäre eine feine Sache. Eben so, dass ich das Hardwaredesign (Die Anordnung auf der Platine) selbst bestimmen kann, das meinte ich.


Zitat:

Zitat von omata
schon mal auf diese Seite geschaut?
Und hier, das ist auch interessant.
Und hier.
Und hier.

Nein noch nicht. Vielen Dank Thorsten, das schaut ja interessant aus!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz