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)
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.
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.
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?
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+.
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...
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.
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.
...
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.
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.