Forum: Mikrocontroller und Digitale Elektronik Atmel mkII Programmer: Belastbarkeit


von Hans (Gast)


Lesenswert?

Hallo,

ich bin gerade dabei, mir eine SMD Platine zu designen, die ich gerne 
fertigen lassen möchte.
Jetzt hab ich es in der Vergangenheit ein paar Mal erlebt, dass der 
Atmel mkII nur gelb geblinkt hat, was wahrscheinlich daran lag, dass am 
MOSI und SCK neben dem zu programmierenden Atmega auch noch andere ICS 
hingen (die der Mega im normalen Betrieb ja ansteuern soll).

Wahrscheinlich fühlte sich der mkII dadurch dann überlastet.
Wie macht man sowas richtig? Ich hatte mir dann damals angewöhnt, die 
anderen ICs von MOSI usw. zu trennen (z.B. über Jumper).

Ist es eine gute Idee, das auch bei meiner neuen Platine zu machen (die 
ja aber eigentlich schön klein werden soll), oder gibts da bessere 
Möglichkeiten?

Gruß
Hans

von z3r0c00l (Gast)


Lesenswert?

Hey,

du musst einen Pullup bei der Select Leitung der einzelnen SPI Slaves 
einbauen, damit sie sich während dem Programmieren selbst vom Bus 
trennen.

von Thomas E. (thomase)


Lesenswert?

Hans schrieb:
> oder gibts da bessere
>
> Möglichkeiten?

Indem man die /CE- bzw. /OE-Leitungen der Bauteile am Port anschliesst 
und nicht fest auf GND legt.

Wenn der ISP den Controller dann auf Reset zieht, sind alle Ports 1 und 
somit die weitere Peripherie, insbesondere die Ausgänge, abgeschaltet.

mfg.

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Thomas Eckmann schrieb:
> Wenn der ISP den Controller dann auf Reset zieht, sind alle Ports 1 und
> somit die weitere Peripherie, insbesondere die Ausgänge, abgeschaltet.

Wo kommt das denn bitte her? Sowohl DDRx als auch PORTx werden nach dem 
Reset mit '0' initialisiert (siehe Datenblätter) - alles andere macht 
auch kaum einen Sinn, da eventuell die Ausgänge beschädigt werden 
könnten (weil beispielsweise ein anderer IC den Pin herunter zieht). Die 
Lösung für das ISP-Problem sind wie schon gesagt wurde Pull-Ups an allen 
CS-Leitungen.

von z3r0c00l (Gast)


Lesenswert?

@Thomas Eckmann:

Das stimmt so nicht, jedenfalls nicht bei den AVR's. Im Reset Zustand 
sind die Ports/Pins im tri-state Zustand, also hochohmig. Daher liegt 
bei den SPI Slaves dann ein undefinierter Pegel und diese Problem löst 
man eben mit Pullup Widerständen.

von Simon K. (simon) Benutzerseite


Lesenswert?

Christoph Budelmann schrieb:
> Die
> Lösung für das ISP-Problem sind wie schon gesagt wurde Pull-Ups an allen
> CS-Leitungen.

Korrekt. Und NUR das. Was auch ginge wären Serienwiderstände, aber die 
Variante mit den Pull-Ups ist eigentlich straight-forward und am 
sinnvollsten.

Das nur so gesagt, bevor wieder die ganzen anderen Ideen hier von den 
Forenteilnehmern kommen, die man sonst so bei der Problemstellung liest.
Einer hatte mal behauptet, dass man deswegen die Programmier/SPI 
Schnittstelle NUR fürs programmieren lässt und sonst nichts anschließt 
;-) Aber das ist natürlich Nonsense.

von Hans (Gast)


Lesenswert?

Mist :)
Das war mir vollkommen klar.
Da ich aber 595er dranhängen hatte, hab ich daran nicht gedacht. Ich 
hätte dem RCK ja nur einen Pulldown verpassen müssen...^^

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.