Willkommen in unserer Community

Werde Teil unserer Community und registriere dich jetzt kostenlos ...

Registrieren
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Wie Fuse-Bits setzen?

Dieses Thema im Forum "Software" wurde erstellt von uwe-ftechnik, 5. Februar 2009.

  1. uwe-ftechnik

    uwe-ftechnik
    Expand Collapse
    Neues Mitglied

    Registriert seit:
    31. Januar 2009
    Beiträge:
    65
    Zustimmungen:
    0
    Habe hier zB. ein ATMEGA 164P mit volgender angabe aus dem Datenblatt.

    Device Clocking Option_______________CKSEL3..0

    Low Power Crystal Oscillator_________1111 - 1000
    Full Swing Crystal Oscillator__________0111 - 0110
    Low Frequency Crystal Oscillator______0101 - 0100
    Internal 128 kHz RC Oscillator_______________0011
    Calibrated Internal RC Oscillator_____________0010
    External Clock____________________________0000
    Reserved________________________________0001

    Wie muss man die Einstellung setzen (CKSEL u. SUT) wenn mann Externen Quartz mit 8Mhz Bzw. 16Mhz betreiben möchte?
    Calibrated Internal RC Oscillator dürfte klar sein, External Clock müsste für einzelnen Tackt an XTAL1 sein auch Internal 128 kHz RC Oscillator dürfte nicht unklar sein.Ich komme mit dem Dattenblatt nicht so gut klar!!!!!!!
     
    Collapse Signature Expand Signature
  2. Dirk

    Dirk
    Expand Collapse
    Administrator
    Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    3.270
    Zustimmungen:
    14
    Sprachen:
    C, Assembler, Pascal
    Hallo Uwe,

    für einen Quarz 8MHz bis 16MHz kannst du folgende Fuse-Einstellungen verwenden:

    CKSEL[3..0] = 1111
    SUT[1..0] = 11

    "1" bedeutet Fuse nicht programmiert.

    (Angaben wie immer ohne Gewähr :D)

    Grüße,
    Dirk
     
    Collapse Signature Expand Signature
  3. Markus

    Markus
    Expand Collapse
    BASCOM-Experte

    Registriert seit:
    11. Januar 2008
    Beiträge:
    1.160
    Zustimmungen:
    0
    Hi uwe-ftechnik!

    - Für einen externen Quarz mit einer Geschwindigkeit von 8.0 bis 16.0 MHz setzte ich CKSEL3..1 auf 111.
    - CKSEL0 setzte ich auch auf 1.
    - SUT1..0 setzte ich auf 10 bzw. 11 je nachdem wie sauber das Quarz anschwingt. Meist verwende ich 11.

    ACHTUNG bei den Fuses: 0 bedeutet programmiert, 1 bedeutet nicht programmiert!

    Ein paar Worte zur Erläuterung:

    CKSEL
    Die wohl am häufigsten geänderten Fusebits sind CKSEL0 bis CKSEL3 (Select Clock Source). Mit ihrer Hilfe wählt man die Taktquelle aus der der Controller seinen Takt erhält. Hier ist etwas Vorsicht geboten da eine falsche Einstellung den Controller lähmen kann. Eine falsche Einstellung lässt sich jedoch relativ leicht beheben. Die genauen Parameter können zwischen den einzelnen Typen variieren
    Default: Interner RC Oszillator mit 8MHz
    CKSEL0 : 0 (programmiert)
    CKSEL1 : 1 (unprogrammiert)
    CKSEL2 : 0 (programmiert)
    CKSEL3 : 0 (programmiert)


    SUT
    Mit SUT0 und SUT1 lässt sich die Zeit einstellen wie lange der Reset Impuls nach einem Reset oder Power Up verzögert wird. Je nach Umgebungsbedinung kann die Reset Zeit verlängert oder verkürzt werden. Zusammen mit der Brown Out Detection wird eine externe Resetschaltung (bis auf den üblichen 10kOhm PullUp Wider-stand) meist überflüssig.
    Default:
    SUT0 : 0 (programmiert)
    SUT1 : 1 (unprogrammiert)
     
    Collapse Signature Expand Signature
  4. Markus

    Markus
    Expand Collapse
    BASCOM-Experte

    Registriert seit:
    11. Januar 2008
    Beiträge:
    1.160
    Zustimmungen:
    0
    Uuups...

    ... jetzt war Dirk schneller :p
     
    Collapse Signature Expand Signature
  5. Dirk

    Dirk
    Expand Collapse
    Administrator
    Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    3.270
    Zustimmungen:
    14
    Sprachen:
    C, Assembler, Pascal
    Naja, dafür war ich aber nicht so ausführlich wie du :D

    Außerdem ... doppeltgemoppelt hält besser ;)
     
    Collapse Signature Expand Signature
  6. Markus

    Markus
    Expand Collapse
    BASCOM-Experte

    Registriert seit:
    11. Januar 2008
    Beiträge:
    1.160
    Zustimmungen:
    0
    Und wenigstens kamen wir zu dem gleichen Ergebnis :cheers:
     
    Collapse Signature Expand Signature
  7. Steinschnüffler

    Steinschnüffler
    Expand Collapse
    Neues Mitglied

    Registriert seit:
    21. Februar 2009
    Beiträge:
    5
    Zustimmungen:
    0
    Fusebits in Bascom

    Hallo zusammen,
    habe heute schon vergeblich versucht einen anderen Takt mit Bascom über die Fusebits bei einem Atmega8 einzustellen.
    Vielleicht hat mir jemand einen kleinen Tip wo der Fehler liegt!?

    was mich noch wundert, ist das, dass bei dem Fusebit High M Pin PC 6 als I/O Pin erscheint..:confused: ist aber die originaleinstellung und Reset funzt auch:confused:

    wenn ich bei dem Fusebit KLA 987 einen anderen Takt einstelle und dann über Write FS die Änderung in den µC schreiben will dann blinken auch die LED's am Programmer (mySmartUSB V2.11) der µC macht einen Reset aber die Änderung ist nach einem Refresh der Bits nciht gespeichert:confused: :confused:

    Also vielleicht weiss jemand Rat
    vielen Dank im voraus

    Gruss Heinz
     

    Anhänge:

  8. Markus

    Markus
    Expand Collapse
    BASCOM-Experte

    Registriert seit:
    11. Januar 2008
    Beiträge:
    1.160
    Zustimmungen:
    0
    Sorry Heinz,

    hier muss ich zunächst passen. Ich verwende zum proggen meiner Megas das AVR-Stuido mit dem STK500 oder dem AVRISP mkII.

    Aber sag mal, meinst Du mit "mySmartUSB" das Produkt von myAVR und damit von Laser & Co. Solutions GmbH? Verwendest Du da nur den Progger oder hast Du gar ein myAVR-Board? Welches?
    Ich frage so weil ich habe seit Jahren Boards von denen im Schrank liegen und von dem Progger dürfte ich dann auch noch irgendwo zwei Stück rumfliegen haben und dann könnte ich das vielleicht nächstes Wochenende mal ausprobieren.

    Zeitiger werde ich vermutlich nicht dazu kommen aber wenn Du mir die Zusatzinfos hast dann könnte ich mal schauen.

    Grüße,
    Markus
     
    Collapse Signature Expand Signature
  9. Cassio

    Cassio
    Expand Collapse
    Moderator
    Mitarbeiter

    Registriert seit:
    29. Oktober 2008
    Beiträge:
    3.931
    Zustimmungen:
    1
    Sprachen:
    BascomAVR
    Hallo Heinz!

    Ich verändere meine Fusebits auch mit BASCOM....

    Wenn du einen externen Quarz benutzen möchtest, dann musst du auf alle Fälle die Einstellung Ext. Crystal/Resonator verwenden !

    Nur wenn du einen echten Oszillator hast, dann kannst du die Einstellung Ext. RC Osc. benutzen!

    Eigentlich kannst du ja fast froh sein, dass dein Porgrammer die Änderungen nicht übernommen hat..... sonst wäre dein Mega8 bestimmt nicht mehr bereit mit dir zu "reden". ;)

    Dafür müsstest du dann ggf. einen externen Oszillator anschließen und die Fusebits wieder neu einstellen.

    Ich würde auch die Einstellung für PINC6 gleich auf RESET ändern......
    Nur für den Fall, dass deine Einstellungen ja doch mal übertragen werden sollten. ;)

    Warum dein Programmer aber die Fusebits nicht neu setzt kann ich dir leider nicht sagen, da ich das gute Stück nicht kenne.
    Versuch doch einfach mal die Fusebits mittels ISP zu übertragen.

    Wünsche gutes Gelingen.....
    Cassio
     
    Collapse Signature Expand Signature
  10. Steinschnüffler

    Steinschnüffler
    Expand Collapse
    Neues Mitglied

    Registriert seit:
    21. Februar 2009
    Beiträge:
    5
    Zustimmungen:
    0
    Hi Markus,

    ja das ist der mySmartUSB von myAVR. Ich verwende eigentlich nur den Progger und einen diskreten Aufbau auf Steckboard für die Testläufe.

    Hi Cassio,

    ich wollte eigentlich nur mal den int. Takt von 1MHZ auf 8MHz zum testen ändern (ohne ext. Quarz)

    das ist ja das komische: alle Einstellungen inkl. RESET sind so original, hab da noch nicht geändert, der Reseteingang funzt auch einwandfrei wenn ich ihn gegen Masse lege.
    irgendwie komisch....

    ????? der Programmer ist mit dem µC doch über die ISP (Masse,Reset,Miso,Mosi,SCK) verbunden, oder wie meinst Du das mit der ISP??

    Erstmal Danke für Eure Antworten

    Gruss Heinz
     
  11. Cassio

    Cassio
    Expand Collapse
    Moderator
    Mitarbeiter

    Registriert seit:
    29. Oktober 2008
    Beiträge:
    3.931
    Zustimmungen:
    1
    Sprachen:
    BascomAVR
    Hallo Heinz!

    Zu erst einmal hat der ATMega8 nur eine 1MHz interne Clock....
    den intern höher zu setzen wird wohl nicht funktionieren. ;)


    Die Sache mit deinem RESET-Pin ist in der Tat sehr merkwürdig.
    Ich gehe aber mal davon aus, das sich der Mega8 noch im "Originalzustand" befindet und deine Änderungen bis jetzt nicht programmiert wurden.
    Allerdings werden die Daten ja beim Aufruf vom µC ausgelesen......
    Frag bitte Markus noch mal!

    Mit ISP meinte ich direkt vom PC mittels einfachen Parallel-Adapter und nicht mit einem USB-Programmer.
    Sorry, für meine "einfach" Wortwahl..... aber für die detaillierten Beschreibungen ist immer Markus zuständig. ;)


    Gruß,
    Cassio
     
    Collapse Signature Expand Signature
  12. uwe-ftechnik

    uwe-ftechnik
    Expand Collapse
    Neues Mitglied

    Registriert seit:
    31. Januar 2009
    Beiträge:
    65
    Zustimmungen:
    0
    Soweit ich weiss wird doch das Ändern der Fusebits erst nach erneutem einschalten der Spannung übernommen oder habe ich da etwas falsch verstanden?
    Soweit ich das Verstanden habe ist das doch zur sicherheit damit man sich die Fuses nicht verhaut.:confused:
     
    Collapse Signature Expand Signature
  13. dino03

    dino03
    Expand Collapse
    Moderator
    Mitarbeiter

    Registriert seit:
    27. Oktober 2008
    Beiträge:
    6.476
    Zustimmungen:
    2
    Sprachen:
    BascomAVR, Assembler
    Hi uwe,

    Kannst Du vergessen. Die Fuse-Bits werden programmiert und der Prozessor
    läuft nach dem Programmiervorgang wieder los und es wird alles SOFORT nach dem Programmiervorgang aktiv.
    Also freust Du dich auch SOFORT über deine Fehler, die du gemacht hast.
    So ist jedenfalls meine Info.

    Das habe ich im Datenblatt gefunden.

    Also nix mit "zur Sicherheit". Man sollte also vorher nachdenken was man
    macht :D

    Nochmal interpretiert: Die Fuses werden während des Programmiervorganges
    und nach einem Reset gelatched (zwischengespeichert). Und die Änderungen
    die man gemacht hat werden SOFORT nach dem Programmieren oder bei
    einem Reset aktiv. Außer bei der EESAVE-Fuse. Die wird SOFORT aktiv.

    Also wie bei root unter Linux :D Ich bin root ich darf das ;)
    es gibt keine Abfragen "Sind sie wirklich sicher?"
    Wenn man programmiert weiß man entweder was man da macht oder hat
    Pech und einen großen Mülleimer :rolleyes:

    Gruß
    Dino
     
    Collapse Signature Expand Signature
  14. Markus

    Markus
    Expand Collapse
    BASCOM-Experte

    Registriert seit:
    11. Januar 2008
    Beiträge:
    1.160
    Zustimmungen:
    0
    Hmmmm, hallo zusammen,

    schon sehr komisch oder? Unplausible Werte bei RESET, nicht funktionierende Programmierung usw.

    Ich stelle jetzt mal die Hypothese in den Raum, das aktuell weder das Lesen noch das Schreiben in den Mega funktioniert. Warum das so ist wissen wir noch nicht.

    Meine Vermutung ist, dass auch das Lesen nicht richtig funktioniert und somit irgendwelche Defaultwerte angezeigt werden wo viel durch Zufall richtig angezeigt wird aber somit auch unplausible Werte ausgegeben werden.

    So, wie Ihr es von mir gewohnt seit noch ein paar dumme Fragen :D :

    - mit welcher ISP Frequenz versuchst Du denn den Mega zu programmieren? Die Frequenz darf - soweit ich weiß - maximal die hälfte des Clock betragen. Niedrigere Werte sind zunächst anzuraten bis die HW sauber funktioniert. Bedeutet, wenn Du den Mega mit 1 MHz clockst so würde ich zunächst nur mit ca. 100k Baud (habe die genauen Werte nicht im Kopf) takten. Die ISP-Frequenz kann man einstellen, frag mich jetzt aber nicht genau wo da ich Deine Systemkonfiguration "noch" nicht habe.

    - funktioniert denn das Schreiben von Programmcode in den Mega zuverlässig (auf Anhieb oder musst Du manchmal 2x oder 3x prommen bis es funktioniert?


    Ich werde die nächsten Stunden/Tage mal versuchen mit dem mySmartUSB mal BASCOM zum Laufen zu bekommen. Vielleicht kann ich das Problem nachvollziehen. Kannst Du mir bitte mal Deine BASCOM Einstellungen zur Verfügung stellen. Welchen Programmer Du genau eingestellt hast und welche Programmeinstellungen in den Settings.

    Ich nehme an, dass dort der Hund begraben liegt :D

    Grüße,
    Markus
     
    Collapse Signature Expand Signature
  15. dino03

    dino03
    Expand Collapse
    Moderator
    Mitarbeiter

    Registriert seit:
    27. Oktober 2008
    Beiträge:
    6.476
    Zustimmungen:
    2
    Sprachen:
    BascomAVR, Assembler
    ISP-Frequenz

    Hi Markus,

    In der AVR ISP mk2 Userguide steht folgendes ...
    Meiner Meinung nach war es 1/4. Aber ab und zu lohnt sich das nachlesen :D

    Ich hab mit zuviel ISP-Frequenz auch schon mal Probleme gehabt :rolleyes:
    Mal ausprobieren ...

    Gruß
    dino
     
    Collapse Signature Expand Signature
  16. Markus

    Markus
    Expand Collapse
    BASCOM-Experte

    Registriert seit:
    11. Januar 2008
    Beiträge:
    1.160
    Zustimmungen:
    0
    Hallo Dino,

    danke für die Korrektur! Da lag ich mit meinen 1/2 ja a bissle daneben. Danke auch für die Referenz zum Handbuch!

    Unabhängig davon könnte dies aber die mögliche fehlerquelle sein, oder?

    Grüße,
    Ma
     
    Collapse Signature Expand Signature
  17. dino03

    dino03
    Expand Collapse
    Moderator
    Mitarbeiter

    Registriert seit:
    27. Oktober 2008
    Beiträge:
    6.476
    Zustimmungen:
    2
    Sprachen:
    BascomAVR, Assembler
    Hi Markus,

    hab ich doch gern gemacht :)

    Jau! Seh ich auch so.
    Auch wenn man den falschen Prozessortyp einstellt interpretiert der
    Programmer einiges nicht so richtig.
    Ich bin da mal in der Liste von ATmega48 auf ATmega645 gerutsch.
    Gab schöne Effekte :D

    Gruß
    Dino
     
    Collapse Signature Expand Signature
  18. Oskar01

    Oskar01
    Expand Collapse
    Mitglied

    Registriert seit:
    24. März 2008
    Beiträge:
    258
    Zustimmungen:
    0
    Hallo allerseits,
    verfolge den Thread schon seit längerem, nun wollte ich mal sehen, was passiert, wenn ich im Studio4 ein neues Projekt mit Auswahl ATMega8 eröffne,
    was mir da an "Default"-Einstellungen schon geboten wird.

    brown out detection disabled angekreuzt BODLEVEL 111
    int RC osc 8 MHZ 14 CK + 65 ms default value nicht angekreuzt
    ext crystal osc. 8MHz 14 CK + 65 ms CKSEL=1111 SUT=11 angekreuzt



    Fall vom Schemel, tatsächlich "externer Oszillator".

    Alles andere ist nicht angekreuzt.

    Hilft aber wohl konkret jetzt nicht weiter....

    Trotzdem Gruß von Oskar01
     
  19. Markus

    Markus
    Expand Collapse
    BASCOM-Experte

    Registriert seit:
    11. Januar 2008
    Beiträge:
    1.160
    Zustimmungen:
    0
    mySmartUSB....

    au man, jetzt schmeiß ich das Ding langsam gegen die Wand....

    Hallo zusammen,

    mir kocht das Blut! Jetzt sitze ich seit drei Stunden an meinem Schreibtisch, habe das mySmartUSB (ISP Progger von myAVR) ausgegraben und wollte Support leisten.

    Ich kann nur alles was hier geschrieben wurde bestätigen. Das Ding funktioniert Stand 19:58 Uhr weder mit BASCOM noch mit AVR Prog noch mit AVR-Studio. Ich kriege es NICHT zum laufen. Die ausgelesenen Fuse-Bits sind willkürlich. Obwohl der Mega8 mit internen 1 MHz läuft sagt mir der Progger ich hätte 8 MHz extern und proggen läßt sich das Device nicht die Bohne!

    Auch Programmcode bekomme ich nur teilweise oder garnicht in den Mega.

    Habe die Treiber sauber / korrekt installiert, kann mich auch mit dem USB-Device unterhalten aber dann hört es schon auf...

    so, mal sehen was ich noch rausfinde bevor mir der Kragen platz und / oder die Nacht zuende ist!

    To be continued....

    Markus
     
    Collapse Signature Expand Signature
  20. Dirk

    Dirk
    Expand Collapse
    Administrator
    Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    3.270
    Zustimmungen:
    14
    Sprachen:
    C, Assembler, Pascal
    Hi Markus,

    das hört sich ja echt schlimm an. Ich schlage vor, du machst erst mal Pause und gönnst dir ein Glas Wein oder ähnliches :D sonst kippst du uns noch vor deinem Schreibtisch vom Stuhl. Wenn du von dem Problem ein bisschen Abstand gewinnst, vielleicht platzt ja der Knoten ein anderesmal.

    Schönen Abend noch,

    Dirk
     
    Collapse Signature Expand Signature

Diese Seite empfehlen