Hallo, manchmal scheint man einen Avr nicht programmieren zu können, wenn die ISP-Pins in der Schaltung noch für andere Zwecke benutzt werden. Gibt es eine Empfehlung für Schaltungen, wie die designed werden müssen, damit ISP trotzdem funktioniert?
Eine bekannte Suchmaschine deiner Wahl, welche mit G anfängt und oogle aufhört, fütterst du mit "atmel application note isp" Danach liest du dir die Trefferliste durch und wirst relativ weit oben "geholfen"
Da reicht auch einfach etwas nachdenken. Es sollte halt alles relativ hochohmig sein damit der Programmer nicht gestört wird. Also am besten werden die als Eingänge genutzt, z.B. für Taster. Aber auch als ADCs an hochohmigen Spannungsteilern funktioniert es. Die Pins für LEDs zu nutzen geht auch. Andere Aktoren z.B. Relais über entsprechende Treiber geht natürlich auch, aber man muss bedenken dass die dann während den Programmiervorgang zucken. Und zieht der Treiber zu viel Strom vom Pin, geht's nicht mehr. Also z.B. wenn hier Transistoren mit 20mA Basisstrom betrieben werden. Was eben nicht geht, sind aktive Elemente die dann reinfunken wollen (z.B I²C Bausteine), oder niederohmige Verbindungen dieser Pins zu VCC oder GND oder an sonstige Potentiale. Andere SPI Teilnehmer sind kein Problem, solange man sicherstellt dass deren CS Eingang während des Programmierens sicher auf Hi liegt. PullUp reicht.
Appnote AVR910/doc0943, In-System-Programming, Abschnitt Hardware Design Considerations u.a., enthält jedoch keinen Schaltplan für ISP-Anschluß, wenn gleichzeitig andere externe Geräte an den Pins angeschlossen sind.
Dann ist es eben im zweiten Treffer zu finden: AVR042 unter 3.1.1 "Shared Use of SPI Programming Lines". Meine Fresse!
Oder einmal anders gefragt. Was schwebt dir denn so vor, was du in diesem 'Schaltplan' finden würdest? Leute. Elektronik oder Technik allgemein ist kein Hexenkessel. Die Dinge funktionieren genau so wie überall anders auch im täglichen Leben. Wenn ich mich mit Kurt unterhalten möchte und Franz quasselt dauernd dazwischen, dann werde ich Kurt nicht verstehen und er mich nicht. Das ist doch nicht weiter schwer zu kapieren. Wenn Franz zuhören will, dann soll er das tun, aber er soll sich raushalten. Wenn er zuhört, dann bitte aber so, dass er sich nicht zwischen mich und Kurt drängt, sondern daneben bleiben. Wenn ich Kurt auffordere, etwas zu tun und Franz fasst das als Aufforderung für sich auf, dann ist da offenbar irgendwas schief gelaufen. Und genauso ist es doch auch hier. Die 'externen Geräte', die zusätzlich an den ISP Pins hängen, sollen im Idealfall einfach nur zuhören (und nicht selber 'quasseln') und sie sollen das Mitgehörte nicht falsch verstehen. Wie das konkret aussieht, hängt mehr als alles andere von dem ab, was zusätzlich an den ISP Pins angeschlossen werden soll. Eine LED ist reiner "Zuhörer" und drängt von sich aus den ISP Leitungen keinen Pegel auf. Sie braucht ein bischen Strom, drängt sich also unter Umständen in die Konversation rein, in dem sie zuviel abzieht - meistens ist es aber kein Problem. EIn Taster auf der anderen Seite würde einer Leitung einen Pegel aufzwingen, wenn man ihn betätigen würde. Da ist die Lösung einfach. Drück einfach nicht auf den Taster, während di per ISP die Programmierung durchführst. Ein Relais ist wieder reiner Zuhörer. Aber anders als eine LED, schaltet ein Relais normalerweise irgendetwas. Wenn das Relais die Herz Lungen Maschine abschaltet, während die per ISP programmierst, dann ist das ein Problem - das Relais sollte nicht nur zuhören sondern das Gehörte auch nicht ausführen -> das willst du nicht am ISP Pin haben. Und bei allem anderen: Sieh dir dein externes Gerät an. Wie kriegst du es dazu, dass es sich raushält. Je nachdem, wie das zu erreichen ist, wird anders verschaltet. Einfach mal ein klitzekleines bisschen nachdenken. Das ist alles keine Raketentechnik.
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.