Hallo! Folgende Fragen hätte ich dazu: 1. Wenn der ISP-Programmer eine optionale Spannungsversorgung anbietet, ist es besser man verwendet diese oder würdet ihr dazu raten die Spannungsversorung über das Targetboard/die Schaltung zu gewährleisten? 2. Wenn die SPI Leitungen bereits in Verwendung sind soll man diese ja laut Atmel's Application Note AVR042 mit Widerständen bestücken. Dazu hätte ich noch 2 Fragen: 2.1. Woher weiß ich die minimale Größe der Widerstände (ich kann sie ja nicht beliebig groß wählen da die angeschlossenen Teile ja einen bestimmten Strom brauchen)? 2.2. Aus der Application Note: "If additional devices are connected to the ISP lines, the programmer must be protected from any device, other than the AVR, that may try to drive the lines." Ich bin leider kein Elektrotechniker und verstehe nicht ganz was mit "to drive the lines" gemeint ist? Ist damit jeder Zustand außer Tri-State gemeint, oder wenn die Lines nach Masse bzw. +5V gelegt werden? 3. Muss man beim Programmieren von Fuse-bits mehr beachten, sprich sollten die Chips in dem Fall außerhalb der Schaltung programmiert werden? LG
1. ja, nein, vielleicht, kommt drauf an - auf den Rest der Schaltung. Ich würde immer die Spannungsversorgung des Targets nutzen, wenn möglich. 2.1 ??? 2.2 alles außer Tri-State 3. Nein, wenn du 2. abgesichert hast, und die Programmierung sicher läuft... Oliver
Zu 2.1: http://www.atmel.com/images/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf Auf Seite 7 Figure 3-2. Wie groß muss ich die Widerstände mindestens wählen damit der ISP Programmierer ausreichend geschützt ist bzw. die Programmierung ohne Probeleme funktioniert? Ansonsten Danke für die Antwort.
Das hängt davon ab, wie viel Strom der Programmer liefern kann. Ich würde von 20 mA ausgehen. Um damit noch die 5 V aufrechtzuerhalten, braucht man einen Widerstand von mindestens 250 Ω. Ich würde 1 kΩ einbauen, denke aber, dass 10 kΩ auch passen sollten. Wie weit der Widerstandswert nach oben kritisch ist, dürfte auch von der Leitungslänge abhängen.
Danke für die Antwort. Aber die Widerstände sind in Serie zu den jeweiligen Bauteilen, nicht zum ISP Interface. Die höhe der Widerstände ist ja dadurch schon begrenzt nach oben. Aber die Antwort ändert sich dabei nicht, min. 250Ω wenn ich von 20mA ausgehe oder?
20 mA sind schon eine ganze Menge. Die meisten ISP Programmer werden eher weniger Strom liefern können. Ich würde eher so 1-5 K vorsehen: da sollte der Programmer stärker sein und zum treiben des AVR Einganges sollte es reichen.
Danke auch dir für die Antwort, aber wie vorhin erwähnt werden in der Application Note die Widerstände nicht zwischen µC und ISP sondern zwiscehn µC und den Verbrauchern gesetzt. Wie geht man hier vor wenn ein SPI-Pin gleichzeitig als Output verwendet wird und z.B. an eine LED angeschlossen ist welche 25mA verbrät und deswegen nur einen 200Ω Widerstand davor gesetzt bekommt? (Nur ein theoretisches Beispiel) Das würde doch sicherlich Probleme beim Programmieren verursachen, oder verstehe ich das nicht richtig? LG
Günter schrieb: > Das würde doch sicherlich Probleme beim Programmieren verursachen, oder > verstehe ich das nicht richtig? Kommt drauf an, was der Programmer treiben kann. Die Atmel Programmer schaffen so einiges. Aber irgendwann ist natürlich Schluß. Die sicherste Methode ist Jumper einzusetzen. In DIL nehmen die eher weniger Platz weg als Widerstände. Wenn man die drei zusammenklebt, erspart man sich auch, die Dnger einzeln draufzufummeln. Vollkommen unproblematisch sind z.B. Schieberegister wie HC595 oder Taster, solange man der Versuchung widersteht, sie während der Programmierung zu drücken.
Danke! Das mit den Tastern dachte ich mir natürlich schon :) aber wieso ist es bei Schieberegister auch unproblematisch? (zu geringer Strombedarf?) Ich habe bis jetzt noch nie eines verwendet, frage nur aus Neugier. Jumper sind eine gute Idee, werd ich bei der nächsten Bestellung bedenken.
Günter schrieb: > (zu geringer Strombedarf?) Richtig. So gut wie gar nichts. 595er schieben die SPI-Daten einfach mit durch. Bei SRs ohne Ausgangslatch blinken die Leds, die da meistens angeschlossen sind, im Takt der Daten mit. Aber auch ein Display stört nicht. Das zeigt dann evtl. irgendwelchen Unsinn an. Solange das nicht obzön ist, stört das aber auch nicht. Kaputt geht davon gar nichts. Weder der Brenner, noch die Peripherie. Aufpassen muß man allerdings, wenn die Peripherie Ausgänge hat. Zum einen muß diese dann abgeschaltet werden. Das geschieht ganz automatisch, indem man den Enable-Pin nicht fest auf GND legt, sondern mit dem Controller schaltet. Zusätzlich muß ein Pullup ran. Und dann kommt der Widerstand aus der AN zum tragen. Der schützt nämlich ggf. den Ausgang der Peripherie vor dem Programmer und den Programmer vor einem eventuellen Kurzschluß. Dafür nimmt man i.a.R. ein paar KΩ. Oder man wählt die Jumperlösung. Dann kann man den Enable auch wieder auf GND legen.
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.