Wenn ich das richtig sehe dann müsste man doch das HVPP auch per Hand
machen können. (Atmega 168 ab Seite 275)
Die ganzen Zeitangaben sind Minimum und wenn ich halt ne Minute brauche
um ein byte zuschreiben sollte es doch dem Atmega nicht stören.
Also würde ich einfach
- Reset=0
- XTAL1 6 mal 1-0
- Pegel,XA1,XA0,BS1 = 0
- Reset= 12V
- XA1=1 XA0=0 BS1=0
- Daten= 0100 0000
- XTAL1= kurz 1
- Data= neue Fuses (nigirt)
- WR= kurz 0
- Warten bis RDY=1
(und dann noch die anderen Fuses)
Ist soweit richtig oder mach ich hierbei wieder einen gravierenden
Fehler?
Wenn du es mit Tastern machen willst wird dir das Prellen deinen Plan
durchkreuzen. Müsstest dann an jeden Taster eine monostabile Kippstufe
dranhängen.
Es dürfte aber vermutlich einfacher sein, einen HV-Programmer
nachzubauen.
hmmmmm die idee ist im ansatz gar nicht mal schlecht. allerdings würd
ich das mit einem µC realisieren, der die entsprechenden daten anlegt
und den takt erzeugt.
und danach könnt ihr mir alle eure zerfusedten AVRs zu weihnachten
schenken! ;)
Dann verstehen wir uns falsch...
Die Datenleitung werden werden sich nach kurzer zeit sich ja einpegeln
und das XTAL1 und WR werden mit Pulup /Puldown wiederständen gehalten.
Außerdem müsste ein Impuls doch eh nur den gesteckten Befehl ausführen.
> für die daten mag das gehen, aber was denkst du was passiert wenn dein> taktsignal prellt? ein pullup/pulldown schützt nicht vor kontaktprellen.
Schon klar. Aber nur das Taktsignal reagiert empfindlicgh auf Prellen.
Das ist also die einzige Leitung bei der er mit einem Monoflop/Flipflop
einen prellfreien Puls erzeugen muß. Dann funktioniert das.
Randy
@Ben: Aber eine entsprechende Beschaltung schützt vor prellen.
Vielleicht kann man was einfaches basteln.
@Ralf: Deine Idee hatte ich auch schonmal. Ich hab mir aber ein
HV-Programmer gebastelt und die Idee nicht weiter verfolgt. (war auch
nur just4fun)
Ich hab aber mal mit dem Vellmann K8055 versucht einen AVR zu
programmieren. Hab das Projekt aber nicht weiter verfolgt, da ich keine
Lust mehr hatte. Ich konnte die ID lesen, in den Programmiermodus
wechseln und das Flash auslesen. Nur das schreiben hatte irgendwelche
Probleme gemacht.
Gruß,
SIGINT
also bei mir steht nur tXHXL (Von Lo>Hi bit Hi>Lo) muss min 150ns sein.
ein Maximalwert steht bei hier nicht. Da XTAL1 hier auch nicht als clock
sonder nur zum bestätigen des asynchronen Signals genommen wird ist die
regle hier wohl nicht zutreffend. (Figure 125,126,127 Tabel 129)
müßte man halt schauen ob sich das ding im fast-statischen betrieb an
einer unregelmäßigen clock verschluckt.
die rise/fall times sollten aber schon stimmen.
bei figure 123 ist XTAL1 auch lange aus. all zu groß sollte der C
natürlich auch nicht sein. ein probelm das ich auch sehe ist das wenn
ich ne weile nix mache ob er dann die Einstellungen (adresse...)
vergisst.
Klaus schrieb:
> Wenn ich mal fragen darf, was soll der Schwachsinn überhaupt?
Nein darfst du nicht.
Ben _ schrieb:
> wie ich schon sagte, ich würde es mit einem µC machen. da es ja eine> feste sequenz ist wirds auch von der programmierung her einfach.
wenn ich ein hätte würde ich es ja machen.
Ich versuch es einfach mal und schau dann was schief gegangen ist :-)
>> Wenn ich mal fragen darf, was soll der Schwachsinn überhaupt?> Nein darfst du nicht.
hihi... treffer, versenkt! :)
wenn du keinen µC hast wo willst du dann fuses reinschreiben? du wirst
doch an einen µC drankommen wo du praktischerweise einen vollständigen
8bit port hast... attiny2313, atmega8, at90s2313...
ich hab schon einen der aber leider nicht mehr ansprechbar ist.
Ich kann mir schon einen besorgen aber heute ist der nicht mehr da und
morgen muss ich das Projekt schon vorgestellt werden und ich hätte es
lieber vorher nochmal ausprobiert.
Ich glaub ich muss einfach auf meine Programmierkünste vertrauen und
hoffen das es morgen noch schnell zu Debuggen geht :-)
fürs nächste mal... immer mehr als einen µC parat haben wenn was
zeitkritisch ist! ;) die fuses hat man schneller mal zerballert als man
denkt.
aber mal eine andere frage. weiß du was du an den fuses verstellt hast?
wenns nur die für den takt ist gibts vielleicht noch eine rettung ohne
größeren aufwand (externen takt einspeisen).
wie wird das denn überhaupt getaktet? mit dem internen RC oszillator
oder einem externen quarz? falls quarz, hast du ein oszilloskop? damit
könntest du messen ob dieser schwingt.
Lothar Miller schrieb:
>> wenn ich ein hätte würde ich es ja machen.> Nimm einen PC mit Parallelport und zapple da an den Pins rum ;-)
ich brauch aber 16 i/o's und nicht nur 8
Eigentlich sollte das Ding jetzt mit dem interne 8MHz LC Kreis schwingen
aber es geht nichts mehr.
Sonst hat es ja auch immer geklappt aber beim schreiben muss was falsch
gegangen sein. mit einem externen Takt hab ich es auch schon versucht
hat aber auch nicht geholfen. muss wohl hoffen das es morgen mit einem
neuen klappt.
Hallo zusammen,
ich kann sagen, daß es machbar ist den AVR von Hand zu programmieren.
Ich hab einen AVR nur mit Tastern, Widerständen und Elkos in den
Programmiermodus versetzt und die Signatur ausgelesen. Die Widerstände
und Elkos sind nur zum entprellen der Taster. Anbei noch zwei Videos.
http://www.youtube.com/watch?v=JoLddJtfZTAhttp://www.youtube.com/watch?v=LixFkVP8NDo
Gruß,
SIGINT
Cool,
sogar den Flash kann man von Hand programmieren :-)
Als abolute Notlösung im Feld, ohne PC und Programmer, ist das bestimmt
interesannt - Oder für SM-Liebhaber ;)
Bei Gelegenheit versuch ich mal ein kleines Blink-Programm in den AVR zu
hacken.
Gruß,
SIGINT
Eine eigene Frage?
Dieser Thread ist über 16 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.