Forum: Mikrocontroller und Digitale Elektronik [SAM7S256] Datenblattfehler?


von Thomas P. (pototschnig)


Lesenswert?

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

von Jadeclaw D. (jadeclaw)


Lesenswert?

Dein Denkfehler ist der USB und sein Verhalten.
Es ist so, durch den Reset wird DP stromlos geschaltet, die Diode
Richtung Reset sorgt dafür, dass der 47kOhm-Widerstand den Transistor
nicht offenhält, wenn PAn während des Resets hochohmig wird.
Durch das Ab- und Wiedereinschalten des PullUp (1.5kOhm am Emitter)
wird ein Neuanmelden am USB ausgelöst, da der Reset die
USB-Kommunikation ziemlich brutal abwürgt und Windoof sonst das Teil
nicht wiederfindet.Ich denke, so wie es im Datenblatt dargestellt ist,
ist es wohl richtig.

Gruss
Jadeclaw.

von Jadeclaw D. (jadeclaw)


Lesenswert?

Addendum: Dass bei dir ein PNP richtig ist, ist schlicht ein
Softwareproblem, so kann man Nutzer zwingen, eine bestimmte Software zu
verwenden. Olimex baut nur Appnotes und Datenblätter nach, mehr nicht.

Gruss
Jadeclaw.

von Jadeclaw D. (jadeclaw)


Lesenswert?

Ich meinte natürlich: eine bestimmte Hardware zu
verwenden.

Gruss
Jadeclaw.

von Thomas P. (pototschnig)


Lesenswert?

>>>
Addendum: Dass bei dir ein PNP richtig ist, ist schlicht ein
Softwareproblem, so kann man Nutzer zwingen, eine bestimmte Software
zu
verwenden.
<<<

Olimex hält sich in dem Fall an Atmels' Datenblatt. Und SAM-BA sollte
das gleiche tun. Aber nach erfolgreicher USB-Initialisiserung schaltet
SAM-BA den Portpin auf LO und da würde doch dann der NPN sperren?!

Irgendwie hab ich es wohl immer noch nicht verstanden.

von Jadeclaw D. (jadeclaw)


Lesenswert?

Hmm, Ich verstehe das auch nicht ganz, aber da es eine Atmel-Software
ist, sollte man davon ausgehen können, dass der Verfasser das
Datenblatt gelesen hat. In diesem Falle wohl nicht.
Ich sage mal, PNP einsetzen und einen Fehlerreport an Atmel senden.

Es gibt da auch ein Eval-Kit für diese Prozis, da fehlt der Transistor
ganz (http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3784)

Gruss
Jadeclaw

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.