Forum: Mikrocontroller und Digitale Elektronik Fuses per Hand programirung


von Ralf (Gast)


Lesenswert?

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?

von Richard U. (ronw)


Lesenswert?

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.

von Ralf (Gast)


Lesenswert?

ich dachte da eher an ein Kabel das ich an GND oder Vcc stecke

http://i187.photobucket.com/albums/x5/lomy_photo/HPIM2146.jpg

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Irgendwie trollig...  :-o
Ein Draht, den du irgendwo reinsteckst prellt garantiert noch mehr als 
irgendein Taster.

von Ben _. (burning_silicon)


Lesenswert?

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

von Ralf (Gast)


Lesenswert?

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.

von Ben _. (burning_silicon)


Lesenswert?

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.

von Randy (Gast)


Lesenswert?

> 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

von Sigint 112 (sigint)


Lesenswert?

@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

von Ralf (Gast)


Lesenswert?

VCC
 |
  -------+-[ ]-+---(XTAL1)
 |       |     |
GND--[ ]-+     =
               |
              GND

müsste aber doch helfen und der Pulldown verhindert das im freien ein 
Impuls kommt.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> müsste aber doch helfen
Hast du im Datenblatt mal nach dem Kapitel "External Clock Drive 
Waveforms".
1
tCLCH Rise Time max. 0.5 μs
2
tCHCL Fall Time max. 0.5 μs
Schaffst du die?

Und richtig spannend wirds dann ein paar Zeilen drunter:
1
ΔtCLCL   Change in period from one clock cycle to the next     max 2 %
Da solltest du aber einen Sekundenzeiger an der Uhr haben  :-o

von Ralf (Gast)


Lesenswert?

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)

von Ben _. (burning_silicon)


Lesenswert?

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.

von Ralf (Gast)


Lesenswert?

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.

von Ralf (Gast)


Lesenswert?

außerdem kann mach ja einfach das machen

http://www.elektronik-kompendium.de/sites/slt/0310121.htm

von Klaus (Gast)


Lesenswert?

Wenn ich mal fragen darf, was soll der Schwachsinn überhaupt?

von Ben _. (burning_silicon)


Lesenswert?

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.

von Ralf (Gast)


Lesenswert?

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

von Ralf (Gast)


Lesenswert?

nur noch eine frage:

PC[1:0]:PB[5:0]  heist das PB0=Bit0...Bit5, PC0=Bit6...Bit7

von Ben _. (burning_silicon)


Lesenswert?

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

von Ralf (Gast)


Lesenswert?

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

von Ben _. (burning_silicon)


Lesenswert?

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

von Ralf (Gast)


Lesenswert?

ich hab nur DIV8 weg gemacht aber irgendwas muss beim aufspielen falsch 
gegangen sein.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> wenn ich ein hätte würde ich es ja machen.
Nimm einen PC mit Parallelport und zapple da an den Pins rum  ;-)

von Ben _. (burning_silicon)


Lesenswert?

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.

von Ralf (Gast)


Lesenswert?

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.

von Sigint 112 (sigint)


Lesenswert?

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=JoLddJtfZTA
http://www.youtube.com/watch?v=LixFkVP8NDo



Gruß,
  SIGINT

von Andreas F. (aferber)


Lesenswert?

Und wenn die Versuche zu frustrierend werden, macht man halt den ganzen 
AVR zur "Fuse":

http://www.youtube.com/watch?v=EHOxc-FvaUs&NR=1

SCNR ;-)

Andreas

von Sigint 112 (sigint)


Lesenswert?

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

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.