www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller-System(AVR) mit USB


Autor: Immanuel Nekvasil (sputnik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute

Ich habe schon einiges mit den Megas von Atmel rumgebastelt und kann 
glaube ich sagen, dass ich kein Anfänger mehr bin. Nun stehe ich aber 
vor einer etwas grösseren Herausforderung. Ich möchte ein 
Mikrocontroller-System entwickeln, welches über USB mit dem PC 
kommunizieren soll. Es geht nicht um die Programmierung per USB sondern 
darum, dass dann das fertige kleine System per USB mit dem PC 
kommunizieren soll. Wie schon gesagt habe ich schon Erfahrungen mit den 
ATMEGAS von Atmel gesammelt und würde diese auch gerne weiter verwenden, 
wenn es nicht einen sehr triftigen Grund gibt, das zu ändern. Das ganze 
sollte natürlich möglichst simpel sein für den Anfang.

Nun habe ich mich mal so umgehört und den einen und anderen Post hier im 
Forum gelesen aber bin noch nicht auf einen grünen Zweig gekommen. Ich 
weiss nicht ob es einen Controller gibt, der USB integriert hat oder ob 
ich da besser eine externen USB-Chip nehme. Wie gesagt, für den Anfang 
wäre ich froh, wenn es möglichst simpel wäre, man kann ja später immer 
noch komplexer werden.

Bin für vernünftige Ratschläge sehr dankbar
Sputnik

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sofern Dir USB Full Speed (12 MBit/s) reicht, kannst Du den FT232 
benutzen, den Du wie eine ganz normale UART ansteuern kannst. Meines 
Wissens gibt es keine ATMegas mit integriertem USB-Support, Du kannst 
Dich auf der Atmel Homepage aber mal davon ueberzeugen:

http://www.atmel.com/dyn/products/param_table.asp?...

Gruss,
Michael

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doch es gibt welche - AT90USB<sonstwas>. Einen davon (vgl Mega128) 
kriegt man sogar bei CSD.

Autor: Alexes Van da hole (Firma: n/a) (oxyl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.harbaum.org/till/

da gibt es aufbaufähige I2C_to_USB und LCD_to_USB varianten.

Autor: Immanuel Nekvasil (sputnik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Kaiser wrote:
> Doch es gibt welche - AT90USB<sonstwas>. Einen davon (vgl Mega128)
> kriegt man sogar bei CSD.

Hast du Erfahrungen mit einem solchen Controller?

Autor: Der Dude (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vor einiger Zeit war mal im Elektor ein Artikel, die hatten eine 
komplette USB-Schnittstelle rein softwaremässig in einen Mega8 gebaut.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Immanuel Nekvasil wrote:

> Hast du Erfahrungen mit einem solchen Controller?

Nein.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Dude wrote:

> Vor einiger Zeit war mal im Elektor ein Artikel, die hatten eine
> komplette USB-Schnittstelle rein softwaremässig in einen Mega8 gebaut.

Davon gibt's auch ein paar Versionen. Die erste und wohl bekannteste - 
IgorPlug USB - hat es sogar in eine Atmel AppNote geschaft. Allen diesen 
gemeinsam ist das Tempo: USB Low-Speed 1,5Mbps.

=> USB

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Immanuel Nekvasil wrote:
> Andreas Kaiser wrote:
>> Doch es gibt welche - AT90USB<sonstwas>. Einen davon (vgl Mega128)
>> kriegt man sogar bei CSD.
>
> Hast du Erfahrungen mit einem solchen Controller?

Hm dann muss das Listing von Atmel unvollstaendig sein... auch toll.
Immanuel, was spricht gegen den FT232? Kann sogar USB-High-Speed ;) Kost 
halt knapp 6EUR, leider.

Michael

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>was spricht gegen den FT232? Kann sogar USB-High-Speed

Unfug!

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hm dann muss das Listing von Atmel unvollstaendig sein...

Wann hast du das letzte mal reingesehen? Die stehen fein säuberlich 
eingereiht gleich nach AT90CAN und AT90PWM.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Salewski wrote:
>>was spricht gegen den FT232? Kann sogar USB-High-Speed
>
> Unfug!

Er meint wahrscheinlich Full-Speed. Kann man bei USB schon mal 
durcheinander bringen, dank Intels Kurzsichtigkeit.

Autor: Immanuel Nekvasil (sputnik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also prinzipiell spricht nichts gegen den FT232RL, ist eigentlich sogar 
sehr komfortabel anzusteuern. Es wäre allerdings einfach schlichtweg 
genial, wenn ich einen Controller nehmen kann, welcher das schon 
integriert hat. Damit müssten sich dann auch höhere Übertragungsraten 
bewältigen lassen, was natürlich immer ein Vorteil ist. Was ich nicht so 
toll finde ist, dass man einfach einen ATMega8 "nur" mittels Software so 
quasi zu einem USB fähigen Controller ummodelt, weil es für einen 
USB-Neuling wie mich dann relativ schnell unübersichtlich wird, also 
würde ich in diesem Fall den FT232RL vorziehen.

Also ich habe bei Atmel nachgeschaut und diese Controller mit 
USB-Support auch wirklich gefunden: http://atmel.com/products/avr/usb/ 
(für alle die es nicht geglaubt haben)

Ich denke ich werde mir mal anschauen, ob ich mir einen dieser Typen 
beschaffen kann und was sie sonst noch so können. Ich denke das ist für 
mich der optimalste Weg. Ich habe gesehen, dass da zum Teil auch schon 
Software von Atmel zur Verfügung gestellt wird.

mfg
Sputnik

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na dann ist doch der AT90USB162/82 die Idealbesetzung. Ähnlich 
Mega168/88 nur halt mit USB drin. Nur auf SDIP muss man leider 
verzichten.

Autor: Immanuel Nekvasil (sputnik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Kaiser wrote:
> Na dann ist doch der AT90USB162/82 die Idealbesetzung. Ähnlich
> Mega168/88 nur halt mit USB drin. Nur auf SDIP muss man leider
> verzichten.

Ohh, das ist kein Problem. Im Gegenteil, je kleiner desto besser. Ich 
werde diesen Print so oder so bestellen und mit Layouting (und EAGLE) 
habe ich genügend Erfahrung, eigentlich schon fast mehr als mit lieb 
ist.

Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Immanuel Nekvasil (sputnik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, ich denke die AT90USB-Controller sind das, was ich suche. Hat 
irgendwer eine Ahnung wo ich die her bekomme? Ich wohne in der Schweiz.

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Immanuel Nekvasil wrote:

> Also ich habe bei Atmel nachgeschaut und diese Controller mit
> USB-Support auch wirklich gefunden: http://atmel.com/products/avr/usb/
> (für alle die es nicht geglaubt haben)

Japs das hab ich auch grad gefunden ;)
Bei Reichelt scheint es sie leider nicht zu geben.

Michael

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier's mal da: http://www.er-tronik.de

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Na dann ist doch der AT90USB162/82 die Idealbesetzung.

Naja, der AT90USB1287 ist 10 Euro teurer, hat aber auch deutlich mehr 
Programm- und Arbeitsspeicher.

Autor: Immanuel Nekvasil (sputnik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Kaiser wrote:
> Probier's mal da: http://www.er-tronik.de

Vielen Dank, hier kann ich auch aus der Schweiz bestellen. Habe leider 
keinen Distributor in der Schweiz gefunden, wo man diese Controller 
bekommt.

@all:
Ich habe mich nun für den AT90USB646 entschieden und den 
www.er-tronik.de auch bestellen können.

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>@all:
>Ich habe mich nun für den AT90USB646 entschieden und den
>www.er-tronik.de auch bestellen können.

Was auch immer Du damit sagen willst?
Jedenfalls wäre der AT90USB646 der kleine Bruder vom AT90USB1287, mir 
64kByte Flash und ohne USB-OSG (Host Funktionalität). Soweit so gut, 
aber ich wüsste nicht wo man den kaufen kann. Bei www.er-tronik.de habe 
ich ihn früher nicht gesehen, und sehe ihn auch jetzt nicht.

Autor: Immanuel Nekvasil (sputnik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Salewski wrote:
>>@all:
>>Ich habe mich nun für den AT90USB646 entschieden und den
>>www.er-tronik.de auch bestellen können.
>
> Was auch immer Du damit sagen willst?
> Jedenfalls wäre der AT90USB646 der kleine Bruder vom AT90USB1287, mir
> 64kByte Flash und ohne USB-OSG (Host Funktionalität). Soweit so gut,
> aber ich wüsste nicht wo man den kaufen kann. Bei www.er-tronik.de habe
> ich ihn früher nicht gesehen, und sehe ihn auch jetzt nicht.

Haste natürlich recht, ich habe mich verguckt. Es hat nur den 
AT90USB687.
Noch eine kleine Frage von einem USB-Neuling: Was heisst es, wenn ein 
Controller Host-Funktionalität hat? Welche Vorteile hat das?

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Haste natürlich recht, ich habe mich verguckt. Es hat nur den
>AT90USB687.
>Noch eine kleine Frage von einem USB-Neuling: Was heisst es, wenn ein
>Controller Host-Funktionalität hat? Welche Vorteile hat das?

Ein AT90USB687 existiert aber bei Atmel nicht!
Ertronik meint wahrscheinlich entweder AT90USB647 oder AT90USB646.
Aber bei den drei Euro Differenz kannst Du auch gleich den AT90USB1287 
nehmen, mit doppelt so viel Speicher.

Aber ich will Dir den kleinen AT90USB162 keinesfalls ausreden, mit knapp 
5 Euro ist er ja preiswert. Wenn man sicher ist, dass er einem reicht, 
ist er auch eine gute Wahl. Bloß wenn einem dann Programm- oder 
Arbeitsspeicher ausgehen wird es ärgerlich.

USB-OTG (On The Go) bedeutet eingeschränkte Host-Funktionalität. USB ist 
eine asymmetrische Kommunikation zwischen Host (in der Regel PC) und 
einem Device. Die AT90USB1287 und AT90USB647 besitzen diese 
Host-Funktionalität. Sie können sich bezüglich USB ähnlich wie ein PC 
verhalten und mit USB Devices (z.B. USB-Stick, Tastatur, Drucker, ...) 
kommunizieren.

USB Kommunikation ist eh nicht einfach, und mit OTG wird es noch 
komplizierter. Ich wüsste nicht, dass jemand mit einem AT90USB schon 
OTG-Funktionalität realisiert hat. Eventuell gibt es mittlerweile dazu 
von Atmel Beispiele -- ich war lange nicht mehr auf der Seite von Atmel.

Autor: Immanuel Nekvasil (sputnik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Stefan:
Vielen Dank für die Ausführungen. Das hilft mir weiter. Ich bin vom 
kleinen AT90USB162 weggekommen, weil der nur 22 I/O Pins hat und ich 
schon alleine für die Ansteuerung meiner FLASH's so viele brauchen würde 
und ich aber ja noch andere I/O's für anderer Sachen brauche.
Das mit den Kosten hast Du schon recht, ich denke ich werde AT90USB1287 
nehmen, dann habe ich gleich was rechtes und brauche sicher nicht um 
Speicher zu bangen und um genügend I/O's. Dann kann ich mein System 
später erweitern, ohne das alte Konzept gleich über den Haufen zu 
schmeissen.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Dude wrote:
> Vor einiger Zeit war mal im Elektor ein Artikel, die hatten eine
> komplette USB-Schnittstelle rein softwaremässig in einen Mega8 gebaut.

Stimmt in der Elektor war ein solcher Artikel. Aber wer hat's erfunden?
http://www.mikrocontroller.net/articles/USB#Implem...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.