Forum: Mikrocontroller und Digitale Elektronik Programmer mkII gibt auf


von Jansen (Gast)


Lesenswert?

Hallo,
ich habe das Problem, dass der mkII von Atmel den Programmiervorgang 
immer mit einem orangen Blinken abbricht, wenn ich an der SPI meine 
Schieberegisterkette (8x 595) hängen habe. Glücklicherweise liegen deren 
Pins auf einem Stecker, den ich dann halt vor dem Programmieren abziehen 
muss.
Nervig ist es trotzdem.
Was ist da verkehrt? Ich vermute mal, dass der mkII nicht soviel Strom 
treiben will (weil ja so gesehen 9 Verbraucher am SCK hängen).
Wie macht man es richtig? Abschalten (Chipselect) lassen sich die 595 ja 
nicht.

Mfg Jansen

von Marcus B. (raketenfred)


Lesenswert?

mit dem mk2 nur einen transistor treiben?

Damit ist die Last weg vom Programmer

von Jansen (Gast)


Lesenswert?

Naja, das gleich Problem kann ja aber auch am MISO auftreten.

Eigentlich bräuchte ich doch sowas wie eine Chipselect Leitung am 595, 
oder? Aber der hat sowas nicht

von Peter D. (peda)


Lesenswert?

Jansen schrieb:
> ich habe das Problem, dass der mkII von Atmel den Programmiervorgang
> immer mit einem orangen Blinken abbricht, wenn ich an der SPI meine
> Schieberegisterkette (8x 595) hängen habe.

Was für 595?

Ich hab 21 Stück CMOS 74HC595 dran, und das Programmieren geht 
einwandfrei.

Standard-TTL könnten aber zu viel Eingangsstrom brauchen.


Peter

von spess53 (Gast)


Lesenswert?


von Jansen (Gast)


Lesenswert?

Bei mir sind es 8 HC595 von ST.
Zwischen den beiden Platinen (der mit dem Atmega und der ISP und der mit 
den Schieberegistern) ist ein Stück Flachbandkabel. Das sollte ja aber 
kein Problem sein. Ich muss es immer abziehen, damit der mkII seine 
Arbeit tut.

Peda, programmierst du denn auch mit dem mkII, oder hast du einen, der 
evtl. einfach mehr Strom treibt? Ist der mkII vielleicht einfach 
ziemlich empfindlich?

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Jansen schrieb:
> Peda, programmierst du denn auch mit dem mkII

Ja.

Die Schaltung ist aber auf einer Platine, anbei ein Ausschnitt.
Dadurch sind die Leitungen schön kurz und die Masse dick (Plane).

SPI über längere Leitungen (zu anderen Platinen) zu übertragen ist etwas 
tricky (ich machs nicht mehr). Es kommt dann schnell zu Störungen 
(Spikes), da die ICs zu schnell sind.


Peter

von Peter D. (peda)


Lesenswert?

P.S.:
Ich hab mal die Länge der Netze gemessen:
SCK: 320mm
RCK: 343mm


Peter

von Fabian B. (fabs)


Lesenswert?

Sorry, fürs Thread-jacking:

@peda:

Peter Dannegger schrieb:
> SPI über längere Leitungen (zu anderen Platinen) zu übertragen ist etwas
> tricky (ich machs nicht mehr). Es kommt dann schnell zu Störungen
> (Spikes), da die ICs zu schnell sind.

ich habe gerade so ein Problem, auch wenn es sich nur um ca 15cm 
Flachbandkabel handelt und VCC und GND jeweils 3fach über das Kabel 
geführt werden. Ich schaffe es immer wieder solche Spikes zu erzeugen 
(teilweise vermutlich ESD), dass das 595er (CD74HC595 von TI) seine 
Daten vergisst.

Gruß
Fabian

von Jansen (Gast)


Lesenswert?

Noch eine Frage zu der Application Note:
welche Größe sollten die Serienwiderstände in der SPI haben? 10k? Kann 
denn dann der Atmega im normalen Betrieb die Schieberegister ansprechen?

von Frank K. (fchk)


Lesenswert?

Jansen schrieb:

> Was ist da verkehrt? Ich vermute mal, dass der mkII nicht soviel Strom
> treiben will (weil ja so gesehen 9 Verbraucher am SCK hängen).
> Wie macht man es richtig? Abschalten (Chipselect) lassen sich die 595 ja
> nicht.

HC126 dazwischen, wobei die Gates der einzelnen Gatter auf Reset liegen. 
Ist Reset High, werden die Schieberegister angesteuert, ist Reset LOW, 
ist ein ISP-Programmer im Gange.

Pull-Ups/Downs nach Bedarf an die Ausgänge des HC126 setzen, um 
undefinierte Pegel zu vermeiden.

fchk

von Chris (Gast)


Lesenswert?

Jansen schrieb:
> welche Größe sollten die Serienwiderstände in der SPI haben? 10k?

Ich verwende dort immer 1k.

von Peter D. (peda)


Lesenswert?

Fabian B. schrieb:
> ich habe gerade so ein Problem, auch wenn es sich nur um ca 15cm
> Flachbandkabel handelt und VCC und GND jeweils 3fach über das Kabel
> geführt werden.

Manchmal hilft, eine dicke Masse zwischen beiden Platinen zu ziehen.
Oder ein Schmitt-Trigger an den Eingängen. Die sind langsamer und daher 
nicht so störanfällig. Z.B. 74HC14 oder CD4093 (richtig langsam).

Die saubere Profilösung dürfte aber differentiell sein 
(RS-485-Transceiver).


Peter

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.