Ich hab da was sehr merkwürdiges, was mir schon beim Schaltplan zeichnen
meines Boards aufgefallen ist, aber ich dachte das wird schon stimmen.
Und zwar betrifft es die Pull-Up-Schaltung ([1] auf Seite 442). Dort
ist ein NPN-Transistor eingezeichnet, der meiner Meinung nach überhaupt
keinen Sinn macht. Zudem mag den SAM-BA auch nicht wirklich.
Also: Der Sinn soll sein, dass im Reset-Zustand der Pullup deaktiviert
wird und der Pullup nach erfolgreicher initialisierung dann aktiviert
wird. Dann beginnt die Enumeration.
Im Reset sind die I/O-Pins ja über einen internen Pull-Up auf Highpegel
und das reicht aus, damit der Transistor durchschaltet. Durch die
merkwürdige Schaltung wird der Pull-Up aktiviert, was eigentlich nicht
passieren sollte.
Der SAM-BA schaltet nach erfolgreicher Initialisierung den PA16 auf LO
um den Pull-Up zu aktivieren. Aber gerade dann sperrt der NPN.
Außerdem ist die Schaltung quatsch, weil dann der Pullup effektiv
3,3V-0,7V abkriegt.
Es müsste also ein PNP sein - Bei mir funktioniert das dann übrigens
genau so wie es soll.
Das Olimex-Board [2] hat auch eine NPN-Konstruktion verbaut.
Was ich jetzt allerdings immer noch nicht ganz verstehe ist die Diode,
an dem der Reset hängt:
In [1] hängt der Reset an der Diode dran, über die dann die Basis auf
LO geschaltet wird, wenn der Reset-Taster gedrückt wird (Reset
Lo-Aktiv). Aber das würde ja im Falle eines PNP Transistors den Pullup
aktivieren. Da würde NPN wieder stimmen.
Kann mir jemand erklären, wo ich meine Denkfehler habe und was jetzt
eigentlich richtig ist?
[1]: http://www.atmel.com/dyn/resources/prod_documents/doc6175.pdf
[2]: http://www.olimex.com/dev/pdf/SAM7S-P64.pdf