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


von Immanuel N. (sputnik)


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

von Michael G. (linuxgeek) Benutzerseite


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?family_id=607&OrderBy=part_no&Direction=ASC

Gruss,
Michael

von Andreas K. (a-k)


Lesenswert?

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

von Alexes V. (Firma: n/a) (oxyl)


Lesenswert?

http://www.harbaum.org/till/

da gibt es aufbaufähige I2C_to_USB und LCD_to_USB varianten.

von Immanuel N. (sputnik)


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?

von Der Dude (Gast)


Lesenswert?

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

von Andreas K. (a-k)


Lesenswert?

Immanuel Nekvasil wrote:

> Hast du Erfahrungen mit einem solchen Controller?

Nein.

von Andreas K. (a-k)


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

von Stefan Salewski (Gast)


Lesenswert?


von Michael G. (linuxgeek) Benutzerseite


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

von Stefan Salewski (Gast)


Lesenswert?

>was spricht gegen den FT232? Kann sogar USB-High-Speed

Unfug!

von Andreas K. (a-k)


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.

von Andreas K. (a-k)


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.

von Immanuel N. (sputnik)


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

von Andreas K. (a-k)


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.

von Immanuel N. (sputnik)


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.

von Marius S. (lupin) Benutzerseite


Lesenswert?


von Immanuel N. (sputnik)


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.

von Michael G. (linuxgeek) Benutzerseite


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

von Andreas K. (a-k)


Lesenswert?

Probier's mal da: http://www.er-tronik.de

von Stefan Salewski (Gast)


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.

von Immanuel N. (sputnik)


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.

von Stefan Salewski (Gast)


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.

von Immanuel N. (sputnik)


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?

von Stefan Salewski (Gast)


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.

von Immanuel N. (sputnik)


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.

von Stefan B. (stefan) Benutzerseite


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#Implementierung_auf_AVR

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.