Forum: Compiler & IDEs Datenaustausch zwischen Atmega32 und Computer über USB-Schnittstelle


von Ghodhbani W. (walid)


Angehängte Dateien:

Lesenswert?

Hallo alle zusammen,
bin ein Einsteiger was das Programmieren von Mikrocontrollern angeht.
Und nun muss ich eine Datenaustausch zwischen einen Atmega32 und ein 
Computer via ein USB-Schnittstelle einrichten.
Ich habe zwar das ganze mit einen RS232-Schnittstelle gemacht. und um 
dises Problem umzugehen habe ich ein Converter RS232 to USb benutzt. 
Mein chef war aber nicht begeistert von dieser Lösung.
Ich muss für meine Aufgabe PB6 und PB7 als Datenausgang und Eingang 
benutzen.
Das was ich für RS232 gemacht habe lege ich bei, vielleicht recht es ja 
den Vorhandenen Programm Umzuschreiben.
Kann mir vielleicht jemand behilflich sein? oder hat jemand sowas schon 
Mal gemacht.
Ich bedanke ich in Voraus über jeder Hilfe und jeden Tipp der mich ein 
Stückschen weiter bringt.

von Karl H. (kbuchegg)


Lesenswert?

Ghodhbani Walid schrieb:

> Das was ich für RS232 gemacht habe lege ich bei, vielleicht recht es ja
> den Vorhandenen Programm Umzuschreiben.

Nein.
Das ist ein bischen zu naiv angedacht

> Kann mir vielleicht jemand behilflich sein?

Deine beste Option ist ein FT232 - IC einzusetzen.

Dann hast du zwar immer noch eine RS232 Übertragung, aber zumindest ist 
der externe Konverter dann mit auf der Platine.

> oder hat jemand sowas schon
> Mal gemacht.
> Ich bedanke ich in Voraus über jeder Hilfe und jeden Tipp der mich ein
> Stückschen weiter bringt.

Such nach libUSB

Machbar ist es eine direkte USB Verbindung aufzubauen.
Ob es für einen Anfänger sinnvoll ist, das zu versuchen, sei 
dahingestellt.

Ausserdem brauchst du dann auf dem PC wieder extra Treiber, die 
installiert werden müssen.

von Floh (Gast)


Lesenswert?

1.Chance:
Einen FT232 zusätzlich ranbauen und dann läufts.
z.b. http://www.ftdichip.com/Products/ICs/FT232BM.htm

2.Chance
Software-USB einprogrammieren, dafür brauchst aber dann einen genauen 
Takt und einiges an Programmierschmalz
http://www.obdev.at/products/vusb/index.html

3.Chance
Arduino nehmen

gibt sicher noch mehr Möglichkeiten, die sind mir spontan eingefallen 
:-)

von Ghodhbani W. (walid)


Lesenswert?

Danke schön für die schnellen Antworte,

Karl heinz Buchegger schrieb:
> Deine beste Option ist ein FT232 - IC einzusetzen.
>
> Dann hast du zwar immer noch eine RS232 Übertragung, aber zumindest ist
> der externe Konverter dann mit auf der Platine.

Ich sehe nicht den Unterschied zwischen der Benutzung von FT232 und der 
Externen MAX232 mit den Kabel USB to RS232 was ich schon hatte.

Karl heinz Buchegger schrieb:
> Machbar ist es eine direkte USB Verbindung aufzubauen.
> Ob es für einen Anfänger sinnvoll ist, das zu versuchen, sei
> dahingestellt.

Genau das muss ich ja machen, und die Platine ist schon fertig gebaut. 
Ich habe keine Möglichkeit noch was dran zu ändern, bin also darauf 
angewisen  einen Software-Lösung zu finden.

Karl heinz Buchegger schrieb:
> Such nach libUSB

Was ist mit dem LibUSB wozu kann man Ihn gebrauchen

Leute ich kann vielleicht doof Vorkomen, aber jeder fangt Mal so :)))

Danke

von Karl H. (kbuchegg)


Lesenswert?

Ghodhbani Walid schrieb:

> Leute ich kann vielleicht doof Vorkomen, aber jeder fangt Mal so :)))

Hör mal.
Du hast keine Ahnung, was da auf dich zukommt.
Das IST kein Anfängerprojekt.

Mach das deinem Chef klar.

Er hat 3 Möglichkeiten:
* entweder es bleibt beim externen Konverter
* oder du nimmst einen FT232
* oder du arbeitest dich ein und wickelst alles über libUSB ab

Es gibt noch eine 4. Variante: Über den FT232 aber nicht in Form einer 
seriellen Schnittstelle.

die ersten beiden Varianten kosten ihn 3 Euro pro Gerät, die letzte 
Variante kostet ihn 3 Monate Entwicklungszeit, eher sogar noch länger. 
Ganz abgesehen von der AVR Seite - hast du schon mal für Windows einen 
Device-Driver gebaut oder von einer höheren Programmiersprache heraus 
angesprochen?

Wenn er kein Dummkopf ist, dann nimmt er eine der beiden ersten 
Varianten.

>> Such nach libUSB
> Was ist mit dem LibUSB wozu kann man Ihn gebrauchen

Google ist dein Freund. Wenn es schon daran scheitert, dann vergiss es 
liber gleich.

von walid (Gast)


Lesenswert?

Hallo,

Karl heinz Buchegger schrieb:
> Er hat 3 Möglichkeiten:
> * entweder es bleibt beim externen Konverter
> * oder du nimmst einen FT232

Hat jemand eine Ahnung wo der FT232 besser als der Max232 besser sein 
könnte.  oder haben biede Varianten den selben Effizienzgrad.
Danke schön in Voraus. :))

von Karl H. (kbuchegg)


Lesenswert?

walid schrieb:
> Hallo,
>
> Karl heinz Buchegger schrieb:
>> Er hat 3 Möglichkeiten:
>> * entweder es bleibt beim externen Konverter
>> * oder du nimmst einen FT232
>
> Hat jemand eine Ahnung wo der FT232 besser als der Max232 besser sein
> könnte.  oder haben biede Varianten den selben Effizienzgrad.

?
Die machen ganz verschiedene Dinge

MAX232   Leistungstreiber für RS232
FT232    Umsetzung TTL-RS232 -> USB

von USBler (Gast)


Lesenswert?

Ist das nicht quatsch in eienem Profigerät auf Software USB zu setzen?
Dann doch eher mit einem USB fähigen Controller, z.B.:
ATMEGA32U4, oder AT90USB162 etc.
Sonst reicht doch der FT232.

An die Schaltung mit dem FT232 stöpselt der Benutzer nur noch ein USB 
Kabel an und keinen externen Converter.

von Sigint 112 (sigint)


Lesenswert?

USBler schrieb:
> Ist das nicht quatsch in eienem Profigerät auf Software USB zu setzen?

Wer sagt was von "Profigerät"?!? Es scheint sich ja um ein Projekt zu 
handeln das bestenfalls im Alphastadium steckt; wenn überhaupt. Für 
meine Begriffe sind viele Hobbyprojekte besser geplant, wenn selbst der 
Chef nicht annähernd weiß, was für ein Aufwand hinter USB steckt. Der 
hat wahrscheinlich mal ne SoftUSB-Lösung gesehen und gedacht: "Prima, 
das ist preiswert - das will ich haben"


> Genau das muss ich ja machen, und die Platine ist schon fertig gebaut.
> Ich habe keine Möglichkeit noch was dran zu ändern, bin also darauf
> angewisen  einen Software-Lösung zu finden.

Das ist so, als würdest du sagen:
  Ich hab ein Auto. Jetzt möchte ich damit auch tauchen können... kann 
man da durch Chiptuning etwas machen?!?

Da siehst du doch selbst ein, daß es nicht so einfach ist.

Zum Thema SoftUSB:
   Die V-USB Lösung funktioniert zwar in den meisten Fällen, allerdings 
ist sie alles andere als Standardkonform. Es kann also NICHT garantiert 
werden, daß sie mit jedem USB-Hostcontroller funktioniert. (und es gibt 
viele Beispiele im Forum, wo es auch nicht funktioniert) Dazu kommt, daß 
z.B. die CDC Lösung (also Kommunikation über Virtuellen COM-Port) laut 
USB-Standard garnicht funktionieren dürfte. (und bei guten 
Hostcontrollern funktioniert das auch nicht)
V-USB ist also nur was für Hobbybastler und nix für den produktiven 
Einsatz.

Soviel von meiner Seite..

Gruß,
   SIGINT

P.S.:

Zitat V-USB: "
Fully USB 1.1 compliant low-speed device, except handling of 
communication errors and electrical specifications."

!!! Man beachte: "except handling of communication errors and electrical 
specifications."

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.