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.