Hallo, ich verstehe jetzt, wie man einen µC Parallel programmieren kann! habe mir nochmal das Datenblatt von meinem µC angeschautt! Kann ich den µC Parallel mit den Händen programmieren, also an den µC Schalter anschließen und in einer bestimmten reihenfolge diese Schalter auf LOW oder HIGH setzten oder braucht man eine feste frequenz? Danke.
Hi Sencer, also ich traue mir nicht zu, mit Schaltern für die Bits und Clock die richtigen Befehlssequenzen von Hand an den AVR zu schicken. Ich wette, dass ich mich da verheddern würde oder dass es Fehler wegen schlechtem Timing gibt. Vielleicht schaffst du das ja, ich sicher nicht. Aber du hast mich auf eine Idee gebracht, die ich leider nicht umsetzen kann, da ich keine "zerschossenen" AVRs liegen habe. Das wäre ein autonomer Parallelbrenner in einem AVR, der nur alle Fuses wieder so setzt, dass man wieder seriell programmieren kann. Also für dich würde sich das lohnen. Wenn du, wie du oben schreibst, das Parallelprogramming (und den Befehlssatz dazu) verstanden hast, dann dürfte das Erstellen eines AVR-Programms dafür kein Problem für dich sein. An einem 8-Bit-Port legst du das Datenbyte, den Rest steuerst du Bitweise. Brauchst dann noch eine Transistorschaltung zum Schalten der +12V auf die Reset-Leitung. Das Teil könntest du dann z.B. "AVR-Retter" nennen. Es kann zwar kein Programm brennen, aber einen vermurksten AVR wieder gefügig machen. Schade eigentlich, dass ich keine vermurksten AVRs rumliegen habe. MfG, Heinz
Ja, daran habe ich auch gedacht! Ich habe mir das so vorgestellt: eine Platine wo man den nicht seriell programmierbaren µC draufsetzt und mit einer Taste wieder in den ursprünglichen zustand versetzt. Und vielleicht noch eine Taste, um den µC zu löschen! Erst aber versuche ich mal meine alten µC freizuschalten!
Hi Sencer, ohne Löschen wird das wohl nicht gehen, denn (wenn ich mich nicht irre) sind bei einigen AVRs einige Fuses nur bei gelöschten Lock-Bit erreichbar und diese löscht man wiederum durch Löschen des Chips. Die korrekte Initialisierung findest du ja im Datenblatt, danach müsstest du den Löschbefehl senden, die Signature-Bytes einlesen um den AVR-Typ zu identifizieren, die zum Typ passenden Default-Werte der Fusebits und Lockbits aus einer Tabelle (im Flash) holen und in den AVR schreiben. Danach den AVR freigeben (Reset & Strom wech). Bedienelemente brauchst du außer einem Schalter und einer "Fertig"-LED eigentlich nicht. Du solltest alle benötigten Signale, also auch den externen Takt an XTAL1 vom AVR erzeugen. Da du 18 (mit VCC 19) Leitungen steuern musst, musst du schon mindestens einen DIL-28 (Mega8 oder 4433) einsetzen, damit du genug Portpins hast. Ein DIL-40 geht natürlich auch. Also jetzt mal Spaß beiseite, das Projekt ist realisierbar und dürfte für dich eine Herausforderung sein. Sicher ist es für den Profi Quatsch, der will dann auch gleich parallel programmieren, aber das ist für dich als Anfänger sicher eine Nummer zu komplex. MfG, Heinz
Bin eigentlich kein Anfeänger, bin nur mit den Fuse-bits überfordert! Ich besorg mir einfach einen ATmega5815(40-DIL) und programmiere ihn so, dass es die Fuse-Bits jedes AVR-µC in den Auslieferungszustand versetzt. Bei diesem µC(ATmega8515) werde ich lieber die finger von den Fuse-Bits lassen. der interne 1MHz Oszialltor müsste reichen! Um Parallel programmieren zu können, muss man am XTAL1-Pin einen Impuls für mindestens 250ns geben. Bei 1MHz wäre das eine Impulsdauer von 1000ns. Also müsste das gehen. Konnte leider mit den Händen den µC nicht in den Auslieferungszustand versetzten!?
Hi Sencer, du bist also kein Anfänger. Ich schon, denn zu den Fortgeschrittenen oder gar Profis zähle ich mich noch lange nicht. Naja, das mit den Fuse-Bits kann schon etwas verwirren, ich habe daher in meinem Eigenbau-ISP-Programm etwas mehr Aufwand für die Darstellung getrieben, lasse mir also die Takteinstellung zusätzlich im Klartext anzeigen. Daher ist die Gefahr recht gering, dass ich eine falsche Taktquelle einstelle. Für sämtliche Fusebits und Lockbits lasse ich mir auch die Defaultwerte (laut Datenblatt) anzeigen, so dass ich im Zweifel nicht mehr im Datenblatt nachsehen muss. Das ISP-Programm ist allerdings für DOS programmiert, es läuft unter WIN98SE im Vollbildmodus. Es hat keine Maus-Klickboxen sondern Rollbalken-Menüs (Pfeiltasten, Enter, ESC). Du willst den "AVRretter" also mit Mega8515 machen. Gute Wahl, da reichen mit Sicherheit die Pins auch für zukünftige Erweiterungen. Die internen 1MHz gehen auch, solange du keine serielle Verbindung zum PC brauchst (soll ja NUR ein autonom arbeitender "Löscher / Resetter" werden und kein Programmer). Ich habe nochmal überlegt, der Zugriff auf den verbastelten AVR dauert doch nicht lange (weit weniger als eine Sekunde), da reicht es doch, wenn man einen Taster in die Stromversorgung schaltet, den man so lange betätigt, bis die "Fertig"-LED leuchtet oder eine "Busy"-LED verlischt. Mit Parallel-Programming habe ich mich bisher noch nicht befasst, meine AVRs konnte ich bisher alle seriell programmieren, Lockbits habe ich bisher kaum gesetzt, wozu auch, sind doch keine Staatsgeheimnisse drin. An den Fuses habe ich bisher nicht mehr verändert als unbedingt erforderlich war, und das ging dank guter Vorbereitung via Datenblatt bzw. durch die eindeutige Anzeige im ISP-Programm bisher immer gut. Jedenfalls wünsche ich dir viel Erfolg. Berichte mal, wenn du es fertig hast. Und mach dir nix draus, wenn ich dich hier und da etwas "belöffelt" habe, es war alles mit Humor gemeint. MfG, Heinz
Danke. Wenn es funktioniert, werde ich die Schaltung hier im Forum veröffentlichen. Somit muss niemand einen µC wegschmeissen oder sonst was!
Oh man, sowas giebt es schon! Na egal, die Schaltung habe ich auch auf der Festplatte. Ich verstand nicht, wozu es gut war. Werde eine bessere Schaltung erstellen, damit es jeder versteht mit beschriftung und so!
Hi,
>Ich verstand nicht, wozu es gut war.
im Readme steht ein Verweis auf ParProg.pas und da steht drin
wazu das gut ist
Gruß
Gunter
da hat gunter recht. allerdings bleibt noch mindestens ein wichtiges feature für dich über: den uC typ erkennen und dann die passenden(!) einstellungen für lock und fusebits laden damit wäre der avr-retter :) dann auch recht universell einsetzbar. dazu schreibst du dann eine gute doku und layoutest ein fertiges board mit nullkraft-sockeln für alle unterstützten uC nur mal so nebenbei: ich hätte interesse an so einer schaltung - geht schneller als immer das stk500 rauszukramen, vor allem da das nur absolut besch...eidene sockel hat
Hi dann würde ich auch ALLE Signale vom Controller steuern (zumindest PAGEL habe ich fest auf GND verdarahtet) und würde darauf achten, daß ich die UART-Pins nicht benutze. Vielleicht kommt ja doch mal eine Erweiterung mit PC- Kommunikation. Gruß Gunter
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.