Universeller Serieller Bus

Im Unterforum Alle anderen elektronischen Probleme - Beschreibung: Was sonst nirgendwo hinpasst

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 02 10 2024  16:15:39      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Alle anderen elektronischen Probleme        Alle anderen elektronischen Probleme : Was sonst nirgendwo hinpasst


Autor
Universeller Serieller Bus

    







BID = 431336

robodriver

Stammposter

Beiträge: 217
 

  


Hallo leute.
Ich möchte gerne ein paar Daten mithilfe eines Microcontrollers (ATmega8) aus einem Speicher über USB an meinen Rechner übergeben und dort auswerten.
Den Hardware-Aufbau habe ich soweit auch schon heraus gefunden.
Aber kann mir jemand etwas zum Thema Software sagen?

Controller-Seitig:
Kann man denn das USB-Protokoll auch mithilfe von Bascom nachbilden? Wo bekommt man die Befehle her? Muss man es zwangsläufig in C machen?
Klar, in Assambler geht immer, aber das ist mir zu kompliziert.

PC-Seitig:
Ich Arbeite mit VB6.0 Kann man da den USB ansprechen und Daten einlesen? Dafür gibt es doch sicher einen Treiber oder?

Hat jemand schon Erfahrung damit oder hat evtl. schon ein ähnliches Projekt umgesetzt?
Bin Dankbar für jegliche Hinweise und Anregungen.

Gruß Robodriver

BID = 431339

Benedikt

Inventar

Beiträge: 6241

 

  


Zitat :
robodriver hat am 22 Mai 2007 08:56 geschrieben :

Controller-Seitig:
Kann man denn das USB-Protokoll auch mithilfe von Bascom nachbilden?

Definitv nein, ohne Assemblerfunktionen.


Zitat :

Klar, in Assambler geht immer, aber das ist mir zu kompliziert.

Dann solltest du besser einen FT232 verwenden.


Zitat :

PC-Seitig:
Ich Arbeite mit VB6.0 Kann man da den USB ansprechen und Daten einlesen? Dafür gibt es doch sicher einen Treiber oder?

Mit dem FT232 geht das ganz leicht.

[ Diese Nachricht wurde geändert von: Benedikt am 22 Mai 2007  9:08 ]

BID = 431372

robodriver

Stammposter

Beiträge: 217

Hey, das klingt ja interessant

Sehe ich das richtig:
(nur zum Verständniss)

- Ich verbinde den FT232 über USB mit meinem PC. Meinen Microcontroller verbinde ich mit dem FT232 über RS232.

- Auf meinem PC installiere ich dann den Treiber zum FT232 und erhalte dann einen weiteren Com-Port. Dann kann ich über Vb6.0 ganz easy über das Com-Control Element RS232-Befehle versenden und empfangen.

- Auf dem Microcontroller kann ich über Bascom auch ganz einfach per eintegrierter RS232 Daten Empfangen und senden.

Somit arbeite ich also auf beiden Seiten von Software-Sicht mit RS232 und aus Hardware-Sicht ist es eine USB/RS232 Verbindung?

Wenn das alles so stimmt, dann dürfte es ja gar nicht so schwer sein.

BID = 431374

Benedikt

Inventar

Beiträge: 6241

Genauso ist es. Zusätzlich ist der FT232 noch um ein Vielfaches schneller (3MBaud !!!) und man kann ihn auch direkt ansprechen, ohne eine virtuellen COM Port (ich habe das aber bisher noch nie genutzt).

BID = 431429

robodriver

Stammposter

Beiträge: 217

Okay, das werd ich mal versuchen. Klingt ja relativ einfach.

Weiß jemand ob es den Chip auch als DIP gibt?
Hab ihn bisher nur als SMD gesehen.
Diese SMS ICs-Passen aber so schlech auf meine Streifenrasterplatinen und meine Lötspitze ist so breit wie drei Pins...

Gruß Robodriver

BID = 433033

robodriver

Stammposter

Beiträge: 217

Okay, also ich habe gesehen es gibt auch direkt einen USB/RS232 Adapter für 19 Euro. Dann hol ich mir den und erspare mir somit die ganze SMD-quälerei.

Jetzt aber mal noch eine andere Frage an die die schoneinmal damit gearbeitet haben:
Wenn auf dem PC über den Treiber ein COM-Port simuliert wird, der aber ein USB ist; wie funktioniert das ganze dann?
Habe mich über den USB jetzt mal näher belesen und festgestellt das die beiden (COM und USB) völlig unterschiedlich arbeiten. Bei USB kann mein Gerät dem Computer von sich aus ja nichts sagen. Also kann ich auch nie Daten am COM-Port empfangen, ohne welche angefordert zu haben?
Oder fordert der Treiber die Daten selbstständig an, wenn ich versuche den RS232-FIFO speicher auszulesen?

Genauso ist es umgekehrt. Wenn mein uC Daten senden will, kann er das ja über den RS232 einfach machen. Aber was macht dann der Adapter? Er kann die Daten ja gar nicht an den Rechner senden, weil er kein Master ist.


[ Diese Nachricht wurde geändert von: robodriver am 29 Mai 2007  8:32 ]

BID = 433040

Benedikt

Inventar

Beiträge: 6241

Der Treiber polled mit etwa 1kHz. Das heißt er sendet 1000 mal pro Sekunde eine Anfrage an den FT232 ob dieser Daten hat, die er loswerden möchte. Dies ist auch der Nachteil des ganzen: Wenn das ganze im Ping Pong Verfahren läuft (was gerne bei Programmiergeräten gemacht wird), also der PC sendet dem uC ein Byte, dieser sendet ein OK zurück, woraufhin der PC das nächste Byte sendet, dann sind nur 500Bytes/s möglich, egal wie hoch die Bautrate ist. Daher sollte man möglichst große Pakete auf einmal senden, wenn man Daten sehr schnell (>1Mbit/s) übertragen möchte: Ich sende z.B. gerne 10kByte auf einmal (in Richtung PC -> uC), dann sind (eine entsprechende Baudrate vorausgesetzt) einige 100kByte/s kein Problem.


Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 19 Beiträge im Durchschnitt pro Tag       heute wurden bisher 12 Beiträge verfasst
© x sparkkelsputz        Besucher : 182112612   Heute : 3685    Gestern : 5426    Online : 482        2.10.2024    16:15
4 Besucher in den letzten 60 Sekunden        alle 15.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0341949462891