PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ISP + ??? am SPI



chientech
20.02.2012, 11:02
Hallo,
ich hatte am WE mal wieder Probleme mit externer Peripherie an den selben PIN's wie der ISP.

Einmal mit Treiberschaltung:
21578
Die Schaltung lief erst mit 1K als RB. Zuvor waren 390 Ohm drin.

Einmal mit Schieberegister:
21579
Ohne RPU3 + RPU4 konnte der Programmer im Betrieb nicht auf der Schaltung verbleiben.

Beide Schaltungen funktionieren (jetzt).
Gibt es für die Verwendung weiterer Peripherie am ISP einheitliche Regeln?
Probieren ist leider sehr Zeitaufwendig.

ePyx
20.02.2012, 11:08
Es gibt eine AppNote (http://www.atmel.com/Images/doc2521.pdf) (Seite 6) von Atmel, wo beschrieben wird, dass man in Richtung der angeschlossenen Hardware 220 Ohm Widerstände verschalten sollte. Damit ist das Flashen auch mit angeschlossener Hardware möglich.

Kampi
20.02.2012, 11:12
ich vermeide diese Problem indem ich, wenn die Pins vom Programmierinterface für Peripherie benutzt werden sollen, einen Jumper einbaue.
Damit treten solche Probleme gar nicht erst auf. Ist zwar umständlich aber besser als wenn eine Platine nachher nicht funktioniert ;)

ePyx
20.02.2012, 11:17
Naja die 3 Widerstände sind, meiner Meinung nach eleganter. Zudem die nur vorgesehen werden, damit der Prommer nicht irrtümlich eine Antwort der angeschlossenen Peripherie bekommt und diese als Fehler interpretiert.

chientech
21.02.2012, 06:49
Danke für den Hinweis auf das AppNote, das hilft auch bei weiteren HW Fragestellungen.

Woher kommt der Wert 220Ohm? Konnte den im AppNote nicht finden.
Persönliche Erfahrung?

Mit den R's in serie zur Peripherie lässt sich der Controller sicher Programmieren, aber vermutlich stört der Programmer im Betrieb, oder?

Ich empfinde es auch als Nachteil wenn ich den Programmer ständig aufstecken und wieder abziehen muss.

mfg Christoph

Kampi
21.02.2012, 07:07
Musst du bei dir mal testen. Aber ich habe bei meinen Sachen die Erfahrung gemacht das der Programmer nicht den laufenden Betrieb stört.
Im Grunde kommen da ja auch nur Informationen raus. Und sobald der Programmiervorgang abgeschlossen ist dürfte der Programmer deswegen nicht mehr dazwischen funken.

ePyx
21.02.2012, 08:27
Die 220 Ohm sollen letztendlich nur den Strom begrenzen. Zu hohe Widerstände würden den Datenverkehr zur Peripherie stören ( die Datenleitung können nicht mehr sauber von VCC nach GND gezogen werden) und zu kleine, naja zu kleine hast du wenn die Datenleitung ohne Widerstand verbunden ist.


...sobald der Programmiervorgang abgeschlossen ist dürfte der Programmer deswegen nicht mehr dazwischen funken.

Was nur funktioniert, wenn der Programmer die Datenleitung auch hochohmig schaltet. Das trifft nicht einmal auf alle ATMEL-Programmer zu und ist von der Zielschaltung abhängig.

Kampi
21.02.2012, 08:36
Was nur funktioniert, wenn der Programmer die Datenleitung auch hochohmig schaltet. Das trifft nicht einmal auf alle ATMEL-Programmer zu und ist von der Zielschaltung abhängig.

Deswegen muss er es bei sich testen ;)
Bei meinem alten Programmer hat es geklappt ohne das ich ihn abgezogen hab.....aber das war auch das einzigst gute an dem Teil gewesen. :/
Mit meinem jetzigen hab ich das noch nicht richtig getestet.