Forum: Mikrocontroller und Digitale Elektronik Problem mit ISP


von Markus (Gast)


Lesenswert?

Hallo

Habe ein Problem mit dem Flashen von AVRs.

Gesteren Abend wollte ich schnell auf dem STK200 einen 90s8515 
programmieren, habe aber übersehen das sich bereits ein 4433 auf dem 
STK200 befand.

Sofort einen "Health-Check" mit AVR-ISP für beide Kontroller gemacht, 
aber beide Kontroller wurden  nicht erkannt:
"Part not detected - mayby due of Power,FuseBits ...."

Dachte beide Kontroller kaput, egal, Lehrgeld bezahlt und weiter.
Einen neuen,unbenutzen 8515 genommen, dieser wurde aber auch nicht von 
Software erkannt.
Habe dann noch weitere AVRs getestet, alle mit negativen Ergebniss, 
stets der Hinweis:
"Part not detected - mayby due of Power,FuseBits ...."

Versorgungsspannung usw. getestet, alles OK.
Mit weiteren AVR ISP getestet, stehts die obige Fehlermeldung.

Dann das gleiche mit BASCOM und PONYPROG, gleiches Ergebniss, AVRs 
werden nicht erkannt.

Da ich an keiner Einstellung etwas geändert hatte (weder am PC noch im 
ISP-Programm) und die AVRs in Ordnung sind (aktuelles Programm im 
Kontroller wird ausgeführt) vermutete ich das durch den obigen Fehler 
irgendwas an der Hardware des STK200/Dongel kaput gegeangen ist 
(unwahrscheinlich, hatte aber keine andere Erklärung).

Ich habe noch zwei weitere, selbergemachte Dongel (mit 75HCT244, 
Anleitung aus dem Netz), die bisher ohne Probleme funktionierten.
Mit diesen Dongel versuchte ich den 8515 im Zieltarget per ISP zu 
programmieren, also nicht auf dem STK200, aber auch hier negativ, obwohl 
es bisher funktionierte.

Bin nun wirklich ratlos.

Es liegt nun wohl nicht an der AVR-Hardware, sondern an meinem PC.

Dachte das ich den Prallelport zerschossen habe, aber drucken über ihn 
funktioniert.
Auch habe ich mit der Testroutine in BASCOM die Signale >D0,D2, BUSY> 
gezielt an/ein geschaltet, scheint alles in Ordnung zu sein.

Weiss echt nicht weiter, wo kann der Fehler liegen ?
Wohlgemerkt, es funktionierte bisher alles ohne jedes Problem und nun 
auf einmal geht nichts mehr.

Ich habe WIN98 auf dem Rechner.

Vielen Dank für jede Hilfe oder Hinweis, bin echt verzweifelt

gruss Markus

von Markus (Gast)


Lesenswert?

Hopsa, jetzt gibts mich hier zweimal ;)
Kannst Du mir vielleicht einen Gefallen tun und Deinen Namen etwas 
ändern? Sonst kommt hier keiner mehr klar

Dein Problem ist seltsam. Entweder am Druckerport ist was, das den 
Druckvorgang aber nicht beeinflußt oder irgendein Treiber macht 
Probleme. Was anderes fällt mich auch gerade nicht ein.

Gruß
Markus

von magaeb (aka markus) (Gast)


Lesenswert?

Hallo Markus,

hier ist Markus.
Da Markus eigentlich in den Jahrgängen `65-75 mehr ein Sammelbegriff 
ist, weniger ein Name (in der Grundschule waren wir mal 4 "Markuse" in 
einer Klasse)hast du natürlich als "ältere User im Forum" das Vorecht 
auf den Nick "Markus".
Habe nicht darauf geachtet, sorry.

Nehme in Zukunft neuen Nick.

gruss markus

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Das Problem wäre kein Problem wenn hier jeder seinen Vor- und Nachnamen 
angeben würde.

von Mike (Gast)


Lesenswert?

Ich habe mal eine Scanner Software installiert und hatte meinen ISP 
Programmer immer an LPT2 und trotzdem hat der Scannertreiber (sowas zum 
kopieren, nicht Twain) irgendwie an der LPT2 rumgemacht. Also, 
irgendwelche neue Software?

Gruß Mike A.

von Markus Gäbel (Gast)


Lesenswert?

Hallo Mike
Danke für Hinweis

Das ist i.M. Stand der Dinge, sorry das es so lang ist, habe aber echt 
ein Problem und komme nicht weiter:

- meine AVR-Hardware (STK200,Kontroller,Dongel) funktionieren, habe es 
auf einem anderen PC ausprobiert (AVR-ISP)

- gestern alles ausprobiert was mir eingefallen ist
(ParrallePort aus GeräteManagerentfernt, neue Treiber, im BIOS 
herumgespielt etc.)

- als letzter Schritt PC dann formatiert und nur AVR-ISP aufgespielt 
(natürlich auch WIN98 und notwendige Treiber).
Auf LPT1 dürfte so nichts zugreifen. Aber es funktioniert immer noch 
nichts.(wollte PC sowieso über Weinachten neu bespielen)

Der Dongel wird erkannt, aber der Chip nicht.
Irgendwas ist mit meinem ParallelPort wohl nicht in Ordnung.

Ein paar Test hatte ich dann am ParallelPort durchgeführt:

-Mit einem VB-Programm kann ich die Datenbits 0-7 des Ports geziehlt 
einschalten, die gehen also.

-Der Dongel nach Milde http://rumil.de/hardware/avrisp.html hat immer 
sehr gut funktioniert.
Mit den zwei Brücken zw. D1-PaperError (Pin2-Pin12) und 
D2-Busy(Pin3-Pin11) wird der Dongel von AVR-ISP erkannt, habe Port-Pins 
mit Kabel verbunden, Input P12 und P11 funktionieren also auch.

-Das Signal MISO wird über P10 (ACKNOWLEGE) gesendet.
Diesen Input vom ParrallelPort kann ich nicht richtig testen.
Beim Lese/Scheibversuch eines Kontrolers leuchtet zwar die "MISO-LED" 
auf, es werden also irgendwelche Signale gesendet, aber es kommt nur 
Mist heraus.

Leider hatte ich bisher um den ParallelPort immer einen grossen Bogen 
gemacht da dieser nicht Kurzschlusssicher ist und für Versuche immer auf 
den seriellen Port zurückgegriffen.
Ich habe keine richtige Ahnung wie der ParllelPort funktioniert.
Weis nur das

- es gibt 8 Outputs und 5 Inputs
- Pegel +5V => bei mir nur 3,32V, aber as dürfte nicht das Problem sein
- im EEP-Modus könne  bidirektional Daten/Adressen über Datenbts 
gesendet und gelesen werden
- kann im 4Bit oder 8Bit Modus betrieben werden
- zwei Interrupts

Vieleicht hat jemand einen Tip woran es liegen könnte das ich 
anscheinend über MISO(Acknowlege) kein Signal bekomme. Irgendwie tappe 
ich im dunkeln.

Irgendwelche Prüfroutinen wären auch nicht schlecht (PARALEL und 
PARASPED habe ich, alles positiv).

Die zwei anderen Sachen, welche ich sonst mit dem PrallelPort betreibe 
(Drucker und GameBoy-Ctrigde Programmer) funktionieren.

Weiss echt nicht weiter und werde mir wohl einen seriellen Programmer 
machen oder µC als hobby aufgeben, es zehrt ganz schön an den Nerven im 
Moment.

gruss markus

von Frankl (Gast)


Lesenswert?

Bloß nicht den seriellen PonyProgger das hast Du noch mehr Ärger.

von Markus Gäbel (Gast)


Lesenswert?

ARGHHH !!!!!!!!!!!!

Habe mir gerade die Teile für den seriellen Programmr von 
PonyProg/Lancos besorgt.

Dachte mir aber schon im Vorfeld das es hier Probleme geben wird, eine 
richtige Schnittstellentrennung ohne echten Wandler, nur mit Z-Dioden 
und Widerständen sieht nicht gut aus.
Meine serielle schnittstelle liefert nämlich nur ca.11V, nicht wie im 
Standart 15V.

Aber ich probiere es , ich muß unbedingt diesen µC programmiert 
bekommen.

Mich wurmt nur das es mit dem Parallelport nicht mehr funktioniert, ging 
die ganze Zeit ohne jedes Problem.

markus gäbel

von Frankl (Gast)


Lesenswert?

Wie schon mehrmals hier im Forum gesagt ist die Paralleschnittstelle 
nicht ganz ungefährlich. Auch wenn Widerstände in den Verbindungen 
liegen. Die 5V vom Target können durch Unterbrechung des GND am 7805 
schön auf Uein hochlaufen. Oder Induktivelasten die nicht richtig 
abgeblock sind. Bei einem Netzdimmer ganz zu schweigen.
Beim seriellen PonyProg darf auch keine Last an den Prog-Eingängen 
liegen. PonyProg ist mal als Programmer für den einzelnen AVR (außerhalb 
des Zielsystems) gebaut worden. Das sieht man schon an denn 
Adapterplatinen.

von Peter D. (peda)


Lesenswert?

Ich empfehle Dir auch, vom PC nur über die COM zu programmieren.
Damit hatte ich noch nie Ärger.
Da macht das kritische Timing ein extra µC völlig unabhängig vom PC.

In meinem uralt Atmel-STK ist dazu ein AT89C2051 drin. Neuere Versionen 
arbeiten wohl mit einem AT90S1200. Genaueres dazu solltest Du auf der 
Atmel Webseite bzw. unter AVRfreaks finden.

Auch mein Eigenbau-Programmer arbeitet mit einem extra µC:

http://www.specs.de/~danni/tools/proflash/index.htm


Du must bloß einmal den benötigten µC mit der Programmiersoftware 
programmieren bzw. z.B. bei Segor programmieren lassen.

Danach hast Du nie wieder Ärger.


Von PonyProg rate ich dringend ab.
Bei einigen läufts gerade so, bei anderen eher schlecht und manche 
kriegens nie zum Laufen.


Peter

von Peter D. (peda)


Lesenswert?

Hier der Programmer mit dem AT90S1200:

http://www.atmel.com/atmel/acrobat/doc0943.pdf


Peter

von Markus Burrer (Gast)


Lesenswert?

Der funzt ganz gut. hab ihn mal aufgebaut. Leider hab ich's noch nicht 
geschafft, damit neuere Megas zu proggen. Hat da schonmal jemand was 
gemacht?

von Matthias (Gast)


Lesenswert?

Hallo,

Ich halte auch nichts davon, wenn der PC und Windoze versuchen, das 
ISP-Timing zu übernehmen ... !

Mit welcher Software arbeitet Atmel's AT90S1200 - Programmer zusammen ?

Leider unterstützt der Programmer aber nur wenige AVR's, oder ?

Warum entwickelt nicht mal jemand einen AVR basierenden ISP-Programmer, 
der alle AVR's unterstützt ?


Gruß
Matthias

von Markus Burrer (Gast)


Lesenswert?

kommt noch. eine RS232 und eine USB Version. Soll auf dem Mega8 Basieren 
und einen Bootloader bekommen, damit man ein Firmwareupdate machen kann

von Matthias (Gast)


Lesenswert?

Hallo Markus,

>kommt noch. eine RS232 und eine USB Version. Soll auf dem Mega8
>Basieren und einen Bootloader bekommen, damit man ein
>Firmwareupdate machen kann

OpenSource ?

Für viel Geld, kann man solche heute schon kaufen ...


Gruß
Matthias

von Markus Burrer (Gast)


Lesenswert?

Ne, sorry. Von OpenSource kann ich nicht leben.

von Matthias (Gast)


Lesenswert?

Hallo,

ich hatte eine uralte Version der Firmware für den AT90S1200.

Die neue Firmware ( Version 2.2) unterstützt alle AT90S..., zwei 
ATtiny... und einige ATmega... .

@Markus:
> Ne, sorry. Von OpenSource kann ich nicht leben.

Wenn du davon leben möchtest, bist du auch nicht an meiner Mitarbeit 
interresiert, oder ?


Gruß
Matthias

von Matthias (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Markus,

ich habe eine AVR910 - Modifikation gefunden, um anstatt den AT90S1200 @ 
4 MHz
einen AT90S8515 @ 8 MHz zu verwenden.

Evtl. wird sie dir für dein Projekt nützlich sein ...


Gruß
Matthias

von Markus Burrer (Gast)


Lesenswert?

@Matthias: für eine eventuelle Mitarbeit könnte ich im Moment wenig 
zahlen. Trotzdem danke für das Angebot.
Danke für den 8535 Mod. Hab mir den Code kurz angeschaut. Ist 
anscheinend wirklich nur ein 1:1 Port auf den 8535. Für mein Projekt 
möchte ich schon den UART des Controllers verwenden. Ob die Verwendung 
der SPI Schnittstelle möglich und sinnvoll ist muß ich noch checken.
Als Controller möchte ich mindestens den Mega8, möglicherweise sogar den 
Mega16 einsetzen. Grund: Bootloader.
Geplante Funktionen: ISP und JTAG Programmierung aller AVR und AT89, bei 
3,3 und 5V und bei jeder Taktfrequenz. Dabei möglichst optimierte 
Programmierzeiten.
Zweite Version mit USB
Ob ich ein bereits vorhandenes Protokoll (z.b. vom Studio) verwenden 
kann muß sich erst noch herausstellen. Ich würde schon ganz gerne das 
STK500 Protokoll (ist das überhaupt öffentlich) nachbilden, kann aber 
aufgrund der geplanten Funktionen schwierig werden.

Gruß
Markus

von Matthias (Gast)


Lesenswert?

Hallo Markus,

das STK500 Protokoll ist öffentlich: 
http://www.atmel.com/atmel/acrobat/doc2525.pdf

Hier ist das Protokoll zwischen JTAG-ICE und dem AVR-Studio: 
http://www.atmel.com/atmel/acrobat/doc2524.pdf

>und bei jeder Taktfrequenz. Dabei möglichst optimierte >Programmierzeiten.

Welche Taktfrequenzen unterstützt das AVR910 ?


Gruß
Matthias

von Markus Burrer (Gast)


Lesenswert?

Danke. Das STK500 hatte ich gefunden, das JTAG noch nicht. Ein Studium 
des Protokolls hat mir aber gezeigt, das es schwierig werden könnte, das 
Protokoll 1:1 zu übernehmen. Muß ich aber noch sehen.
Das AVR910 unterstützt im prinzip alle Frequenzen. Es geht halt von der 
niedrigsten aus. Aber versuch mal, damit einen Mega128 oder so komplett 
zu Programmieren -> Kaffeepause ;)
Man kann da deutlich mehr raushohlen, wenn man die Taktrate der SPI 
Schnittstelle an den Takt des Ziels anpasst.
Und wie gesagt, ich hab noch ein paar andere Sachen vor, die AVR910 und 
auch AVRPROG vom AVR Studio nicht bieten

Gruß
Markus

von Markus Gäbel (Gast)


Lesenswert?

(Ich bin der Markus mit dem Parralel-Port Problem, nicht Markus Burrer)

@Peter Danneger
Ich habe deinen Vorschlag aufgenommen und den ISP-Adapter mit dem 1200er 
nach den Atmel-Appnotes 910 nachgebaut.
Ich sehe ein Forum nicht als Möglichkeit vorgekaute Lösungen für Lau zu 
bekommen, aber ich brauche jetzt eine "Anleitung für Doofe", das hier 
ist etwas was ich noch nie zuvor gemacht habe und im www habe ich auch 
nichts gefunden was mir weiter hilft.
Ich habe mich echt damit beschäftigt, aber ich komme nicht weiter.
Denn Aufbau habe ich jetzt zweimal aufgebaut (auf PCB), weil ich zuerst 
dachte das dort eun Fehler war,FYI.

Der Programmer wird doch über ein Terminal-Programm 
angesprochen/programmiert, oder ?
Welches hast du verwendet ?
Wenn nein, wie dann ?

In dem Thread http://www.mikrocontroller.net/forum/read-1-15289.html 
"AVR-ISP bei ATmega128" erscheint es mir so als das der Programmer auch 
mit dem im AVR-Studio 3 enthaltendem Tool >AVRPROG< programmiert werden 
kann, sehe ich das richtig ?

Danke

gruss markus

von Jonas Hilt (Gast)


Lesenswert?

exakt ;-) mit AVR-PROG

Erweiterung auf andere CPU's ist recht simpel. Man muss nur den 
Device-Code in die Firmware hinzufügen.

Hat jemand mal getestet, ob man mit dem Upgrade auch den 128er 
programmieren kann? Theoretisch funktioniert das... Habe gestern ja den 
Code dafür gepostet...

J.

von Markus Gäbel (Gast)


Lesenswert?

hallo jonas

danke für hinweis

wenn der ISP-Programmer mit 1200er mit dem AVR-PROG zusammenarbeitet ist 
mein Aufbau falsch.
Also noch mal :-(

gruss

von Frankl (Gast)


Lesenswert?

Du kannst mit dem ISP Programmer AVR910 direk aus dem Studio 3,55 
programmen. 4.0 traue ich nicht.

von Markus Gäbel (Gast)


Lesenswert?

Der ISP-Programmer läuft aus der Appnotes avr910 läuft jetzt,. meine 
Prgrammierprobleme scheinen nun endlich behoben zu sein.

Vielen Dank an alle für die Hilfe.

gruss markus

von Jörg Maaßen (Gast)


Lesenswert?

Hat schon jemand die Assembler-Datei für die neueren AVR's erweitert?

Gibt es Einschränkungen oder Erweiterungen mit dem Programmer aus AVR910 
gegenüber dem Parallel-Programmer?

Bei manchen Programmern ist auf PIN 3 ein Anschluß für LED vorgesehen. 
Wird das vom AVR-910-Programmer unterstützt (einige Schaltungen 
verwenden den Port zur umschaltung der Portpins mittels 74HC4053).

Gruß

Jörg

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.