mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fuses per Hand programirung


Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Richard U. (ronw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich dachte da eher an ein Kabel das ich an GND oder Vcc stecke

http://i187.photobucket.com/albums/x5/lomy_photo/H...

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

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

Autor: Ben ___ (burning_silicon)
Datum:

Bewertung
0 lesenswert
nicht 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! ;)

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ben ___ (burning_silicon)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Randy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sigint 112 (sigint)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VCC
 |
  -------+-[ ]-+---(XTAL1)
 |       |     |
GND--[ ]-+     =
               |
              GND

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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

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

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

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Ben ___ (burning_silicon)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
außerdem kann mach ja einfach das machen

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

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mal fragen darf, was soll der Schwachsinn überhaupt?

Autor: Ben ___ (burning_silicon)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nur noch eine frage:

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

Autor: Ben ___ (burning_silicon)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: Ben ___ (burning_silicon)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab nur DIV8 weg gemacht aber irgendwas muss beim aufspielen falsch 
gegangen sein.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

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

Autor: Ben ___ (burning_silicon)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sigint 112 (sigint)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sigint 112 (sigint)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.