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
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.
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.
Ich meinte natürlich: eine bestimmte Hardware zu verwenden. Gruss Jadeclaw.
>>>
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.