Willkommen in unserer Community

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

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

Divide clock by 8 internally

Dieses Thema im Forum "FAQ" wurde erstellt von AVR-Billy, 29. Oktober 2017.

  1. AVR-Billy

    AVR-Billy Mitglied

    Registriert seit:
    19. Juni 2017
    Beiträge:
    40
    Zustimmungen:
    0
    Ort:
    Remscheid
    Sprachen:
    BascomAVR
    Map
    Hallo Gemeinde!

    Ich müsste bitte mal wissen, ob die Einstellung "Divide clock by 8 internally" auch bei
    externem Takt , z.B. vom Resonator oder Crystal , auch greift ? Also wenn ich z.B. einen
    2 MHz Quarz anschliesse und "Divide clock by 8 internally" anhake, ob der Takt dann 500 KHz
    beträgt ?

    Vielen Dank & Gruss
     
  2. Dirk

    Dirk Administrator Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.070
    Zustimmungen:
    100
    Ort:
    Mittelhessen, Giessen
    Sprachen:
    C, Assembler, Pascal, C++, PHP, Java
    Map
    Ich denke du meinst das Fusebit CKDIV8 bei AVR.

    Dieser Prescaler wirkt auf
    • Quarzoszillator XTAL
    • Externer Takt an XTAL2
    • Quarzoszillator TOSC und
    • interner RC Oszillator
    Schau sicherheitshalber mal in das Datenblatt im Kapitel
    System Clock and Clock Options


    2MHz Quarz an XTAL ergibt dann 250kHz nicht 500kHz Systemclock
     
  3. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    Um welchen Controller gehts denn konkret?
    Bei Älteren gabs welche mit diskreten internen Frequenzen.
    Halbwegs aktuelle Controller besitzen üblicherweise einen System Clock Prescaler, der die eingestellte Clocksource runterteilt.
    Der Teiler kann auf unterschiedliche diskrete Werte zur Laufzeit einbgestellt werden - eine Fuse kann den Zustand beim Reset festlegen (Teiler1 oder Teiler8).
    Bei einigen Controllern kann die Clocksource (nur) zur Laufzeit umgestellt werden (inklusive Prescaler), diese startetn dann immer erstmal mit 1MHz aud dem internen RC-Oszi.

    Im Datenblatt des Controllers findest Du üblicherweise ein Kapitel "System Clock and Clock options" oder ähnlich, da gibts dann auch ein Blockschema zu.
    (Obwohl in irgendeinem DB da auch mal der System Clock Prescaler fehlte... aber später beschrieben war)
     
  4. AVR-Billy

    AVR-Billy Mitglied

    Registriert seit:
    19. Juni 2017
    Beiträge:
    40
    Zustimmungen:
    0
    Ort:
    Remscheid
    Sprachen:
    BascomAVR
    Map
    Hallo ...

    Hoppla,sorry. Habe mich vertan. Meinte auch 4MHz , nicht 2MHz, da ich auf 500KHz kommen möchte. Und offenbar gibt es keine halbhohen Quarze mit 500KHz (?!)...Es geht aber nicht nur speziell um einen Controller. Möchte generell wissen, ob das "divide clock by 8 internally" auch auf an XTAL1/2 angeschlossene Takte wirkt. Wenn konkret,dann der 2313 und der tiny44.
    Aber Dirk schieb ja, dass dem so ist.
    Ich gucke aber nochmal in den entsprechenden Kapiteln.

    Danke Euch.
     
  5. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.698
    Zustimmungen:
    38
    Ort:
    Hennigsdorf
    Sprachen:
    BascomAVR, Assembler
    Map
    Beim Tiny2313 ist im Datenblatt (zumindest in der L-Version) kein Prescaler eingezeichnet - der hat den aber.
    Der interne Oszillator kann nominal auf 4 oder 8MHz arbeiten.
    Diese Frequenz landet dann neben den anderen Sources (->Dirk) auf dem Clock-Multiplexer.
    Der Multiplexer speist den Prescaler, der einen diskreten Teiler besitzt (1, 2, 4, 8, 16, 32, 64, 128, 256).
    Beim Reset wird der Prescaler in Abhängigkeit der CKDIV8-Fuse mit 1 oder 8 beladen.
    Du kannst den aber im Programm "Umsetzen".
    Deine 500kHz kannst Du also auch mit Teiler8 aus den internen 4MHz oder mit Teiler16 aus den internen 8MHz gewinnen.

    Beim Tiny44 ist der Prescaler eingezeichnet.
    Ansonsten im wesentlichen dasselbe - allerdings hat der interne RC hier immer 8MHz.

    Ob Dir die Genauigkeit eines internen Oszillators ausreicht, mußt Du entscheiden. Meist gibt es nur einen Fabrik-Kalibrationswert für 8MHz, oder es wird default dieser geladen.
    Natürlich kannst Du das OSCCAL auch wieder selbst zur laufzeit beschreiben (ggf mit einem vorhandenen aber nicht automatisch geladenen Fabrik-Calibrationswert)
     
    #5 LotadaC, 29. Oktober 2017
    Zuletzt bearbeitet: 29. Oktober 2017
  6. Dirk

    Dirk Administrator Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.070
    Zustimmungen:
    100
    Ort:
    Mittelhessen, Giessen
    Sprachen:
    C, Assembler, Pascal, C++, PHP, Java
    Map
    LotadaC hat ja schon geantwortet, da ich es schon geschrieben hatte, nochmal als Ergänzung ...

    Wenn du mit "divide clock by 8 internally" das Fusebit CKDIV8 meinst, ja beide Mikrocontroller verfügen über dieses Fusebit und
    teilen den Oszillatortakt durch 8 wenn das Fusebit programmiert (=0) ist.
    (CKDIV8 ist von Werk aus programmiert)

    Bei 4MHz Quarz erreichst du dann 500kHz Systemtakt.

    In Verbindung zu CKDIV8 such auch mal im Datenblatt nach dem Register CLKPR.

    upload_2017-10-29_14-25-18.png
     
  7. dino03

    dino03 Moderator

    Registriert seit:
    27. Oktober 2008
    Beiträge:
    6.663
    Zustimmungen:
    11
    Sprachen:
    BascomAVR, Assembler
    Map
    Hi,

    es gibt aber 500kHz Keramikresonatoren. Es gibt sogar welche die noch niedriger schwingen.
    Wenn es nicht auf ppm genau sein soll dann muß man kein Quarz einsetzen. Keramikresonatoren gibt es als 2polig und auch als dreipolig mit bereits eingebauten Bürdekondensatoren.

    Gruß
    Dino
     

Diese Seite empfehlen

  • Über uns

    Unsere immer weiter wachsende Community beschäftigt sich mit Themenbereichen rund um Mikrocontroller- und Kleinstrechnersysteme. Neben den Themen Design von Schaltungen, Layout und Software, beschäftigen wir uns auch mit der herkömmlichen Elektrotechnik.

    Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  • Coffee Time

    Unser makerconnect-Team arbeitet hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und unser eigener makerconnekt-Server regelmäßig gewartet wird. Wir nehmen das Thema Datensicherung und Datenschutz sehr ernst und sind hier sehr aktiv, auch sorgen wir uns darum, dass alles Drumherum stimmt!

    Dir gefällt das Forum und die Arbeit unseres Teams und du möchtest es unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft, unser Team freut sich auch über eine Spende für die Kaffeekasse :-)
    Vielen Dank!
    Dein makerconnect-Team

    Spende uns! (Paypal)