Forum: Mikrocontroller und Digitale Elektronik Wie AT90USB durch UU-Brücke korrekt speisen bzw. verschalten?


von Julian K. (fragenkinsey)


Lesenswert?

Hallo freundliche Community,

es ist bald so weit. Mir wird bald der AT90USB1287 und eine 
USB-UART-Brücke (UUB) (CP2102) geliefert. Ich habe deshalb angefangen 
mir Gedanken darüber zu machen, wie ich das ganze fachmännisch 
verschalten sollte. Allerdings bin ich schneller als mir lieb ist an 
meine Grenzen gestoßen :-)

Mir kam die Idee, dass ich den AT90USB128 indirekt - über die UUB - mit 
Spannung speise. Ein netter Forumnutzer meinte, dass ich dazu auf die 
Spannung und Stromstärke meine Aufmerksamkeit richten sollte. Also habe 
ich das gemacht.

Der AT90USB1287 darf laut dem Datenblatt mit einer Spannung zwischen 2,7 
bis 5,5 V betrieben werden. Für diesen ist außerdem eine maximaler 
Vorsorgungsstrom von 200 mA zulässig.

Der CP2101 auf der UUB hat eine maximale Sromstärke von 100 mA und eine 
Spannung bis 3,6 V am Ausgang. Das müsste also auch auf den Ausgangspins 
der UART (VCC, TXD, RXD und GND)anliegen.

Übersicht halber noch Mal zusammengefasst:

AT90USB12876:  zulässige Betriebsspannung: 2,7 - 5,5 V (max. 6V)
               max Betriebsstrom: 200 mA

CP2102: max Ausgangsspannung : 3,6 V
        max Ausgangsstrom: 100 mA

Logischerweise müsste ich doch also den AT90USB1287 mit der UUB und dem 
daran angeschlossenen PC betreiben können. Soweit alles gut.

Jetzt habe ich den Schaltplan der IC mit dem AT90USB1287 inspiziert. 
Dabei ist mir aufgefallen, dass das Datenblatt eine Versorgungsspannung 
von 5V angibt (Siehe Anhang). Jetzt zum eigentlichen Fragenpaket:

A)Ist dieses Angabe verbindliche oder kann ich angesichts der oben 
angegeben Angaben auch einfach die VCC der UART-Seite des UUB mit den 
circa 3,3 V anschließen.

B) Falls das geht, soll ich die UUB Brücke an VCC des uC anschließen und 
an den Mini-USB?

C)Falls das nicht geht, soll ich den AT90USB1287 und den Mini-USB 
jeweils mit einer Spannungsquelle versorgen oder reicht da eine?

Ich nehme an, dass man angesichts dieser Fragen als Fachmann die Augen 
verdreht. Ich bitte um Nachsicht, da ich zum ersten Mal einen uC 
anschließen möchte.

Könntet ihr mir bitte unter die Arme greifen, obwohl ich schwitze ;-)

MfG
fragenkinsey

P.S.: Ich hätte auch den Lieferanten gefragt, aber da heute Samstag ist, 
geht das nicht.

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Der AT90USB1287 hat doch schon USB eingebaut. Wozu brauchst Du noch den 
USB-Seriell-Wandler?

Mach doch mal ein Diagramm von Deinem System, damit man das besser 
versteht.

fchk

von Julian K. (fragenkinsey)


Lesenswert?

O.K.,

zunächst mal den Link für den AT90USB1287, den ich mir bestellt habe:

http://shop.in-circuit.de/products/Home/-C-Module/34/DIL-AT90USB1287

und einem Link für die USB-UART-Bridge

http://shop.in-circuit.de/products/Home/Schnittstellenmodule/27/USB-A-UART-Bridge.

Der AT90USB1287 hat einen integrierten mini USB-Mini-Port. Ich dachte, 
der mini USB-Mini-Port wäre da, damit ich den Controller flashen kann, 
aber nicht für serielle Datenübertragung. Deshalb wollte ich für die 
Datenübertragung eine USB-UART-Brücke (CP2102) zwischen dem AT90USB1287 
und dem PC schalten.  Das Schema dazu ist wie folgt:


AT90USB1287 --> USB-UART-Brücke--> UART sendet Daten an --> PC mit VCP.

Programm (vom PC) --> mini-USB-Port (Verbindungskabels für mini-USB-Port 
und konventionellem USB)  --> AT90USB1287 flashen.

Ist dieses Schema verständlicher als mein erster Beitrag?

Und ich würde am liebsten den PC und die USB-UART-Brücke zur 
Spannungsversorgung des AT90USB1287s einsetzten. Der CP2102 passt doch 
die 5V des USBs an die 3,3 V für den UART an. Genau diese 3,3 V wollte 
ich zur Spannungsversorgung des AT90USB1287 verwenden. So dass der PC 
den AT90USB1287 indirekt mit Spannung versorgt.

Versteht man mich jetzt besser?

von Frank K. (fchk)


Lesenswert?

Julian Kinsey schrieb:


> Der AT90USB1287 hat einen integrierten mini USB-Mini-Port. Ich dachte,
> der mini USB-Mini-Port wäre da, damit ich den Controller flashen kann,
> aber nicht für serielle Datenübertragung.

Falsch gedacht! Flashen und Debuggen tust Du über den JTAG-Port des 
AT90USB1287, alternativ kannst Du den Chip auch über den ISP-Port 
flashen (dann aber nicht debuggen). Zum Debuggen empfehle ich Dir ein 
Atmel JTAGice3, alternativ ein Dragon (Achtung, der ist etwas 
empfindlich an seinen Ausgängen, ist halt ein Billigteil).

Den USB-Port benutzt Du für die Kommunikation des AVRs mit dem PC. Dafür 
nimmst Du entweder das Zeugs von Atmel oder den LUFA-Stack.

> Deshalb wollte ich für die
> Datenübertragung eine USB-UART-Brücke (CP2102) zwischen dem AT90USB1287
> und dem PC schalten.

Im Prinzip kann das der AVR alleine, die USB-UART-Brücke ist unnötig.

> Und ich würde am liebsten den PC und die USB-UART-Brücke zur
> Spannungsversorgung des AT90USB1287s einsetzten. Der CP2102 passt doch
> die 5V des USBs an die 3,3 V für den UART an. Genau diese 3,3 V wollte
> ich zur Spannungsversorgung des AT90USB1287 verwenden. So dass der PC
> den AT90USB1287 indirekt mit Spannung versorgt.

Das könntest Du in Prinzip so machen, ist aber ungünstig, weil der AVR, 
den Du Dir ausgesucht hast, ein 5V-Chip ist. Der läuft zwar auch mit 
3.3V, dann aber nur mit halber Taktrate und damit nur halb so schnell 
wie er eigentlich könnte.

Wenn Du das unbedingt so machen willst, dann nimm besser das hier

http://www.reichelt.de/USB-Konverter/DELOCK-83116/3//index.html?ACTION=3&GROUPID=6105&ARTICLE=120573&SEARCH=usb-seriell%205v&SHOW=1&OFFSET=500&;

das arbeitet mit 5V-Pegeln. Anschlussplan gibs hier:

http://www.delock.de/files/14539.download

fchk

von Julian K. (fragenkinsey)


Lesenswert?

Danke für deinen Beitrag. Wenn du recht hast, dann lag ich wohl komplett 
daneben.

Frank K. schrieb:
> Falsch gedacht! Flashen und Debuggen tust Du über den JTAG-Port des
> AT90USB1287, alternativ kannst Du den Chip auch über den ISP-Port
> flashen (dann aber nicht debuggen). Zum Debuggen empfehle ich Dir ein
> Atmel JTAGice3, alternativ ein Dragon (Achtung, der ist etwas
> empfindlich an seinen Ausgängen, ist halt ein Billigteil).

Auf der Internetseite steht doch aber:

"Mittels der Atmel-FLIP Anwendung kann per USB die Applikationssoftware 
geladen werden.[...]"

Habe ich das etwa falsch verstanden. Ich dachte dieses Modul hätte den 
Vorteil, dass ich eben kein JTAG brauche.

Frank K. schrieb:
> Das könntest Du in Prinzip so machen, ist aber ungünstig, weil der AVR,
> den Du Dir ausgesucht hast, ein 5V-Chip ist. Der läuft zwar auch mit
> 3.3V, dann aber nur mit halber Taktrate und damit nur halb so schnell
> wie er eigentlich könnte.

Wenn ich aber den AT90USB1287 separat mit einer 5V Spannungsquelle 
versorgen würde, dann könnte ich ihn doch mit der USB-UART-Brücke an den 
PC anschließen und mit max. Taktrate betreiben? Jetzt mal abgesehen 
davon, ob die Brücke überhaupt Sinn macht, wenn die Kommunikation 
zwischen PC und uC auch ohne Brücke funktioniert.

Danke, dass du mir noch zu der USB-UART-Brücke eine Alternative 
vorgeschlagen hast und auch für alles andere.

von Frank K. (fchk)


Lesenswert?

Julian Kinsey schrieb:

> Auf der Internetseite steht doch aber:
>
> "Mittels der Atmel-FLIP Anwendung kann per USB die Applikationssoftware
> geladen werden.[...]"

... wenn im Chip der zugehörige Bootloader einprogrammiert ist und die 
Fuses richtig stehen. Wenn Du den Chip einmal komplett löschst, ist der 
weg. Die AVRs haben im Gegensatz zu einigen ARMs kein ROM, wo irgendein 
Bootloader unlöschbar drin steht. Bootloader gehören zum 
Applikationscode, und Atmel erwartet, dass sich der Systementwickler 
darum selber kümmert.

> Habe ich das etwa falsch verstanden. Ich dachte dieses Modul hätte den
> Vorteil, dass ich eben kein JTAG brauche.

Wenn Deine Applikation später komplett läuft und getestet ist, dann 
kannst Du DFU-FLIP für Firmwareupdates bei Kunden benutzen. Für die 
Entwicklung ist das nicht gedacht. Wenn Du gedacht hättest, Du kämest um 
ein JTAGice3 herum ... vergiss es. Mit vernünftigem Werkzeug bist Du 
einfach schneller fertig. Unterschätze den Produktivitätsgewinn nicht.

> Wenn ich aber den AT90USB1287 separat mit einer 5V Spannungsquelle
> versorgen würde, dann könnte ich ihn doch mit der USB-UART-Brücke an den
> PC anschließen und mit max. Taktrate betreiben? Jetzt mal abgesehen
> davon, ob die Brücke überhaupt Sinn macht, wenn die Kommunikation
> zwischen PC und uC auch ohne Brücke funktioniert.

Der CP2102 ist ein 3.3V-Chip. Ich habe eben mal schnell im Datenblatt 
nachgeschaut, ob dessen IO-Pins 5V-tolerant sind. Auf die Schnelle würde 
ich mal sagen, dass da nichts passieren sollte, aber schau noch mal 
genau in die Datenblätter von AVR und CP2102, ob das auch so stimmt und 
ob die Schaltschwellen passen (d.h. ob der AVR eine 3.3V "1" von CP2102 
auch wirklich zuverlässig als "1" erkennt) Selbstverständlich ist das 
ganz und gar nicht, und ich hätte diesen Chip auch nicht gewählt. Der 
FTDI-Chip in dem Kabel, was ich Dir im letzten Post vorgeschlagen habe, 
ist von den Treibern her unproblematischer und läuft mit 5V, d.h. das 
sind schon mal mindestens zwei Fehlerquellen weniger. Denke dran "Was 
schiefgehen kann, geht auch schief.", handele defensiv und designe 
konservativ. Das spart Dir eine ganze Menge Arbeit.

fchk

PS: FTDI-USB-Seriell Module bekommst Du auch woanders und auch billiger. 
Aber für den Anfang hast Du erstmal eine Quelle.

: Bearbeitet durch User
von Julian K. (fragenkinsey)


Lesenswert?

Danke für dein letztes Posting.

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.