Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   USB-Baustein gesucht (https://www.delphipraxis.net/158150-usb-baustein-gesucht.html)

Andre93 7. Feb 2011 19:06

USB-Baustein gesucht
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hey...
Ich habe folgendes Problem:
Ich habe bereits über RS232 (ComPort) Daten vom Computer aus ausgegeben und auch verstanden wie das funktioniert und möchte nun ein bisschen in die aktuelle Technik (USB)umsteigen. Es sollen also über USB Daten ausgegeben werden, die ich dann auswerten kann. Für den Anfang würde es mir schon reichen wenn ich die Daten durch LEDs darstellen kann (LED aus = 0, LED an = 1). Ich habe mich schon ein bisschen in USB eingelesen und weiß, dass USB virtuelle Datenleitungen, die Endpunkte heißen hat und dass man über diese Datenleitungen mit bestimmten Routinen Daten versenden bzw. emfangen kann. Da USB aber ja ein Bussystem ist brauch man auf der anderen Seite, die an den Computer angesteckt ist irgendetwas, dass vereinfacht gesagt weiß welche Adresse es ist. Sich die Daten für diese Adresse aus dem Bus holt und dann auf Pins, die die Endpunkte darstellen, durch keine Spannung/ Spannung meine Gesendeten Daten darstellt.
Meine Fragen sind jetzt :
1. Ist der Baustein USBN9604 (Im Anhang habe ich ein Datenblatt und
eine Belegung der Pinns angehängt) gefunden habe, das wonach ich
suche?
2. Wenn ja weiß jemand was ich machen muss um von dem Baustein
meine Daten zu bekommen? 'Liegen' die Daten einfach auf den Pins
D0 - D7 wenn ich sende?
3. Wenn nicht, wisst ihr was genau ich dann brauche?
4. Brauche ich einen Treiber, der mein USB-Teilnehmer anmeldet und
mir die Kommunikation mit ihm ermöglicht?
5. Kennt ihr eine dll die Routinen für dass Öffnen, senden,
empfangen... (USB-Routinen) für Delphi anbietet?

Ich weiß dass sind ziemlich viele Fragen. Aber ich habe mir schon extra ein Buch gekauft aber leider lieferte auch das keine Antworten. Ich wäre wirklich froh wenn mir jemand weiterhelfen könnte oder zumindest in dem einem oder anderem Punkt eine Idee hätte. Falls ich da oben totalen Mist geschrieben hab, berichtigt mich bitte, ich bin was USB angeht noch Anfänger und freue mich über jeden Rat.

mfg Andre

WM_CLOSE 7. Feb 2011 19:38

AW: USB-Baustein gesucht
 
Es gibt im Wesentlichen 3 Möglichkeiten:

1. Du programmierst mit HID, da braucht du AFAIK keine "richigen" Treiber, ist aber trotzdem viel Aufwand (Auch Hardware + Firmwareseitig).

2. Du nimmst einen USB-Seriell-Wandler, das ist die Einfachste Möglichkeit Daten über USB loszuwerden. (Ich würde dir empfehlen keinen selber zu basteln, sondern einen Fertigen z.B. von Pollin für 5€ zu nehmen, weil es u.A. zu Abstürzen im Windows-Programm, oder zu Hardwareausfällen kommen kann)

3. Möglichkeit: wenn du erst mal "nur" LED ein/aus spielen willst, sieh dich mal nach USB-IO-Boards ala Velleman um, oder besorge dir so ein Teil, wie es die "USB-Joystick-selber-Bastler" verwenden. (Beide liefern einen HID-Triber in Form einer Dll mit.)

Alternativ: guck dich mal bei microcontroller.net um, da gibt es schon solche Projekte. (Auch wenn der Umgangston dort etwas "anders" ist als hier)

Dann zu dem Controller: Ich weiß ja nicht, wie weit du in Sachen µController bist, aber Ich kann nur sagen es könnte kompliziert werden. Du brauchst auf jeden fall externen RAM, für das DMA. Das kannst du dann z.B. mit einem AVR auslesen und (am AVR) die entsprechenden Portpins setzten. Die Ansteuerung des USB-Controllers ist übrigens auch nicht ganz trivial.
Einfacher könnte ein USB-AVR sein, der das gab´nze schon integriert hat, oder ein reiner Sotware-USB (da aber nur USB 1.1)

PS: wenn du das obige nicht richtig verstehst, liegt das entweder an meiner mangelhaften Ausdrucksweise oder an deiner Unwissenheit (nicht so schlimm).
Bei der Unwissenheit würde ich dir zu Mögkichkeit 3 von oben raten, das ist am einfachsten.

himitsu 7. Feb 2011 19:42

AW: USB-Baustein gesucht
 
Siehe ab Abschnitt 3.0 (Seite 13)

D0-D7 sind die Daten-/Adressleitungen, z.B. für die Ansteuerung des Speichers im Chip.

Heißt also, du brauchst einen Microcontroler o.Ä., welcher die Daten aus diesem USB-Chip rausholt.
Und wie der Chip im PC vom Programm angesteuert wird, hab ich jetzt nicht nachgesehn.

PS: Wenn es seriell klappt und du nicht viel ändern willst, dann besorg die einfach einen USB-Seriell-Adapter, diese installieren oftmals einen Treiber, so daß du im PC auf einen virzuellen COM-Port (Seriell) zugreifst und extern ebenfalls einen seriellen Port besitzt, wo du deine aktuelle Hardware dranbekommst.

Valle 7. Feb 2011 19:46

AW: USB-Baustein gesucht
 
Hallo,

alternativ kannst du es auch einfach wie Arduino machen. Die neueren dieser Geräte haben auch einen USB-Anschluss. Dieser wird von einem Bei Google suchenFTDI-Baustein in einen seriellen Anschluss umgewandelt. Für einfache Anwendungen sollte das ausreichen. Selbst einfache Mikrocontroller können ja bereits UART. :)

Liebe Grüße,
Valentin

Andre93 8. Feb 2011 22:34

AW: USB-Baustein gesucht
 
Danke erstmal... das hat mich schonmal n ganzes stück weitergebracht
Also um ehrlich zu sein wollte ich eigentlich nicht so gerne auf schon fertige usb IO boards zurückgreifen. Ich will zwar natürlich am Ende etwas damit ansteuern aber ich will auch ersteinmal lernen wie das im groben überhaupt funktioniert und selber ein bisschen rumtüfteln. Deswegen sollte auch ein USB-Seriell-Wandler nur eher ein letzter Ausweg sein, wenn ihr meint dass meine Idee wirklich Aussichtslos und einfach viel zu kompliziert ist. Also ich bin generell gerne bereit und das ist eigentlich sogar mein wunsch ein bisschen etwas dafür zu tun und auch mich auch in kompliziertere Sachen einzulesen. Wenn es eurer Meinung eindeutig nichts daraus wird, dann sagt es ruhig

Also so wie ich euch jetzt verstanden hab, speichert der Baustein die Daten in seinen internen FIFO-Speicher und auf diesen Speicher greift das "Endpoint-Pipe-Controller", heißt das glaub ich im Datenblatt, zu und mit dem kann man jetzt per Mikrocontroller oder direkt über DMA kommunizieren. Und die Werte die mir der Mikrocontroller gibt oder die ich per DMA rauskrieg muss ich dann am Ende speichern. Hab ich das richig verstanden
Bekomme ich denn vom DMA schon die konkreten Daten?
Die Frage ist bloß wie muss der Mikrocontroller mit dem Controller kommunizieren, dass kann der ja so zu sagen nicht von selbst und dass stell ich mir auch n bisschen schwieriger vor. Der stellt doch nicht nur den Modus über Mode0 und Mode1 an, schaltet Read (RD) bzw Write(WR) an und übergibt ihm bei A0 bzw Ale die Adresse für den Endpunkt, dass ist ja wahrscheinlich nicht alles oder?

Der USB-AVR von dem ihr sprecht hört sich im prinzip ganz interessant an. Der macht das oben beschriebene dann doch so zu sagen alles alleine oder? Aber die Daten gibt der dann ja wieder über irgendeine andere schnittstelle aus oder?

Was hat das HID-Programmierung auf sich? Ich hab gelesen das wird zum Beispiel bei so Eingabegeräten wie Tastaturen... benutzt?

Danke nochma
und nochn schönen Abend

Andre

himitsu 8. Feb 2011 22:48

AW: USB-Baustein gesucht
 
Aussichtslos ist es nicht, aber die meisten USB-Chips werden wohl keine direkten Ausgänge besitzen und du wirst mindestens einen µC nachschalten müssen, welcher deine Befehle aus dem USB-Chip rausholt und dann die Ports steuert.


Es gibt aber einige kleine Mikrocontroller, welche man direkt vor USB ansprechen kann (die haben oftmals wohl ein kleines Programm zur Signal-Dekodierung drin) und da könntest du dann mit wenigen Befehlen (im µC) einen seiner Ausgänge ansteuern.

z.B. irgendwo auf www.mikrocontroller.net/articles/AVR zu finden

v2afrank 9. Feb 2011 06:30

AW: USB-Baustein gesucht
 
Meiner Meinung nach könnte Dir auch der http://www.codemercs.com/index.php?id=41&L=0 oder der von der gleichen Firma Joywarrior helfen. Als ich das letzte mal diesen Baustein genutzt hatte, lebte und arbeitete Robert noch bei dieser Firma und es gab dort jede Menge Delphi Beispiele. Wie es dort aktuell aussieht musst Du dir mal anschauen

WM_CLOSE 9. Feb 2011 06:33

AW: USB-Baustein gesucht
 
Zu HID Programmierung:
Das bedeutet, dass man sich an ein bestimmtes Protokoll hält, welches NORMALERWEISE dafür gedacht ist, Human Interface Devices also Tastaturen, Mäuse, Joysticks anzusteuern.
Es ist praktisch so etwas wie ein generischer Treiber für die USB-Kommunikation.
Du musst also zuumindest keinen Kernel-Mode-Treiber programmieren. d.h. du brauchst auch nicht das Driver Development Kit von M$

PS:Wie viel hast du bis jetzt mit µControllern gemacht:?:
Für USB ist wichtig, dass du das Timing gut beherrschst, also weißt wie lange dein Code an dieser oder jener Stelle brauchen wird usw. Das elektronisch hinzukriegen ist (für mich) schon schwer genug.

Einen µController mit integriertem USB würde ich deshalb vorschlagen, da du sonst Probleme mit der Synchronisation haben wirst. Außerdem sollte der µController die Daten aus dem RAM schnell genug wieder rauskriegen.
Es gib für AVR und PIC recht viele fertige Bibliotheken für USB (s. www.microcontroller.net :arrow:).

PS: Wenn du nicht wirkich fit bist in Sachen µController dann verschieb das Projekt erst einmal und lös das Problem wenn möglich mit RS232
Wenn du das Softwaretechnisch gut umsetzt, kannst du die Schnittstelle später immer noch ändern.

PS:Und USB wegen der Geschwindigkeit würde ich auch nicht empfehlen, es ist durch den zusätzlichen Firmwareaufwand effektiv auf dem µController nicht schneller als RS232.

Zitat:

Zitat von v2afrank (Beitrag 1080427)
Meiner Meinung nach könnte Dir auch der http://www.codemercs.com/index.php?id=41&L=0 oder der von der gleichen Firma Joywarrior helfen. Als ich das letzte mal diesen Baustein genutzt hatte, lebte und arbeitete Robert noch bei dieser Firma und es gab dort jede Menge Delphi Beispiele. Wie es dort aktuell aussieht musst Du dir mal anschauen

Wenn du dich nicht so gut auskennst kann ich dem nur zustimen, es ist das einfachste wenn du USB willst

hathor 9. Feb 2011 08:11

AW: USB-Baustein gesucht
 
Lernpaket Elektronik-Start mit USB - ca. 50EUR

http://www.pollin.de/shop/dt/NzU5OTE...t_mit_USB.html

Lernpaket Experimente mit USB - ca. 40EUR

http://www.pollin.de/shop/dt/NTY5OTE...e_mit_USB.html

himitsu 9. Feb 2011 10:22

AW: USB-Baustein gesucht
 
HID war zwar als "Human Interface Devices" erdacht wurden, aber es kann noch mehr, weswegen du es auch gerne mit "Hardware Interface Devices" übersetzen könntest. :stupid:

PS: Wenn er eine LED oder einen Summer an den Ausgang anschließt, dann ist es ebenfalls ein "Human Interface Devices" :lol:

Andre93 13. Feb 2011 12:53

AW: USB-Baustein gesucht
 
Da ich glaube dass ich das von euch angesprochene Timing wahrscheinlich nicht perfeckt umsetzen kann wenn ich einen mikrokontroller an den baustein anschließe ist mikrocontroller mit integeriertem USB wahrscheinlich eine realistischere Lösung (oder ganz evtl DMA). Ich hab mich noch mal ein bisschen schlau gemacht und bin auf den CY7C63001C-PXC (http://www.ak-modul-bus.de/cgi-bin/i...9,CY7C63001PFW) gestoßen der im CompuLab verbaut ist (http://www.ak-modul-bus.de/cgi-bin/i...86623569,CLUSB). Den gibts einmal mit und ohne Firmware und Treiber kann man da auch kriegen, was haltet ihr davon ?

WM_CLOSE 13. Feb 2011 13:23

AW: USB-Baustein gesucht
 
Der Chip sieht ganz brauchbar aus. Wenn du elektronisch etwas fit bist, kannst du dir ja mal eine Platine löten. Das Programm selbst dürfte dank der mitgelieferten Trieber kein größeres Problem sein.

Kleiner Tipp: Kaufe gleich 2 der Bausteine, damit sparst du dir viel Ärger und Versandkosten. (Grund: Es wird warscheinlich nicht auf das erste Mal funktionieren, und du kannst ein wenig rumprobieren.)

Der unprogrammiere ist wertlos.

Andre93 13. Feb 2011 15:03

AW: USB-Baustein gesucht
 
Dann noch mal danke an alle bis jetzt! ich werde mir mal welche von den bestellen und mich dann wieder melden wenn ich die bekommen hab. Noch mal die Frage den Quarz brauch ich doch auch den die da mit anbieten, oder kann ich mir irgendwo den takt von usb abgreifen, weil der andere baustein den takt von usb genommen hat?

haentschman 13. Feb 2011 15:57

AW: USB-Baustein gesucht
 
Zitat:

Noch mal die Frage den Quarz brauch ich doch auch den die da mit anbieten
...da wirst du noch ein wenig mehr als nur den Quarz brauchen...
http://www.ak-modul-bus.de/cat/docum...c630_1xx_8.pdf... Seite 18 Prinzipschaltbilder

...kaufe den fertigen Baustein für 99€ und du hast Ruhe. :zwinker:

generic 13. Feb 2011 16:00

AW: USB-Baustein gesucht
 
Ich denke, wenn du deinen avr nimmst, ist es für dich als Einsteiger erst mal am günstigsten.
Die Atmel ATxxx Risc-Controller, können durch eine einfache Schaltung an USB angeschlossen werden.

http://www.obdev.at/products/vusb/index-de.html

Dort gibt es die Schaltung sowie Treiber für Windows.
Mit den Controller würde ich mit einer RS232 Emulation kommunizieren.

WM_CLOSE 13. Feb 2011 19:22

AW: USB-Baustein gesucht
 
Ich denke du bist nicht so ganz fit in Elektronik und USB.
Und da kann man sich auch nicht einfach einlesen.

Mein Tipp: wenn du nicht WIRKLICH sicher in der Elektronik bist dann
Kauf dir das komplette Board
. 99€ ist auch nicht die Welt.

Capa 15. Feb 2011 16:56

AW: USB-Baustein gesucht
 
also ich bin ja der meinung wenn er es lernen will soll er
klar kann was schief gehen aber das kann auch nem erfahrenen
elektroniker passieren.

Ich hab damals mit dem bereits erwähnten IO-Warrior
ein wenig gespielt. Ist recht einfach und es gibt dafür sogar
irgendwo im web ne delphi komponente. :)
UNd was noch besser ist du hast nicht nur 8 ausgänge sondern so
an die 64 oder mehr je nach chip. mhh oder war da nicht sogar ein
port aus wie eingang ka is schon zu lange her müsst ich mal schauen.

Als ich das thema angefangen hab hatte ich in nem forum gefragt
die hätten mich am liebsten gleich ins gefängnis gesteckt an usb
rumspielen das war fast wie nen verbrechen ^^.
Dabei wollt ich damals nur die 5V für ne lampe nutzen, die es nebenbei
bemerkt schon überall zu kaufen gab ;)

Ich hab mich auch nicht davon abbringen lassen!

klar würde ich in deinem fall empfehlen nen alten rechner zum testen
zu nutzen und nicht gerade den neuen Highendrechner, aber aufhören oder
extrem vereinfachen(Board) würd ichs mir nicht.


P.S.: Ich sollte vielleicht dazu sagen das ich energieelektroniker bin,
von daher schon beruflich gesehen das interesse an solchen sachen.

markusj 15. Feb 2011 23:25

AW: USB-Baustein gesucht
 
Die schon erwähnten FTDI-Bausteine können nicht nur als USB-RS232 Schnittstelle eingesetzt werden, sondern erlauben auch direkt Bitbanging auf (fast?) allen Pins. Es gibt sogar irgendwo Delphi-Support um den Stein auf diese Art anzusprechen.

USB auf einem Mikrocontroller ist eine Liga für sich und erfordert mehr Einarbeitung, Know-How und Equipment.

mfG
Markus

hathor 16. Feb 2011 07:02

AW: USB-Baustein gesucht
 
FTDI-DELPHI-SUPPORT

Andre93 22. Feb 2011 17:30

AW: USB-Baustein gesucht
 
Hey Capa! Coole Einstellung, ich denke auch, dass es besser ist das auszuprobieren und das Risiko einzugehen das nicht alles sofort oder vielleicht auch gar nicht funktioniert als sich einfach mit sonem standard board abzufinden. ich finde das interessante ist doch eigentlich wie auch beim programmieren die sachen zu verstehen und selber umsetzen zu können...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:25 Uhr.

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