HI, kann mir jemand bitte kurz aufliesten, wie ich in den Parallel-Programming-Modus beim ATmega8515 reinkomme? Also erst +5V an den ATmega8515 legen 100µs warten und weiter? Wie komme ich in den Parallel-Programming-Modus? Danke schön. Mit freundlichen Grüßen Sencer Soylu
Ich weiss, da sind aber zwei! Ich habe es mehrmals versucht, ich habe den eindruck das ich garnicht im Parallel-Programming-Modus programmiert habe! Ich bin verzweifellt! Könntest du mir bitte es hier im Forum aufliesten, was ich alles machen muss um in disen MODUS zu gelangen?
1. +5V anlegen 2. /RESET und BS auf 0 legen, dann 100ns warten 3. 12V an /RESET anlegen, 100ns warten Schon bist du im Parallel-Modus (Datenblatt Seite 71 ff).
Aber wenn ich jetzt RESET auf 0 lege und die +12V an Reset schalte entsteht doch ein Kurzschluss!
Hi, IIRC geht das beim 8515 genauso wie beim Mega8. Mußt halt mal die Datenblätter vergleichen. Dann hilft Dir vielleicht http://www.e-lab.de/downloads/diverse/ParProg2.zip Der funktioniert und mit dem kurzen .pas-File sollte auch ein ASM/Basic-Programmierer klar kommen. hth Gunter
Hi, besorg Dir das Teil und entpacke es. Da findest Du dann ein File "Parprog.pas" = Pascal Source. Da steht drin, wie man in den parallel Mode kommt und wie man dann Bytes schreibt. Das Lesen von Bytes geschieht dann analog dazu. hth Gunter
Warum brauchst du eigentlich den Parallel-Modus ? Willst du Controller retten ? Wenn ja, bau das Teil doch einfach 1:1 nach.
Mann, dann vergleiche die Datenblätter, ändere ggf. die Werte für die Fuses, compiliere das Teil mit der kostenlosen Demo-Version, bau die Schaltung mit der richtigen Pinbelegung nach und dann gehts. Als Muster wird es doch genügen !!! Ich werde mir jetzt keinen 8515 besorgen und das Teil anpassen. Das mußt Du schon selber tun. Gunter
Sorry das ich nochmal stören muss! Leider funktioniert das nicht, ich weiss nicht warum. Ich denke, es liegt nur an dem Teil, wo ich ins Parallel-Programming-Modus rein will! Offensichtlich komme ich nicht in diesen blöden MODUS, darum funktioniert das auch mit dem reseten nicht! Und oben beschriebn soll ich RESET auf 0(MINUS) legen und dann +12V auf Reset schalten. Das kommt doch einem Kurzschluss gleich!? Ich wäre sehr sehr dankbar, wenn jemand bitte jetzt ausgedrückt: "dummen verzweifelten" Menschen genau erklären würde, wie ich bei einem ATmega8515 in den Parallel-Programming-Modus komme!!!
Hi, Du hast da noch ein grundsätzliches Verständnis-Problem ! Der uC wird NICHT in einen parallel-Mode versetzt und dann geht es (wie gehabt seriell über MISO/MOSI etc.) weiter. Parallel Programming ist etwas ganz anderes und funktioniert (über -viele- ) andere Pins und komplett unterschiedlich. Das hat nix mehr mit ISP zutun ! NICHT der uC wir in einen Mode _versetzt_ , sondern das ist ein GANZ EIGENER MODUS in dem dan programmiert wird. Das ganze Zeug mit MISO/MOSI hat da nix zu suchen: das ist SERIELL (!!!) programming. Klar ? Sonst fragen ! Gunter
Ich weiss, im Parallel-programming-Modus werden über 8 Datenleitungen programmiert und dazu sind noch andere Pins notwendig! Ich will doch nur wissen, wie ich in diesen Modus komme, was für zustände(1/0) muss ich jetzt an die Pins legen, damit ich in den parallel-programming-Modus gelange? Denn rest schaffe ich selbst!
duerfte doch mit hoher wahrscheinlichkeit nur eine "verstellte" clock-source sein. warum nicht erstmal mit dem zweiten AVR einen takt an einem der port-pins erzeugen (einfach mit Timer PWM/CTC), diesem pin mit XTAL1 des "nicht-ansprechbaren" avr verbinden und mal schauen, ob man mit "normalem serial ISP" wieder "reinkommt". wenn von mir zu unklar formuliert: forensuche, wurde im forum schon 1*10^5 mal durchgekaut. ist ein fehler bei "clock-source" ausgeschlossen, kann man immer noch parallel-high-voltage-programming mit extra hardware versuchen (neuen AVR kaufen duerfte "wirtschaftlicher" sein).
Daran habe ich auch schon gedacht! Ich habe es mit Quarzoszialltoren und mit verschiedenen Quarzen versucht! Geht nit.
"und oben beschriebn soll ich RESET auf 0(MINUS) legen und dann +12V auf Reset schalten. Das kommt doch einem Kurzschluss gleich!?" Du sollst net 12V und 0V gleichzeitig anlegen, sondern ERST 0V und DANACH 12V (und natürlich die 0V wieder abklemmen, sonst gibts echt nen Kurzschluss) mfg Michael
Der Döner-Mensch fragt auch JEDESMAL nochmal nach, ob mit oder ohne. Muss wohl an meiner Fragestellung liegen, aber das ist eine andere Geschichte .... nichts für ungut. :-) VG, Micha
Gunter hat doch ein Link zu nem zip-File gepostet. Hat du dir eigentlich mal den Schaltplan darin angesehen ? Beschalte dein Reset doch genau so, wie dort angegeben. Dann ist ein Kurzschluss völlig unmöglich.
Hi @Thorsten ich hab es mittlerweile (fast) aufgegeben. Er rafft einach nicht, daß parallel und SPI zwei völlig verschiedene Stiefel sind. :-( @Michael ich finde es nicht gut, hier Halbwissen und Vermutungen (ohne Hinweis darauf) als Facts zu posten. Zeig mir mal wo für den parallel Mode geschrieben steht, daß man "erst 0V anlegen soll" ! Das ist Humbug !!! Der OP versteht nicht, daß SPI und parallel zwei Stiefel ... (s.o.) @Sencer ich habe das verlinkte Teil erstellt, gebaut und mir damit meine uCs zurückgesetzt. Anderen hat es auch schon geholfen. Vergiß es "in den parallel Mode zu kommen und dann mit Pony- Prog weitermachen zu wollen". Gunter
Ich weiss ich weiss, Seriell und Parallel-Programming sind zwei verschiedene Sachen. Ich weiss das!!! Wo habe ich hier denn gesagt, dass ich mit einem Seriellen-Programmer drauf zugreifen will?
äh, Du hast doch gesagt, daß Du den "Reset auf 0 legen willst" ! Das IST seriell programming !!! Bei parallel hat das nix zu suchen.
Doch, bei mir im Datenblatt und oben bei Thorsten steht, das man erst RESET auf 0 legen muss und dann auf +12 legen muss damit man in den Parallel-Programming-Modus gelangt! Natürlich vorher wieder RESET auf 1 damit kein Kurzschluss entsteht!
>bei mir im Datenblatt ... steht >das man erst RESET auf 0 legen muss wo (BEIM PARALLEL MODE) ? Seite und Ausgabe ! Dann lad ich mir das Montag mal runter
Zunächst muß ich mich entschuldigen, in meinem aller ersten Posting hab ich falsche Zeiten angegeben. Hab versehentlich das Datenblatt vom 90S8515 erwischt. Im Anhang aber ein Auszug aus dem Datenblatt des ATmega8515, ist doch eigentlich selbsterklärend. Dazu die Schaltung aus Gunters Link und alles sollte funktionieren. Mit dieser Schaltung erledigt sich auch dies: > Natürlich vorher wieder RESET auf 1 damit kein Kurzschluss > entsteht! So, und wo genau ist jetzt noch das Problem ? Thorsten
Kleine Frage am Rande: kann es sein, daß es bei Atmel nur Datenblätter 'Preliminary' gibt ? Seltsam !
Ich kann einfach due Fuse bits nicht zurücksetzten! Vielleicht wurde der µC zerstört!?.
Hi, @Thorsten > kann es sein, daß es bei Atmel nur Datenblätter >'Preliminary' gibt ? Seltsam ! hab ich bei vielen Herstellern schon gesehen. Scheint bei den Amis so üblich. Vermutlich müssten die sonst mit Klagen rechnen, weil nicht erwähnt ist, daß Mikrowellen, gesteuert mit diesem Chip, nicht für das Trocknen von Katzen geeignet sind. ;-) --> forget it ! Schöne Grüße Gunter
@Sencer was hast Du denn gebaut, um die Fuses zurückzusetzen ??? und poste auch mal Deine Software die Du dazu benutzt! Gunter
Ja, ich habe es gabeut um due Fuse-Bits zurück zu setzen! Mit der Software meinst du bestimmt die ASM-Datei(im Anhang!)
Schön ! Richtig genial wäre es noch, wenn du uns erklärst, was du dir bei den einzelnen Zeilen gedacht hast. Irgendwie blendet mein Editor all deine Kommentare aus. Ein Schaltbild wäre auch nicht schlecht, denn woher soll jmd. wissen, wofür z. B. > sbi PORTB, 6 > cbi PORTB, 6 > cbi PORTB, 1 > sbi PORTB, 1 ist. Mal ganz abgesehen davon würde ich nach jedem Befehl ein kurzes delay einfügen (z. B. ein paar NOPs). Auszug aus dem Datenblatt: > Set RESET to 0, wait for at least 100 ns and toggle XTAL1 at > least six times. Wo zum Henker ist dein "toggle XTAL1 at least six times" ????? Jetzt kontzentrier dich mal, und mach genau das, was im Datenblatt steht. Blöde Frage: Englisch kannst du, oder ?
Hey, mach mir den armen Sencer nicht so an! ein 14? jähriger Knabe (siehe anderes Posting) mit Spaß an der Bastelei ist nicht so fit in der Sache wie ihr alten Hasen !
Was für eine Aussage... und ein 14? jähriger Knabe kann sich natürlich keinen neuen 4515 bei Reichelt für max. 4,35 Euronen bestellen, weil Taschengeld- probleme, ist ja klar. Nun, wenn es so ist, dann kann er hierbei gleich lernen, dass wenn ich mein Problem gleich ausführlich beschreibe, ich auch eine Antwort bekomme, die besser auf das Problem abgestimmt ist. Jeder hier teilt gern sein wissen, und nimmt sich im Gegen- zug das, was er für sein Handwerk benötigt. ABER: Meistens hat niemand Zeit und Lust, den kompletten Thread durchzulesen, weil jemandem alle Sachen erst nach 40 Frage/Antwortspielchen aus der Nase gezogen wurde. Micha PS.:Vielleicht haben die deshalb die verdammten Datenblätter auf Englisch verfasst, um sich die FSK oder den Verweis auf gewisse Grundlagen, durch die man sich wühlen muss, zu ersparen.
Also, ich bin 15 und habe einen ATmega8515 auf den ich nicht mehr zugreifen kann und auch noch zwei ATtiny26, das gleiche problem! Und ich freue mich, dass ihr mir alle hilft:) Da wäre es bei mir doch bei 3 µC sinnvoll, wenn ich alle zurücksetzen könnte! Und wozu NOPs? die dinger verbrauchen 1µs, dass ist doch nicht nötig! Bei 1 MHz werden die Befehle jede µs ausgeführt. Tut mir leid, aber einen vernünftigen Schaltplan habe ich nicht! Und hier ist die Beschaltung der PINS: PIN1 = OE PIN2 = WR PIN3 = BS1 PIN4 = XA0 PIN5 = XA1 PIN6 = PAGEL PIN7 = XTAL1 PIN8 = BS2 PIN10 = +5V PIN11 = +12V (an NPN-Transistor) PIN12 = RDY/BSY PIN13 = LED (Ready!) PIN14 = Taste (an +5V mit PullUp-Widerstand an Masse!) Danke schön
Ich hoffe du hast das nicht falsch verstanden, ich wollte dich auf keinen Fall blöd anmachen, wie Martin meint. Die Sache mit den NOPs kann ich nur aus eigener Erfahrung sagen. Gerade beim fliegenden Aufbau (längere Leitungen etc.) sind die Flanken der Impulse nicht so sauber. Das führt oft zu Problemen, die aber durch eine kleine Verzögerung behoben sind. Lange Ausführungszeit schadet in diesem Fall nicht, trägt nur zur Sicherheit bei. In dem Link von Gunter sind übrigens auch delays drin, aus gutem Grund ! Zu deinem Programm, folgendes ist mir aufgefallen: 1. Pull-Up für Taste ist NICHT aktiviert 2. Schritt 2 (Datenblatt) fehlt: /RESET auf Null, dann 100ns warten, anschließend XTAL1 mindestens 6 mal toggeln Ohne dieses toggeln geht der Chip nicht in den parallelen Modus, probier das einfach mal.
Mit Toggeln meinst du wohl impulse und was meinst du mit Üull-Up ist nicht aktiviert?
6 takte abwarten/ an den zu programmierenden uC anlegen. pullup aktivieren muss nicht, externer pullup ist doch dran wie er oben geschrieben hat!
Hallo, ich glaub, ich weiss woran ich die ganze zeit gescheitert bin! Ich habe am Ende des Codes keine schleife eingebaut, wenn man das nicht macht, läft der Programm-Code immer von forne ab. oder?
Schon, aber du fragst ja eine Taste ab und erst nach dem Drücken fängst du ja mit dem Fuse-Bits zurücksetzen an. Aber du hast schon recht, am Ende sollte eine Endlosschleife sein. Ich glaube aber nicht, daß dies die Ursache ist.
Hi, Leute. ich steh' immer bei sbis und sbic auf'm Schlauch. Schreib dochmal sbic PIND,4, nur so zum TEst, also ich bring das immer durcheinander! --- ;Taste Taste: sbic PIND, 4 rjmp Taste --- Grüße Axel Rühl
Ja, dann würde das Programm die Schleife bei einer Negativen Spannung verlassen. Geht aber auch ganz gut mit sbis, mit einer positiven Spannung! So kannst du dir das am besten merken: sbis = s = set sbic = c = clear
Hi Sencer, ich habe mir jetzt mal das Manual vom 8515 besorgt. Jetzt versteh ich auch, was Ihr mit 0V an Reset meint. Das ist die "erste Methode" die im Manual beschrieben ist. Die habe ich gleich verworfen, da sie nicht funktioniert wenn "external Crystal ..." eingestellt ist. Da man dies i.A. nicht ausschließen kann, habe ich gleich die "zweite Methode" realisiert, die immer funktioniert. Der 8515 wird genau so programmiert, wie der Mega8. Sogar die Default Fuse-Bytes sind identisch. Also würde der ParProg auf Anhieb funktionieren. Wenn Du als Programmer auch einen 8515 nehmen willst, kann ich Dir höchstens noch anbieten, daß ich das Programm für den 8515 compiliere. Die benutzten Ports möchte ich aber nicht ändern - da schleichen sich sonst zu leicht Fehler ein. Gruß Gunter
Das wäre sehr nett! Ich habe es mehrmal versucht, es funktioniert aber leider nicht. Und ich kann leider nicht sicher sein, ob bei mir external Crystal eingestellt ist, ich habe es immer mit der ersten methode versucht! Ich bitte dich mir das ganze für meinen 8515er zu Compilieren.
Hi, achte darauf, daß Du einen NEUEN 8515 (mit internem Takt 1MHz) als Programmer nimmst und die Ports analog den Bildern beim ParProg_2_ verdrahtest ! Wenn das stimmt, funktioniert es auch. Ich habe schon mehrere Bestätigungen von Leuten die das Teil nachgebaut haben. Gunter
Hi, ich habe erst versucht, meinen ATmega8515 zu lesen! Ich habe einfach 8 LEDs an den µC angeschlossen. Bei den Fuse-LOW-Bits leuchtet nur die 3. LED also: 00000100 Und bei den Fuse-HIGH-Bits leuchtet keins = 00000000 Bei Fuse-LOW die letzten 4 = 0000 0100 0100 beduetet das der µC mit dem internen 8MHz Oszillator arbeitet, aber dann müsste ich eigentlich drauf zugreifen können! Aber es geht nicht, ist die logik der 1 und 0 verdreht oder wie?
HI, mit deiner HEX-File und mit der Schaltung ParProg funktioniert es leider auch nicht, der µC wurde wohl zerstört! Aber ich danke dir Günter und den anderen hier im Forum das ihr mir gehollfen habt! Danke schön.
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.