Forum: Mikrocontroller und Digitale Elektronik Parallel-Modus


von Sencer Soylu (Gast)


Lesenswert?

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

von Matthias (Gast)


Lesenswert?

Hi

RTFM *RTFM* RTFM *RTFM* Seite 181 ff

schnaub

Matthias

von Sencer Soylu (Gast)


Lesenswert?

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?

von Thorsten (Gast)


Lesenswert?

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

von Sencer Soylu (Gast)


Lesenswert?

Aber wenn ich jetzt RESET auf 0 lege und die +12V an Reset schalte
entsteht doch ein Kurzschluss!

von Gunter (Gast)


Lesenswert?

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

von Sencer Soylu (Gast)


Lesenswert?

Tut mir leid,
mir ist die endung .pas nicht bekannt!

von Gunter (Gast)


Lesenswert?

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

von Sencer Soylu (Gast)


Lesenswert?

Danke,
kann jetzt Datei lesen!

von Thorsten (Gast)


Lesenswert?

Warum brauchst du eigentlich den Parallel-Modus ? Willst du Controller
retten ? Wenn ja, bau das Teil doch einfach 1:1 nach.

von Sencer Soylu (Gast)


Lesenswert?

Jo,
ich habe aber einen ATmega8515 und ich will einen ATmega8515 reseten!

von Gunter (Gast)


Lesenswert?

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

von Sencer Soylu (Gast)


Lesenswert?

JO

von Gunter (Gast)


Lesenswert?

gut,

wenns Probleme gibt helfe ich gerne !

Gunter

von Sencer Soylu (Gast)


Lesenswert?

Danke.

von Sencer Soylu (Gast)


Lesenswert?

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!!!

von Gunter (Gast)


Lesenswert?

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

von Sencer Soylu (Gast)


Lesenswert?

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!

von mthomas (Gast)


Lesenswert?

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

von Sencer Soylu (Gast)


Lesenswert?

Daran habe ich auch schon gedacht!
Ich habe es mit Quarzoszialltoren und mit verschiedenen Quarzen
versucht!
Geht nit.

von miwitt001@gmx.de (Gast)


Lesenswert?

"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

von Sencer Soylu (Gast)


Lesenswert?

Das war die INFO die ich die ganze zeit haben wollte, danke schön!!!

von Micha (Gast)


Lesenswert?

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

von Thorsten (Gast)


Lesenswert?

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.

von Sencer Soylu (Gast)


Lesenswert?

Ja, da hst du recht!

von Gunter (Gast)


Lesenswert?

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

von Sencer Soylu (Gast)


Lesenswert?

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?

von Gunter (Gast)


Lesenswert?

äh,
Du hast doch gesagt, daß Du den
"Reset auf 0 legen willst" !
Das IST seriell programming !!!
Bei parallel hat das nix zu suchen.

von Sencer Soylu (Gast)


Lesenswert?

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!

von Gunter (Gast)


Lesenswert?

>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

von Thorsten (Gast)


Angehängte Dateien:

Lesenswert?

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

von Thorsten (Gast)


Lesenswert?

Kleine Frage am Rande: kann es sein, daß es bei Atmel nur Datenblätter
'Preliminary' gibt ? Seltsam !

von Sencer Soylu (Gast)


Lesenswert?

Ich kann einfach due Fuse bits nicht zurücksetzten!
Vielleicht wurde der µC zerstört!?.

von Sencer Soylu (Gast)


Lesenswert?

Weiss nicht?

von Gunter (Gast)


Lesenswert?

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

von Gunter (Gast)


Lesenswert?

@Sencer

was hast Du denn gebaut, um die Fuses zurückzusetzen ???
und poste auch mal Deine Software die Du dazu benutzt!

Gunter

von Sencer Soylu (Gast)


Angehängte Dateien:

Lesenswert?

Ja, ich habe es gabeut um due Fuse-Bits zurück zu setzen!
Mit der Software meinst du bestimmt die ASM-Datei(im Anhang!)

von Thorsten (Gast)


Lesenswert?

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 ?

von Martin S. (Gast)


Lesenswert?

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 !

von Micha (Gast)


Lesenswert?

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.

von Sencer Soylu (Gast)


Lesenswert?

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

von Thorsten (Gast)


Lesenswert?

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.

von Sencer Soylu (Gast)


Lesenswert?

Mit Toggeln meinst du wohl impulse und was meinst du mit Üull-Up ist
nicht aktiviert?

von Tobi (Gast)


Lesenswert?

6 takte abwarten/ an den zu programmierenden uC anlegen.
pullup aktivieren muss nicht, externer pullup ist doch dran wie er oben
geschrieben hat!

von Sencer Soylu (Gast)


Lesenswert?

Danke,
ich werde es mal gleich ausprobieren!

von Sencer Soylu (Gast)


Lesenswert?

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?

von Thorsten (Gast)


Lesenswert?

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.

von Sencer Soylu (Gast)


Lesenswert?

Ich auch nicht, der Programm-Code bleibt bei der Tasten abfrage stehen.

von AxelR. (Gast)


Lesenswert?

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

von Sencer Soylu (Gast)


Lesenswert?

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

von AxelR. (Gast)


Lesenswert?

ja, stimmt er springt solange nach Taste zurück, bis High-Pegel anliegt.

von Sencer Soylu (Gast)


Lesenswert?

Ja

von Walter B (Gast)


Lesenswert?

STK500.

von Sencer Soylu (Gast)


Lesenswert?

Ne, lohnt sich für mich nicht und ist mir zu teuer!

von Gunter (Gast)


Lesenswert?

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

von Sencer Soylu (Gast)


Lesenswert?

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.

von Gunter (Gast)


Angehängte Dateien:

Lesenswert?

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

von Sencer Soylu (Gast)


Lesenswert?

Danke schön Gunter.

von Sencer Soylu (Gast)


Lesenswert?

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?

von Sencer Soylu (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.