www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie groß ist clk_I/O-Frequenz


Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag wüsche ich euch allen.

Ich bin auf ein kleines Problem gestoßen. Zur Zeit erzeuge ich ein 
PWM-Signal mit Timer0 von ATmega16, und weiß einfach nicht, wie groß die 
Frequenz ist, die der Timer bekommt?

Prescaler=1
Fast-PWM-Modus

Im Datenblatt habe ich nichts, außer einen kleinen Text, der die 
clk_I/O-Frequenz beschreibt, gefunden.

Ihr müsst doch bestimmt diese Frequenz kennen!

Danke im Voraus.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Valentin (Gast)

>Prescaler=1

-> voller CPU-Takt.

MFG
Falk

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal für die schnelle Antwort.

Meinst du die Quarzfrequenz?

Wenn ja, dann mache ich anscheinend irgendwas falsch.
Ich rechne nähmlich:
f_PWM = f_OSC / 256
f_PWM = 13.875.000 / 256 = 54.199 Hz

Gemessen habe ich ca. 5.500 - 5.700 Hz

Wäre toll, wenn du mir weiter helfen könntest.

Autor: Andreas B. (bitverdreher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
wie mißt Du denn ?

Gruß
Andy

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich messe mit einem Oszi.

Weiß du vielleicht, wie GROß ein voller CPU-Takt ist?

Autor: Andreas B. (bitverdreher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Valentin wrote:
> Ich messe mit einem Oszi.

Etwas konkreter müßte es schon sein: Wie sieht Dein Programm aus ?

Gruß
Andy

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Valentin wrote:

> Weiß du vielleicht, wie GROß ein voller CPU-Takt ist?

Wenn es jemand weiß, dann du...

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lass mich mal raten: Der Controller hat zwar irgendwie einen Quarz dran, 
aber die Fuses sind noch im jungfräulichen Auslieferungszustand, er 
weiss also nichts davon und taktet brav mit unkalibrierten 1MHz des 
internen R/C-Oszillators.

Autor: Valentin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt K. bitte keine rätzelhafte Antworten.
Ist es die Quarz-Frequenz?
Wenn ja, dann müsste doch meine Rechnung falsch sein?!

An dem Programm kann es ja nicht liegen, weil das ja läuft, oder?

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Kaiser die Quarz-Frequenz ist genau 13.875 kHz wie es oben in 
der Rechnung steht.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Valentin wrote:

> die Quarz-Frequenz ist genau 13.875 kHz wie es oben in
> der Rechnung steht.

Glaube ich dir. Aber ist dies auch die Taktfrequenz des Controllers? 
Soll heissen: Wie sind die Fuses eingestellt?

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Frage habe ich hier auch schon glaub zwei mal gestellt.

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moment bitte, ich mach grade ein Bild von den Fuses.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Valentin wrote:

> Die Frage habe ich hier auch schon glaub zwei mal gestellt.

Schon, aber keine Chance gegeben, darauf ohne Glaskugel zu antworten.

Autor: Valentin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier sind die gerade ausgelesene Fuses.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei >8MHz wird CKOPT=0 gefordert.

Autor: Andreas B. (bitverdreher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne auch Deine Programm nicht, mit dem Du die fuses setzt.
CKSEL 3..0 muß sein: 1111 - 1010 (Schau mal in das Datenblatt)

Gruß
Andy

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Kaiser, du hast vollkommen recht.

Habe den High Fuse CKOPT0 geschrieben,
und den µC neu programmiert.

Leider ändert sich nichts an der Frequenz.

Andreas B., ich habe alle 6 einstellungen von 1010 bis 1111 ausprobiert,
trotzdem keine änderung.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie ist der Oszillator geschaltet? Kondensatoren? Abstand/Kabellänge 
Pins-Quarz-Kond?

Anonsten bleibt nur noch übrig, die Anzahl Ziffern vom Quarz nochmal 
genau nachzuzählen, ob das nicht vielleicht doch 1,3xx MHz sind. ;-)

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also da stehen nur die Zahlen 13875, und unten drunter KSS1D.
Der Quarz ist mit zwei 22pF-Kondensatoren zu einem Resonator 
verschaltet, und zwar direkt am µC.

Autor: Andreas B. (bitverdreher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Programm mit dem Du testest, vermisse ich noch.....

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Woher kommt der Quarz denn? So eine Frequenz kauft man sich ja nicht, es 
sei denn man muss. Also wohl irgendwo ausgebaut.

Dann würde ich mal von einer kreativen Beschriftung und 1,3875MHz 
ausgehen. Denn dazu passt das Ergebnis.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas B. wrote:

> Das Programm mit dem Du testest, vermisse ich noch.....

Ich nicht. Siehe Posting von 17:59.

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sag mal, wenn du schon ein Oszi hast, warum misst du dann nicht mal 
direkt am Quarz? Dann könnte man sich die ganze Rumraterei sparen.

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Kaiser, es stimmt, den Quarz habe ich ausgebaut, aber seltsam 
ist auch, dass der USART auch bei 1,3875 MHz funktioniert.
Werde jetzt alles nochmal nachrechnen, und mich nochmal melden.

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, wie sieht den das Signal aus, ich messe irgentwie nur eine konstante 
Spannung von 2,5V.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Woher weisst du eigentlich, dass die UART korrekt funktioniert? Senden 
tust du in dem Programm nicht, und Empfang geht u.U. auch bei falscher 
Rate, nur halt mit falschen Daten.

Und dein Oszi zeigt trotz CKOPT (full swing osc) konstante 2,5V???

Nimm mal etwas, was zweifelsfrei ein Quarz bekannter Frequenz ist.

Autor: Andreas B. (bitverdreher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Kaiser wrote:
> Andreas B. wrote:
>
>> Das Programm mit dem Du testest, vermisse ich noch.....
>
> Ich nicht. Siehe Posting von 17:59.

Oh, sorry, hab ich übersehen. Das sieht so weit auch gut aus (abgesehen 
von der merkwürdigen Art, das Bit COM01 zu setzen).

> OK, wie sieht den das Signal aus, ich messe irgentwie nur eine
> konstante Spannung von 2,5V.

Mißt Du mit einem Tastkopf 1:10 ? Nicht daß das Oszi den Quartz zum 
verstummen bringt ;-)

Gruß
Andy

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> OK, wie sieht den das Signal aus, ich messe irgentwie nur eine konstante
Spannung von 2,5V.

Das hab ich vermutet- und welche Schlüsse ziehst du draus, nachdem dir 
jetzt genügend Hinweise vorliegen?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst ja mal was anderes testen: Einen Strom von 0x55 per UART senden 
und mit dem Oszi anschauen. Kommt direkt die Bitrate dabei raus 
(genauer: die Bitrate ist die doppelte der angezeigten Frequenz).

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie man im Programm sehen kann, arbeitet mein USART mit 115,2 kHz, und 
zwar fehlerfrei. Ich habe nämlich noch ein Testprogramm, mit dem ich ca. 
2000 "I"-Zeichen in etwa 150 ms an das Terminal in BASCOM senden kann.
Beim Empfangen ist mir auch noch nichts falsches rüber gekommen.

Außerdem bin ich auf folgende Idee gekommen, wenn ich mit dem 13875 
Quarz einen Wert von 128 vom Terminal übertrage, sehe ich ein 
Rechtecksignal mit einem Tastgrad von ca. 0,5, und bei einer Frequenz 
von etwa 5500 Hz.
Und wenn ich jetzt einen 4 MHz Quarz anschließe, sehe ich das selbe 
Signal, nur eben mit einer Frequenz von etwa 1660 Hz.

5500/1660=3,3
13875/4000=3,46

Also schließe ich daraus, dass die 13875 Zahlen 13,875 MHz heißen 
sollen.

Woran liegt es aber, dass die PWM-Frequenz um den Faktor zehn kleiner 
ist als sie sein muss?

Ich hoffe nur, ihr habt noch zeit und lust mir weiter zuhelfen.

Danke euch trotzdem schonmal an dieser Stelle.

Autor: Valentin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Forummitglieder.
Ich muss bei euch allen um Verzeihung bitten, weil ich euch den halben 
Tag gestohlen habe.

Es tut mir aufrichtig Leid. Der Fehler war an meinem Oszilloskop. Da war 
nämlich die "MAGN. x10"-Taste gedrückt.

Ich bedanke mich bei allen, die mir so lange und geduldig geholfen 
haben.

Mit freundlichen Grüßen

Valentin

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oszi-Anzeige kontrolliert? Nicht dass wir hier stundenlang über die 
MAG10 Taste eines Analogscopes brüten.

Autor: Andreas B. (bitverdreher)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Kaiser wrote:
> Oszi-Anzeige kontrolliert? Nicht dass wir hier stundenlang über die
> MAG10 Taste eines Analogscopes brüten.

zu spät ;-)

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm. Aber nur knapp. ;-)

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.