-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Externen Takt halbieren

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.07.2004
    Ort
    Nürnberg
    Alter
    36
    Beiträge
    186

    Externen Takt halbieren

    Anzeige

    Hi,
    hab da mal ne Frage! Habe hier ne fertige Schaltung mit einem externen Quarz mit 16MHz.
    Ich möchte aber mit einer geríngeren Taktfrequenz arbeiten und nicht den internen Taktgeber verwenden da dieser zu ungenau ist. Kann ich meinem Controller sagen mach bitte nur bei jedem zweiten Impuls am Takteingang was? Somit würde sich ja die Taktfrequenz halbieren lassen!
    Ach ja, sollte es relevant sein ich Prog in C auf einem Atmega128!
    Vielen Dank schon mal!!
    Ich bin keine Signatur ich mach hier nur sauber

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    42
    Beiträge
    1.140
    Der ATMega hat ein XTAL Devide Control Register (XDIV), mit dem Du den Eingangstakt beliebig zwischen 2 und 129 runterteilen kannst.
    Siehe Datenblatt S.43

    Gruß,
    askazo

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.07.2004
    Ort
    Nürnberg
    Alter
    36
    Beiträge
    186
    Hi,
    danke schonmal!
    Also ich muss das XDIVEN auf 0 setzen, dann meine entsprechenden Bits auf 0 setzen und dann XDIVEN wieder auf 1!
    Also angenommen ich will halbieren dann setz ich DIV0-6 auf 0 oder 1!
    Bin irgendwie verwirrt!
    Edit: Ok habs etz! Aber jetzt gehen meine Taster nicht mehr und meine Lichtschranke! Hat das möglicherweise Auswirkungen auf meine Aref?
    Ich bin keine Signatur ich mach hier nur sauber

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.183
    Die Wertigkeit der Bits ist normal binär, also 1, 2, 4, 8, 16, usw, in deinem Fall dann nur XDIV1 auf 1 setzen.
    Hubert

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.07.2004
    Ort
    Nürnberg
    Alter
    36
    Beiträge
    186
    Hi,
    Im Datenblatt seht als Formel für Fclk=Source Clock/129-d.
    und d sind die gesetzten Bits. Oder nicht! Steh unheimlich aufm Schlauch!
    Ich bin keine Signatur ich mach hier nur sauber

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    42
    Beiträge
    1.140
    Du willst durch 2 teilen. Also muss d in Deinem Fall 127 ergeben.
    127 binär ist 1111111. XDIVEN musst Du auch einschalten, damit der Devider aktiv wird. Wenn Du also XDIV = 0xFF setzt, sollte es gehen.

    Das XDIV Register hat übrigens Auswirkungen auf Timer/Counter0.
    Siehe Fußnote auf S.43 im Datenblatt.

    askazo

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.07.2004
    Ort
    Nürnberg
    Alter
    36
    Beiträge
    186
    HI,
    ja das hab ich gelesen, bin da auch grad drüber! Also muss ich den TIMER/COUNTER takt auf ein Viertel einstellen und dann gehts?
    Ich bin keine Signatur ich mach hier nur sauber

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.07.2004
    Ort
    Nürnberg
    Alter
    36
    Beiträge
    186
    Hi,
    aha ich kann den Asynchronen Clock vom TIMER/Counter0 nur durchj einen externen Takt verstellen!
    Das ist doof, dann muss ich überlegen wie ich des mit dem externen Takt mach!!
    Weil aktuell läuft relativ wenig!!
    Ich bin keine Signatur ich mach hier nur sauber

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Naja, wozu musst du den Takt überhaupt reduzieren, bzw. was willst du damit erreichen?

    Vielleicht gibt es ja auch eine andere Möglichkeit, die weniger Probleme verursacht.
    So viele Treppen und so wenig Zeit!

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.07.2004
    Ort
    Nürnberg
    Alter
    36
    Beiträge
    186
    Hi,
    hab des Problem das sich mein Display aufhängt!
    Denke das liegt an dem hohen Takt und den damit verbundenen EMV Störungen in der Zulietung!
    Dann wenn ich das Kabel extrem kürze läuft des Display stabil! Brauche aber leider 12cm Leitung, deswegen wollte ich den Takt so auf ca. 2Mhz runterfahren!
    Brauch abere auch den externen weil der ja um einiges genauer ist, und ich sehr exakte Wartezeiten einhalten muss!
    Vielen Dank schonmal für die Hilfe
    Ich bin keine Signatur ich mach hier nur sauber

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •