Forum: Mikrocontroller und Digitale Elektronik AVR32: Keine USB-Verbindung


von Marcel M. (Firma: Qimonda) (doppel-m)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich stehe vor folgendem Problem:

Momentan arbeite ich an einer Steuerplatine mit einem zentralen 
AT32UC3A256, die u. A. über mehrere serielle Anschlüsse verfügt und 
(vereinfacht ausgedrückt) einige Ampeln steuern soll (Zustandsbezogen 
auf die Eingänge, keine Verkehrsampeln).

Zusätzlich habe ich auch einen USB-Anschluss drauf - zum einen, um den 
µC zu programmieren und später auch als zusätzlichen Eingang (das ist 
aber genauso wie die Funktion der seriellen Schnittstellen erstmal 
unwichtig!).

Das eigentliche Problem ist für mich nun, dass ich keine USB-Verbindung 
zum Rechner aufbauen kann.

Wenn ich die Schaltung in Betrieb nehme, tut sich überhaupt nichts. 
USB-Kabel ist angeschlossen, Spannungsversorgung liegt an und die Pegel 
stimmen auch (3,3V => 3,35; 1,8V => 1,87). Keines der Bauteile wird 
merklich wärmer, also schließe ich Kurzschlüsse vorerst aus - habe 
zumindest bisher keine gefunden.
Ob ich nun RESET drücke oder nicht, nichts bewegt sich. Was mich 
hauptsächlich stutzig macht ist die Tatsache, dass an den Xin/Xout-Pins 
nichts passiert. Ich habe einen 12 MHz Quarz angeschlossen und 2x 22pF 
Keramikkondensatoren gegen Masse dazu (wie im Datenblatt beschrieben). 
(Die 22pF sind auch wirklich 22pF, zumindest steht es wirklich drauf - 
habe das mehrfach kontrolliert, dass es auch ja keine 22nF sind!) Der 
Abstand zum Pin beträgt etwa 1 cm, der Quarz steckt in einem Sockel um 
ihn ggfs. austauschen zu können.

Da ich den AT32 im 144 Pin QFP-Gehäuse verwende, nutze ich die Osc0 Pins 
124 und 125. Zur Messung nutze ich ein Oszilloskop. Mir ist klar, dass 
dieses das Ergebnis verfälschen kann, aber sobald sich irgendwas dran 
bewegt, würde mir das ja schon reichen. Nur leider zappelt da überhaupt 
nichts!

Nun bin ich etwas verwirrt, weil im Datenblatt steht, dass die 
Oszillatoren nach jedem Reset standardmäßig deaktiviert sind (bitte 
berichtigt mich, wenn ich da was falsch verstanden habe). Aber laut dem 
Datenblatt zum USB-Bootloader, SOLL ja der Quarz da dran und die 
USB-Funktionalität wird als Standard geladen, wenn nichts anderes an 
Software im Flash gefunden wird. Da ich bisher nichts programmieren 
konnte, sollte meiner Meinung nach also der Bootloader aktiviert werden 
(und dieser kümmert sich dann wohl um die Aktivierung der 
Oszillatoren?). Verstehe ich das bis dahin erstmal richtig?

Ein weiteres Mysterium ist mir noch der sog. Joystick. Den habe ich bei 
mir nicht drauf, aber das entsprechende Pin (#66) habe ich ohnehin nach 
außen geführt und kann daher ohne weiteres einen Taster anschließen. 
Laut Datenblatt muss dieser auf Masse gezogen werden, um den Bootlader 
manuell zu aktivieren (also gedrückt lassen während eines RESETs). 
Dieser Pin hängt aber (wie alle anderen auch???) sowieso schon auf 0V. 
Sollte dieser Anschluss daher per Pull-Up auf 3,3V gebracht und nur 
während des RESETs auf Masse heruntergezogen werden? Und in dem 
Zusammenhang: Ist es richtig, dass alle I/O-Pins standardmäßig auf 0V 
hängen? (Klingt für mich durchaus logisch, warum sollten sie auch einen 
anderen Pegel haben - aber vllt. übersehe ich etwas?) Gibt es eine 
Tabelle/Übersicht über "Standardpegel" aller Pins, wenn ich den µC ohne 
irgendwelche Zusatzoptionen einfach nur in Betrieb nehme? Die reine 
Spannungsversorgung ist klar und wurde auch geprüft. Dass der eine Pin 
des internen Spannungsteilers (für die Bereitstellung der 1,8V aus den 
3,3V bei einfacher Spannungsversorgung, ich verwende aber die Variante 
mit zwei Spannungsreglern) in der Luft hängt, sollte doch kein Problem 
darstellen - oder? (Höchstens für die Stromaufnahme, aber doch wohl 
nicht für die USB-Funktion???)

Wie ist das außerdem mit dem 32 kHz-Oszillator - muss da irgendetwas 
angeschlossen werden oder (wie ich es verstanden habe) werden die 32 kHz 
intern erzeugt (wenn aktiviert)? Anders gefragt: Müssen die Pins für 
Osc32 in irgendeiner Form beschaltet werden, damit das Gesamtsystem 
funktioniert (obwohl ich die 32 kHz sonst nicht benötige)?

Ich hoffe, ihr könnt mir helfen.

von Rene S. (gigastulle)


Lesenswert?

Poste Doch mal dein Schaltplan so das ihn jeder auch öfnen kann !!!
Setzte doch einfach das entsprechnede Fuse-Bit beim programieren um den 
Ozzilator von Hand zu starten ;)

Dann sollte Das Quarz auf jeden FAll anfangen zu schwingen

LG Rene

von Marcel M. (Firma: Qimonda) (doppel-m)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich kann ja eben überhaupt gar nichts programmieren, weil ich das 
USB-Interface nicht zum Laufen bekomme - daher kann ich auch keine 
Fuse-Bits setzen. Sind die nicht von Haus aus so gesetzt, dass der 
Bootloader startet (und alles was dazu benötigt wird)?

Ich habe kein JTAG-Modul oder irgendwas Anderes, daher wollte ich ja USB 
verwenden. Ich kann also weder irgendetwas auslesen noch 
einprogrammieren, da keinerlei Verbindung hergestellt werden kann. 
Angestrebt wird USB, andere Optionen habe ich nicht! (In meinem Layout 
habe ich zwar auch die JTAG-Pins, aber ohne passendes Gerät kann ich sie 
nicht nutzen.)

MfG,

Marcel M.

von Rene S. (gigastulle)


Lesenswert?

Oh das ist schlecht ich glaube nicht das das dann so einfach geht. Meist 
ist vom werk aus der interne ozzilator aktiv. Und der Bootloader is auch 
nicht aktiv. Das Datenblatt solte aufschluss darüber geben. ich kann mir 
aber nich vorstellen das did alles ohne Software auf dem AVR geht.

Wie sieht es den Mit dem guten alten ISP interface aus ??? Häng doch 
erstma sowas dran so ein teil ist auch leicht gebaut die anleitung 
findest du hier in den Tutorials.

von Simon K. (simon) Benutzerseite


Lesenswert?

Sicher, dass der Chip mit USB Bootloader ausgeliefert wurde?

von Marcel M. (Firma: Qimonda) (doppel-m)


Lesenswert?

@Simon:

Ja, zumindest steht das so im Datenblatt, dass jeder aus dieser Familie 
mit vorinstalliertem Bootloader ausgeliefert wird. (Belegt die ersten 
8KB des Flash-Speichers)


Was Software angeht sollte laut ATMEL das AVR32 Studio ausreichen und 
die Programmierung über USB möglich sein. Es wird explizit darauf 
hingewiesen, dass nichts an zusätzlicher Hardware nötig ist.

Ich probiere mal, ob ich mit dem erwähnten ISP-Interface etwas erreichen 
kann, bin aber weiterhin für zusätzliche Ideen/Anregungen dankbar. :)

MfG,

Marcel M.

von Simon K. (simon) Benutzerseite


Lesenswert?

Marcel M. wrote:
> @Simon:
>
> Ja, zumindest steht das so im Datenblatt, dass jeder aus dieser Familie
> mit vorinstalliertem Bootloader ausgeliefert wird. (Belegt die ersten
> 8KB des Flash-Speichers)
Ja, aber wenn du eine alte Revision erwischt hast, ist dieser dort nicht 
vorhanden.

> Was Software angeht sollte laut ATMEL das AVR32 Studio ausreichen und
> die Programmierung über USB möglich sein. Es wird explizit darauf
> hingewiesen, dass nichts an zusätzlicher Hardware nötig ist.
Stimmt. Der AVR FLIP sollte den Bootloader ansprechen können

> Ich probiere mal, ob ich mit dem erwähnten ISP-Interface etwas erreichen
> kann, bin aber weiterhin für zusätzliche Ideen/Anregungen dankbar. :)
Welches ISP Interface denn?

von Marcel M. (Firma: Qimonda) (doppel-m)


Lesenswert?

@Simon:
Das von Rene erwähnte. Wobei ich mich dabei dann schon frage, wie und wo 
ich das anschließen soll. Unterstützt der AVR32 das überhaupt?

Von einem Kollegen hier habe ich noch folgendes Interface bekommen:
http://www.olimex.com/dev/avr-jtag.html

Auch wenn auf der Seite steht, dass es nicht kompatibel zu den neueren 
AVRs ist - kann ich damit trotzdem IRGENDWAS anfangen, und sei es nur um 
zu testen, ob der µC hinüber ist? Programmieren wäre natürlich genauso 
toll, auf das debugging kann ich verzichten.

Bin für Ratschläge oder jede andere Hilfe unheimlich dankbar. :)

MfG, Marcel M.

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.