Hi! Ich habe gestern einen Satz Atmega16A in ihrer Schaltung per ISP programmiert. Die Platinen waren frisch gelötet, also folgendermassen vorgegangen: 1) Dragon auf 125KHz ISP-Frequenz 2) ID des Controllers ausgelesen, passt 3) Programmiert, Verify, passt 4) Fuses umgestellt: JTAG aus und externer Quarz mit 16MHz 5) Zum Test, dass der Oszillatorteil OK ist, nochmal ID ausgelesen, passt 6) Schaltung und Programm grundsätzlich getestet, OK Bei einer der 10 Platinen ist es nun so, dass die Schaltung und das Programm funktioniert, ich aber nicht mehr per ISP an den Controller komme. Was ist denn da passiert !? Wenn ich den per HV-prog retten will, versau ich mir ganz schön die Platine, wenn ich überall Drähte anlöte :/ Hat jemand eine Idee? Danke und Gruss, Micha
Hi >Du wirst anstelle JTAG das SPIEN disabled haben. Da hilft nur HV-Prog >oder JTAG. Das geht aber mit ISP nicht. MfG Spess
Hi! Stimmt, das könnte sein, das JTAG-Fuse steht direkt über dem SPI-Fuse. JTAG benötigt ja nur ein paar Drähte, das probiere ich mal. Danke und Gruss, Micha
Hi >Stimmt, das könnte sein, das JTAG-Fuse steht direkt über dem SPI-Fuse. >JTAG benötigt ja nur ein paar Drähte, das probiere ich mal. Kannst du dir sparen. Man kann ISP nicht mit ISP deaktivieren. MfG Spess
Hi! Das dachte ich auch. Hast Du noch eine andere Idee? Er war nach dem Umstellen der Fuses für JTAG und Clock nicht mehr ansprechbar. Programm läuft aber - auch mit dem richtigen Takt. Gruss, Micha
> Man kann ISP nicht mit ISP deaktivieren.
Hm... Ich bin mir recht sicher, genau auf diese Weise einen ATMega8
geschossen zu haben (SPIEN disable). Diesen durfte mein Kumpel danach
mit seinem STK500 wiederbeleben.
Benutzt du die ISP-Pins auch als Eingänge? Eventuell stört die externe Beschaltung. Ansonsten kannst du mal versuchen, den Reset-Pin dauerhaft auf Masse zu halten. An einem Atmega 8 hatte ich das mal ein LCD über SCK und MOSI angeschlossen und einen Fehler im Programm, der die Ports total blockiert hat (ständiges hin- und herschalten). Eigentlich sollte das für die ISP-Programmierung egal sein, ich konnte aber trotzdem nicht mehr auf den Controller zugreifen. Den Controller im Reset halten und dann "Chip Erase" klicken hat zum Erfolg geführt, wieso auch immer. Sofern du nicht einen komischen Nachbau hast, sollte das Programmiergerät auch nicht beschädigt werden wenn du Reset auf Masse hältst. Der Reset-Pin sollte (bis auf HV-Programmierung) nur von einem Pullup-Widerstand auf VCC gezogen werden.
Hi! Ja, ich nutze die Pins auch anderweitig. Allerdings bei den 9 anderen Boards auch ;) Schaltung hier: http://www.mikrocontroller.net/articles/RS485_IO_Board_-_ModellBahnLichtSteuerung Habe einen Dragon und ein STK500, werde das nachher mal probieren. Pullup von 10k habe ich an Reset. Gruss, Micha
Hi! Also das mit Reset fest auf Masse geht nicht. Dann rührt sich nix - auch bei einer funktionierenden Platine nicht. Ich habe mal mit dem Oszi bei einer funktionierenden Platine SCK, MOSI und MISO angeschaut. Reger Verkehr, bei zB ID auslesen. Das gleiche bei der nicht funktionierenden gemacht. UPS, was ist das? Eine ID! Es geht, wenn ich mit den Tastkopf am PB7-Pin des ULN2803 messe !? Hm, direkt am ISP-Stecker gemessen. Da gehts nicht! ULN nachgelötet, geht. Erklärung? Von meiner Seite aus keine... Ich habe übrigens China-Platinen, mit denen ich eigentlich sehr zufrieden bin. Nur diese ENIG-Beschichtung, die ich diesmal genommen habe, lässt sich sauschlecht löten. Auch Reinigen mit Atceton und vorverzinnen bringt nicht viel. Danke an alle, Micha
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.