Fusebits-Entschlüsselung

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Hans1967 wrote:

      ICH WEISS DAS DA NOCH 2 BIt Fehlen!
      DARUM GING ES MIR HIER NICHT!

      ES GING MIR NUR UM DIE fusebit KLA 987!!!
      sonnst nix!!

      ist besser ich klemme hier ab und hole mir den Pasierschein A38 ! dann weiß ich gleich wohin ich dann am Besten gehe!
      Es gilt als unfreundlich, Großbuchstaben zu verwenden.

      Ich verstehe nicht, was du dich an den Fusebits so festbeißt.
      Ich programmiere die Dinger schon seit es sie gibt und ich habe noch nie die Fusebits so verwendet wie du das versuchst.
      Es steht doch im Klartext daneben, wozu brauchst du dann noch irgendwelche Bits?
      Und selbst wenn, neben dem Klartext stehen deine Bits.
      Such dir den entsprechenden Text raus und dann hast du deine Bits.
      Hatte ich das nicht schon in der ersten Antwort hier im Thread geschrieben? a_27_b277ca12
    • Hans1967 wrote:

      Dazu noch die 2 Bits SUT = 10 für 14CK+4ms oder SUT = 11 für
      14CK+64ms.
      Manche Brennprogramme kleben die zusammen, also CKSEL+SUT, 110110
      oder 110111
      Die kleben sie nicht zusammen sonder brauchen ein Byte = 8bit zum übertragen.
      Aber ich glaube nun den Grund der "Lernresistenz " zu kennen.
      Der Avr und wir setzen bit 4 und 5 (Sut) vor bit3-0 (Cksel) und nicht hintendran.
      Und wenn das schon falsch ist wo würden dann bit 6 und 7 stehen?

      Michael wrote:

      Es steht doch im Klartext daneben,
      Leider bleiben da aber mehrere Möglichkeiten die nicht weiter beschrieben werden. Da ist es schon verständlich das man wissen will was da nun der Unterschied ist / richtig wäre.

      The post was edited 1 time, last by Pluto25 ().

    • @Hans1967 auch ich, zum letzten mal. Schau noch einmal in Tabelle 20.5, linke Spalte in der Tabelle, da werden die bits nummeriert. Welche bits sind sut1 und sut0? Dann schaue in dein Handbuch, wie die bits angeordnet werden und mach das mal mit sut1 bis cksel0. Dann hast du deine Kombination für KLA987.
      Ich finde es grundsätzlich gut, wenn man sich mit dem Datenblatt befasst. Das hast du ja getan und auch ein richtiges Ergebnis, siehe post#28, gefunden. Das wurde auch bestätigt. Dann verdrehst du plötzlich die bits, wunderst dich, dass jetzt nach Datenblatt nix mehr vernünftiges raus kommt. Und jetzt bestehst du beinhart drauf, dass deins richtig und das Datenblatt wohl nicht so wichtig zu nehmen ist.
      Es scheinen dich die Hinweise unsererseits zu nerven, auch recht, ich geb' keine mehr.

      Noch was hinterher: Wenn wir Bohnen in den Ohren haben, hast du Gurken auf den Augen.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------

      The post was edited 1 time, last by tschoeatsch ().

    • Nun hätte ich auch Fragen.

      Ist es nun wirklich nicht so, dass alle Mikrocontroller der AVR-Serie so ausgeliefert werden, dass sie beim ersten Einschalten mit 1MHz über den internen RC-Oszillator getaktet werden.

      Durch die so genannte Fuse-Bits, lassen sich für den internen RC-Generator auch noch die Frequenzen 2MHz, 4MHz und 8MHz einstellen oder.

      Bei der Frequenz, die durch einen RC -Schwingkreis erzeugt wird, ist die Toleranz wesentlich größer, als bei einem Quarzoszillator. Benötigt man genaues Zeitverhalten im Mikrosekundenbereich, oder muß die Taktfrequenz mit einer anderen Komponente korrespondieren (z.B. bei der seriellen Schnittstelle zum PC), so ist dem internen RC-Oszillator ein externer Quarz vorzuziehen.
      Der Quarz ersetzt im Prinzip die interne RC- Beschaltung. Also ist es für eine Takterzeugung nur wichtig, wenn mit Konfiguration des Mikrocontrollersein externer Quarz oder der interne RC-Taktgenerator verwendet wird.

      Wird ein externer Quarz gewählt muss auch einer angeschossen sei(die Größe ist erst mal nicht so wichtig, wichtig ist derinterne Osziloator schwinkt erst mal und versorgt den CPU mit Takte. Also wenn CKSEL = 1111 undSUT 11 muss auch ein Quarz angeschlossen sein. Ist mir Bekannt das tatsächlich für die Taktgebung gleich mehrere Fusebits Einstellungen parallel verändert werden können um die interne Takterei auf Optimum zu stellen. Ist doch kein PC wo sogar die Ram- oderTimerbausteine ein eigen Taktgeber haben.

      So habe ich es mal kennen glernt. Muss ja nicht mehr stimmen.

      CKSEL SUT

      Bit 3 2 1 01 0

      Interner RC-Osz., 8MHz0 1 0 01 0
      Externer hochfreq. Quarz1 1 1 11 1
      Externer Taktgenerator1 1 1 11 0

      Wenn ich gerade mal angemeldet bin. Muss ich gleich mitfragen kann ein Quarz ein Takt liefern und an welchen Beinchen kommt er raus. Muss nicht präzise sein Antwort Rechts oder Links reicht mir schon.

      Danke Vorab für Hilfe.

      Gruß
    • fredred wrote:

      Durch die so genannte Fuse-Bits, lassen sich für den internen RC-Generator auch noch die Frequenzen 2MHz, 4MHz und 8MHz einstellen oder.
      Das hängt ganz vom verwendeten Controller ab und kann nicht pauschalisiert werden.

      fredred wrote:

      so ist dem internen RC-Oszillator ein externer Quarz vorzuziehen.
      Der interne Oszillator ist schon ziemlich genau und ein Quarz kann auch Toleranzen aufweisen.
      Die externen RC-Oszillatoren hingegen sind nicht so genau wie ein externer Quarz.

      fredred wrote:

      kann ein Quarz ein Takt liefern und an welchen Beinchen kommt er raus.
      Nein, denn dazu braucht er immer eine Oszillator-Schaltung die den Quarz zum schwingen bringt.
      Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem.
    • Hans1967 wrote:

      cksel3...1 = (110) = 3,0-8,0Mhz
      cksel0 = (1)
      sut = (11)

      tu alles zusammen....
      110111
      so Hans... jetzt schreibst du dein "tu alles zusammen" anders herum . Und zwar so "1" für cksel 1 , "11" für sut 1 , und "110" für cksel 3 = ergibt " 1/11/110" also " 111110"
      und das ist dann in der KLA 987 gleich eine externes Quarz mit den Werten vom 3 bis 8 Mhz . Wenn in deiner Auswahl steht "reseved" dann ist das vom Hersteller
      als Option für andere zukünfige Dinge gedacht. Also wird dies von uns nicht benutz.
      Als nächstes wird der Teiler durch 8 noch umgeschrieben..in der Fusebit C -> da setzen wir auf "disable" (ausgeschalten) also eine Eins . Dann habe wir den Taktausgang
      das Fusebit B , der bleibt auf eins ( in unserem fall jetzt -> brauchen wir nicht).

      Jetzt haben wir wenn wir alles zusammen nebeneinander schreiben würden " 1 1 1 11 110 " . Nun sehen wir was da steht. Die erste Eins für den Teiler. Die 2. Eins für
      den Taktausgangspin ( beim 4313 der Pin D.2) die 3. Eins für den Cksel 1 , dann die 11 für Sut 1 und zu guter letzt 110 für Cksel 3.
      Cksel + Sut 1 + Cksel3 ist die Fuse KLA987 >111110<

      Hoffe das ich das so nun richtig erklärt habe.

      Mike
    • Okay. Habe die ganzen Cksel und Sut nicht aufgetröselt. Dacht mit aber das er es damit erstmal versteht wie sich das alles zusammensetzt.
      man liest immer von Bit 0 bis Bit 7 . Cksel0 , Cksel1 , Cksek2 , Cksel3 , Sut 1 , Sut 0 , Cksel 0 , Ckdiv .
      0 1 1 1 1 1 1 1
      Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7
      geschrieben wird aber rückwärts.

      Und dein Zitat von Tschoetsch zeigt es ja wie und was geschrieben werden kann und muss.
    • @Helimike0705 hm, wie liest du Dezimalzahlen, auch vom Einer aus? :D Die Nummerierung der bits ist doch gleich dem Exponent. Ist bei Dezimalzahlen auch nicht anders. Das niederwertigste steht rechts, ob's bit0 ist, oder der Einer.
      Ich bin schon wieder weg a_71_f9c57bbe
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------