Forum: Mikrocontroller und Digitale Elektronik ISP STK500 "Problem"


von Stefan (Gast)


Lesenswert?

Hallo,

ich habe ein sehr interessantes Problem beim Programmieren eines Tiny13V 
mit dem STK500.
Ich muss den uC mit gedrückter RESET Taste an das STK anschließen, 
andernfalls bekomme ich die Meldung "ISP Mode Error" wenn ich über 4kHz 
ISP Freq. habe.
Ich gehe davon aus, dass es an dem 100nF und VCC des LM358 liegt, die an 
dem SCK/PB2 hängt. Der grundsätzliche Fehler liegt also am 
Board-Design/mir.
Aber wieso schafft es das STK500 die Last am SCK zu bewältigen, wenn das 
Board aus dem Reset raus angesprochen wird und versagt, wenn es aus dem 
laufenden Betrieb angesprochen wird. Zumal PB2 die meiste Zeit (und 
eigentlich auch dann wenn ich das Board programmieren will) low treibt 
und damit quasi ähnliche Konditionen herrschen, als wenn man das Board 
mit gedrücktem Reset (also leerem Kondensator und unversorgtem LM358) 
anschließt.

Ich brauche keine Lösung, da mir, wie bereits genannt, der Fehler 
bekannt ist, mir geht es mehr darum zu verstehen was da passiert.


Gruß
--Stefan


PS: Falls jemand eine bessere Idee zum Anschluss der folgenden 
Komponennten an den Tiny13 hat, gerne her damit.
1 hochohmige Senke (OpAmp Eingang mit Serienwiderstand)
2 niederohmige Senken (LED, Versorgungsspannung OpAmp)
1 hochohmige Quelle an ADC (Spannungsteiler)
1 niederohmige Quelle an ADC (OpAmp ausgang)

von Jim M. (turboj)


Lesenswert?

ISP zieht den Reset runter zum Programmieren. Mit 'nem großen 
Kondensator dran geht das nicht schnell genug.

Falls ich was flasch verstanden habe: Schaltplan.

von Peter D. (peda)


Lesenswert?

Laß die Prosa, zeig den Schaltplan.

von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Bitteschön...

von Peter D. (peda)


Lesenswert?

Schmeiß den 1nF am SCK raus.

von Stefan (Gast)


Lesenswert?

Und den LM358 + Hühnerfutter ungepuffert betreiben?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Welchen Wert haben R7 und R8? Die 100nF am Reset-Pin sind auch 
überflüssig.

von Stefan (Gast)


Lesenswert?

R7 = 220k
R8 = 120k

Zu C3: Schaden tuts nicht, obs hilft weiß man nicht, also kann es auch 
bleiben... ;-)

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Meiner Meinung nach ist der ISP-Header falsch angeschlossen.

Richtige Belegung:

1 MISO
2 VTG
3 SCK
4 MOSI
5 RESET
6 GND

von Stefan (Gast)


Lesenswert?

Der ISP ist richtig angeschlossen, sonst würde ja das Programmieren gar 
nicht funktionieren...

von Georg G. (df2au)


Lesenswert?

Stefan schrieb:
> 100nF und VCC des LM358 liegt, die an
> dem SCK/PB2 hängt.

Bitte kontrolliere deine Aussage mit Blick auf das Schaltbild. Du hast 
laut Schaltbild MISO belastet. In jedem Fall ist es tödlich, eine ISP 
Leitung so zu vergewaltigen. Da braucht das Interface irre Zeit, um den 
Kondensator um zu laden. Besser den LM aus VCC zu versorgen und als 
Schalter einen FET dazwischen.

von Peter D. (peda)


Lesenswert?

C2 und C5 stören natürlich die Datenübertragung.
Besser IC2/Pin1 über 4,7k entkoppelt an MISO und dafür IC2 über PB4 
schalten.
C5 ist total überflüssig.

Stefan schrieb:
> R7 = 220k
> R8 = 120k

Hä?
Wie soll da der MC Taste losgelassen erkennen?

von nemesis... (Gast)


Lesenswert?

Peter D. schrieb:
> Hä?
> Wie soll da der MC Taste losgelassen erkennen?

Finde ich auch, dass R8 da irgendwie fehl am Platze ist.
Da schwimmt die Spannung ja auf ca. 1/3 V+.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Stefan schrieb:
> Der ISP ist richtig angeschlossen, sonst würde ja das Programmieren gar
> nicht funktionieren...

Ist er nicht. Jedenfalls widerspricht Dein Layout dem von Atmel. Oder 
Dein Kabel hat einige Kreuzungen drin...

von Peter R. (pnu)


Lesenswert?

Den Miso mit 100nF belasten: garnicht gut.

Wenn die Betriebsspannung des LM358 geschaltet werden muss, zwischen 
Miso und Pin 8 des LM358 einen PNP-Transistor als Schalter für VCC 
einfügen. (evtl. einen "Logik-Transistor" nehmen, der den nötigen 
Basiswiderstand schon im Gehäuse mit enthält.)

evtl. hilft ein Widerstand von ca.100...470 Ohm zwischen MISO und 
100nF-Kondensator, ohne zu wenig VCC für den LM358 übrig zu lassen.

von Hannes L. (hannes)


Lesenswert?

Stefan schrieb:
> Zu C3: Schaden tuts nicht,

Da wäre ich nicht so sicher, die Zeiten sind dank BOD vorbei.

> obs hilft weiß man nicht,

Es hat vor Zeiten des BOD geholfen.

> also kann es auch
> bleiben... ;-)

Bei mir nicht.

Stefan schrieb:
> Aber wieso schafft es das STK500 die Last am SCK zu bewältigen, wenn das
> Board aus dem Reset raus angesprochen wird und versagt, wenn es aus dem
> laufenden Betrieb angesprochen wird.

Kann es sein, dass der Tiny13 mit einer geringen Taktfrequenz läuft? 
Also hoher Taktvorteiler CLKPR? Dann solltest Du ihn beim Anlegen der 
Versorgung im Reset halten, damit er nicht durch Anlaufen des Programms 
den Takt runterschaltet und dadurch ISP beeinträchtigt.

...

von Stefan (Gast)


Lesenswert?

Also, es stimmt natürlich, der 100n hängt am MISO, tut an der Sache an 
sich aber nichts ändern.

Der Schaltplan macht schon so Sinn wie er da ist. An PB2 wird z.B. die 
Batteriespannung gemessen UND eine Tastenerkennung gemacht. Daher auch 
C5, da der Spannungsteiler sehr hochohmig ist, um nicht die Batterie 
leer zu saugen.

Es geht mir wie gesagt nicht um das Layout, damit muss ich leben, 
sondern die Frage warum ISP mit PowerUp und aktivem Reset geht, aber 
nicht aus dem laufenden Betrieb heraus.

@Hannes Lux: Der uC läuft auf normalerweise 4,8MHz, kurzzeitig bei 
37,5kHz und liegt die meiste Zeit im Power-down. Ich wüsste aber nicht, 
wie der PSK den ISP beeinflussen würde.

von Stefan (Gast)


Lesenswert?

Kurzer Nachtrag:
Die Obsolenszens von C3 werde ich mir mal genauer anschauen, hat jemand 
dazu eine AppNote?
Und ohne C2 würde ich das Gerät ungerne betreiben, wobei der Wert 
sicherlich noch ein bisschen kleiner sein kann.

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.