mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Unterlauf berechnen


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der GPT1 Einheit sind die Timer 4 und 3 zu einem 32 Bit Timer
zu kaskadieren. T3 soll die Zählfrequenz 625 Khz haben. Beide Timer 
sollen abwärts zählen, wobei bei jedem Unterlauf des Timers 3 der Timer 
4 um "1" dekrementiert wird. Nach 2^32 Zählschritten von Timer 3 soll 
Timer 4 Unterlaufen.

Jetzt ist die Frage:

Bei jedem Unterlauf setzen sie per ISR T4 und T3 so vor,
dass der nächste Unterlauf exakt nach einer Minute erfolgt.
Mit welchen Werten ist T4 und T3 zu beschreiben.

Kann mir einer Bitte sagen wie ich dies berechne?
Ich bitte um Lösungweg da ich das Endergebnis habe aber
keinen Lösungsweg.


Gruß Peter

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

Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> Kann mir einer Bitte sagen wie ich dies berechne?
Welcher Controller?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
c167

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das bischen Mathematik macht Dir ja schon ein 4-Klässler:

625kHz * 60s = 37500 = 0x927C

- 1 da Unterlaufinterrupt bei 0xFFFF

T3 = 0x7B
T4 = 0x92


Peter

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

Bewertung
0 lesenswert
nicht lesenswert
Ich würde einfach mal den globalen Ansatz wählen:
in einer Minute vergehen 60s *  625 000 Takte/sec = 37 500 000 Takte.
Und diese Zahl muß jetzt in die Register T3 und T4 geladen werden.
Das sind jeweils 16Bit,
dann gehört also in den T4 = int(37500000/65536) = 572
und in den Timer T3 = 37500000-65536*572 = 13408

Peter schrieb:
> Ich bitte um Lösungweg da ich das Endergebnis habe
Dadurch hast du uns gegenüber einen Vorteil...  :-/

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Och, da hab ich die Kilo vergessen einzutippen.

Also dann eben 0x023C3460


Peter

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

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger schrieb:
> Also dann eben 0x023C3460
Du darfst da noch was abziehen, wegen des Unterlaufs, der erst bei 0 -> 
0xffff erfolgt...

Also T4=0x023C und T3=0x345F

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super danke Lothar!
Ja aber was bringte eine Lösung wenn man nicht weis
wie es funktionert :D

gruß

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.