AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

USB-Baustein gesucht

Ein Thema von Andre93 · begonnen am 7. Feb 2011 · letzter Beitrag vom 22. Feb 2011
Antwort Antwort
Seite 1 von 2  1 2      
Andre93

Registriert seit: 10. Jun 2010
15 Beiträge
 
Delphi 6 Personal
 
#1

USB-Baustein gesucht

  Alt 7. Feb 2011, 20:06
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
Angehängte Grafiken
Dateityp: jpg USBN9604.jpg (22,3 KB, 46x aufgerufen)
Angehängte Dateien
Dateityp: pdf 0900766b80a9ab9c.pdf (581,4 KB, 20x aufgerufen)
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#2

AW: USB-Baustein gesucht

  Alt 7. Feb 2011, 20:38
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: USB-Baustein gesucht

  Alt 7. Feb 2011, 20:42
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.
$2B or not $2B

Geändert von himitsu ( 7. Feb 2011 um 20:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#4

AW: USB-Baustein gesucht

  Alt 7. Feb 2011, 20:46
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
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Andre93

Registriert seit: 10. Jun 2010
15 Beiträge
 
Delphi 6 Personal
 
#5

AW: USB-Baustein gesucht

  Alt 8. Feb 2011, 23:34
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: USB-Baustein gesucht

  Alt 8. Feb 2011, 23:48
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
$2B or not $2B

Geändert von himitsu ( 8. Feb 2011 um 23:50 Uhr)
  Mit Zitat antworten Zitat
v2afrank

Registriert seit: 9. Mai 2005
Ort: Bocholt
575 Beiträge
 
Delphi XE2 Professional
 
#7

AW: USB-Baustein gesucht

  Alt 9. Feb 2011, 07:30
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
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#8

AW: USB-Baustein gesucht

  Alt 9. Feb 2011, 07:33
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 ).

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.

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
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#9

AW: USB-Baustein gesucht

  Alt 9. Feb 2011, 09:11
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

Geändert von hathor ( 9. Feb 2011 um 09:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

AW: USB-Baustein gesucht

  Alt 9. Feb 2011, 11:22
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.

PS: Wenn er eine LED oder einen Summer an den Ausgang anschließt, dann ist es ebenfalls ein "Human Interface Devices"
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 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