mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Intel 8051 Derivat: DS89C420: Timer0 Frage


Autor: Gregor Knappik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich betreibe einen DS89C420 und habe eine Frage zum Timer0.
Der uC wird mit einer Frequenz von 22118400 Hz betrieben.
Es geht mir darum, dass ich den T0 (Mode 2, 8Bit ,autoreload) zum
Erstellen eines Rechtecksignals verwenden möchte mit Bitraten von 1KBit
.. ca. 10KBit.
Alles darüber kriege ich problemlos hin, nur in meiner Bandbreite
nicht. Vielleicht rechne ich da etwas falsch, bitte überprüft meine
Rechnung:
Der Timer2 wird als Baudraten Generator für SCI0 verwendet mit 115200
KBit/s.
Also:
T2:
fxtal = 22118400 Hz

fbase2 = fxtal / (2*16) = 691200 Hz
Der notwendige Reloadwert beträgt also:
div2 = fbase2 / 115200 = 6, heißt also die SFR für T2 werden mit -6
geladen.

Nun zum T0, die fbase0 ist genauso hoch wie vom T2, ich dachte man
teilt hier durch 12 nicht durch 8. Wie kann ich diesen Teiler
beeinflussen?

fbase0 = 22118400 / 8 = 691200 Hz
div2 = fbase0 / 9600 = 72 Ok
div2 = fbase0 / 4800 = 144 ok
div2 = fbase0 / 2400 = 288 NOK


Ich sehe nun folgende Möglichkeit:
1) Statt den 8bit Timer 16Bit nehmen, aber ich kappier nicht wie ich
dann den Timerwert manuell nachladen kann (bei T0 16Bit gibt es ja kein
auto-reload, oder?)

2) Den Teiler beim Timer0 (immer noch 8) erhöhen, aber wie?

Über Tipps freu ich mich sehr! Viele Grüße
Gregor

Autor: Gregor Knappik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ups kleiner denkfehler: nochmal die rechnung

T2:
fxtal = 22118400 Hz

fbase2 = fxtal / (2*16) = 691200 Hz
Der notwendige Reloadwert beträgt also:
div2 = fbase2 / 115200 = 6, heißt also die SFR für T2 werden mit -6
geladen.

Nun zum T0, die fbase0 ist genauso hoch wie vom T2, ich dachte man
teilt hier durch 12 nicht durch 8. Wie kann ich diesen Teiler
beeinflussen?

fbase0 = 22118400 / (2*16) = 691200 Hz
div2 = fbase0 / 9600 = 72 Ok
div2 = fbase0 / 4800 = 144 ok
div2 = fbase0 / 2400 = 288 NOK


Also nicht 8 sonder 32. Nun, wie kann ich diesen Teiler beeinflussen?

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.